- Как профессионально пользоваться калькулятором Windows 10
- Переключение между режимами калькулятора
- Стандартный режим
- Инженерный режим
- Режим программиста
- Режим расчета даты
- Преобразование измерений в калькуляторе
- Сохранение значений в памяти
- История вычислений калькулятора
- Доступ к истории калькулятора
- Удаление истории калькулятора
- Горячие клавиши Калькулятора
- На что способен Калькулятор Windows
- Запускаем Калькулятор
- Спорим вы не знали эти возможности калькулятора Windows 10
- Журнал калькулятора и работа с памятью
- Калькулятор поверх всех окон
- Вычисление даты
- Преобразование величин
- Значит, хотите запустить Windows 10 на калькуляторе? Ну ладно
- Предыдущие работы
- Уточняем системные требования Windows
- UEFI и ACPI
- SMBIOS
- Таймер и расширения HAL
- Покажи, как это работает!
- Где Secure Boot и TPM?
- Что насчёт драйверов?
- Можно ли загрузить Windows RT 8.1?
- Но я хочу загрузить Linux тоже!
- Но зачем?
Как профессионально пользоваться калькулятором Windows 10
Встроенный калькулятор Windows прошел долгий путь с момента его появления в Windows 1.0 в 1985 году. Он включает в себя различные режимы, вычисление даты и некоторые удобные функции ежедневных преобразований.
Переключение между режимами калькулятора
Как вы увидите ниже, калькулятор делает намного больше, чем простое сложение, вычитание, умножение и деление. Вы можете выбрать один из четырех режимов, в зависимости от ваших потребностей.
Чтобы переключиться между режимами, нажмите кнопку меню в верхнем левом углу, а затем выберите режим из следующих параметров.
Вот на что способны эти режимы.
Стандартный режим
Стандартный режим полезен для основных математических операций, таких как сложение, вычитание, умножение и деление, а также поиска квадратных корней, вычисления процентов и работы с простыми функциями. Вероятно, это режим, в котором большинство людей будет чувствовать себя комфортно.
Инженерный режим
Инженерный режим калькулятора представляет собой расширенный в стандартный режим, предоставляя вам дополнительные функции, которые вы найдёте в типичном научном калькуляторе. В дополнение к операторам стандартного режима он содержит функции типа log, mod, exp, тригонометрические градусы и SIN, COS и TAN.
Режим программиста
Этот режим предназначен для программистов. Он добавляет возможность переключения между различными системами счисления – двоичная, десятичная, шестнадцатеричная и восьмеричная. Он также добавляет новые операции для работы с логическими затворами: Or, And, Xor, Not и битами – Lsh, Rsh, RoR и RoL.
Кроме того, режим Программист позволяет переключаться между байтами (8 бит), Word (16 бит), DWord (32 бита) и QWord (64 бита) и имеет возможность переключения на бинарный бит.
Режим расчета даты
Режим расчета даты – удобный инструмент, который позволяет рассчитать разницу между двумя конкретными датами. Это идеально подходит для выяснения таких вещей, сколько дней осталось до следующего отпуска.
Все, что вам нужно сделать, это выбрать дату начала и окончания, а калькулятор будет определять месяцы, недели и дни между ними.
Преобразование измерений в калькуляторе
Вы нашли рецепт, но он требует использования жидких унций, или совершаете покупки в интернете, а все цены в евро?
Нажмите кнопку меню калькулятора и выберите тип преобразования из списка в разделе «Преобразователь».
Нажмите первое измерение – это будет вход – и выберите единицу измерения из предоставленного списка.
Нажмите второе измерение – это будет выход – и выберите там единицу измерения.
Теперь введите своё значение, и калькулятор преобразует его для вас. Он также показывает несколько других связанных преобразований внизу.
Сохранение значений в памяти
Если вы часто используете определенные числа и не хотите вводить их в свой калькулятор каждый раз, хранить их в памяти калькулятора. Это супер полезная функция, доступная в режимах стандарт, инженерный и программист. Вы будете управлять функциями памяти с помощью кнопок MS, MR, M+, M- и MC.
Вот как они работают:
- MS: сохранить новое значение в памяти.
- MR: вставить значение из памяти.
- M+: добавляет значение из поля ввода к самому последнему сохраненному значению.
- M-: вычитает значение на входе из последнего сохраненного значения.
- MC: очищает все значения из памяти.
- M: отображает все значения, сохраненные в памяти.
Использование кнопок MR, M+ и M- работает также, как и на физическом калькуляторе. Однако, в калькуляторе Windows у вас также есть доступ к любым другим значениям, которые вы сохранили в памяти во время текущего сеанса. Чтобы увидеть их, нажмите кнопку M со стрелкой вниз справа. Затем вы можете щелкнуть любое значение, чтобы вставить его.
Если вы предпочитаете, чтобы ваша очередь памяти всегда открывалась, измените размер калькулятора по горизонтали, и тогда она должна открыться.
История вычислений калькулятора
Если вам нужно взглянуть на все вычисления, выполненные в текущем сеансе, они хранятся в удобной истории калькулятора. Калькулятор сохраняет историю даже при переключении режимов, но она удаляется, когда вы закрываете приложение.
Доступ к истории калькулятора
Существует два способа доступа к истории внутри приложения. Первый – щелкнуть кнопку истории, расположенную в верхнем правом углу. Это показывает список последних вычислений. Щелчок по чему-либо в истории загрузит его обратно в поле ввода калькулятора.
Если вы хотите сохранить историю открытой, измените размер окна калькулятора по горизонтали, и оно должно появиться, когда окно достаточно велико.
Удаление истории калькулятора
Вы можете удалить отдельные записи из своей истории или удалить всю историю сразу.
Чтобы удалить отдельную запись, щелкните её правой кнопкой мыши и выберите команду «Удалить». Чтобы удалить всю историю, щелкните значок маленькой корзины в правом нижнем углу панели.
Горячие клавиши Калькулятора
В приложении Calculator доступны сочетания клавиш, позволяющие выполнять некоторые вычисления намного легче и быстрее. Полный список этих сочетаний можно найти на странице «Горячие клавиши Microsoft Windows», но вот несколько наиболее полезных:
- Alt + ( 1 — 4 ): Удерживайте нажатой клавишу Alt и нажмите любое число от одного до четырех, чтобы переключиться в разные режимы калькулятора.
- Del : очистить текущий вход (это работает как ключ CE на калькуляторе)
- Esc : очистить все входные данные (это работает как клавиша C на калькуляторе)
- Ctrl + H : включение и отключение истории.
Наверное, это больше, чем вы когда-либо хотели знать о калькуляторе Windows. Тем не менее, это недооцененный инструмент, который содержит множество полезных функций.
На что способен Калькулятор Windows
Стандартный калькулятор Windows — одна из тех программ, которые достойны занять своё место на вашем рабочем столе и быть всегда под рукой. Если сомневаетесь, то эта статья для вас!
Рассмотрим возможности Калькулятора, который встроен по умолчанию во все версии Windows 7/8.1/10. Если научитесь правильно его использовать и узнаете о всех его возможностях, то у вас отпадет надобность искать конвертер валют или калькулятор дней online. Эти и многие другие возможности уже встроены в Калькулятор.
Запускаем Калькулятор
Калькулятор можно запустить несколькими простыми способами:
- Если у вас Windows7, то нажмите Пуск -> Все программы -> Стандартные -> Калькулятор.
- Если у вас Windows 10, то нажмите Пуск и найдите в списке программ или на начальном экране.
Если у вас нет калькулятора на начальном экране, то найдите его в списке программ, щёлкните правой кнопкой и выберите «Закрепить на начальном экране».
Для добавления ярлыка на Рабочий стол, просто захватите калькулятор в списке программ или на начальном экране и перетащите на Рабочий стол.
Спорим вы не знали эти возможности калькулятора Windows 10
Калькулятор в Windows 10, по моим наблюдениям, обновился впервые с 2000 года или даже еще раньше. И на самом деле сегодня это очень мощное приложение! Далеко не все знают обо всех функциях калькулятора, поэтому решил поделится с вами наиболее интересными и полезными.
Журнал калькулятора и работа с памятью
Мало кто догадывается, что если в стандартном калькуляторе потянуть за правый край и расширить окно калькулятора то появится дополнительная панель с журналом вычислений и просмотром ячейки памяти.
Довольно удобно бывает посмотреть, что вы там считали и не совершили ли вы ошибку в вычислениях.
Калькулятор поверх всех окон
Еще одна не очевидная особенность для многих — это сделать калькулятор поверх всех окон. Кнопочка для этого появилась не так давно с очередным обновлением системы.
Нажав ее вы закрепите калькулятор в уменьшенном виде поверх всех окон. Это бывает удобно когда вы ведете расчеты переключаясь между вкладками браузера или разными документами.
Вычисление даты
Раньше в калькуляторе было всего 3 режима:
В калькулятор windows 2010 добавили еще режим вычисления даты. С его помощью можно посчитать количество дней, недель, месяцев и лет между датами.
Преобразование величин
Кроме вычисления даты добавили так же конвертер величин, который позволяет преобразовывать значения из одних единиц измерения в другие. Причем делает он это весьма прикольно, полистайте скриншоты. Особенно мне понравилась вкладка с конвертером калорий.
Значит, хотите запустить Windows 10 на калькуляторе? Ну ладно
HP Prime G2 под операционной системой Windows 10 IoT
О запуске Windows на стандартном калькуляторе можно было только мечтать до появления HP Prime G2. Ещё никогда на рынок не выходил калькулятор на таком мощном железе. И что ещё более важно, HP выбрала процессор ARMv7-A! В этой статье обсудим, как установить на устройство UEFI и ACPI.
Спецификации SoC на HP Prime G2. В SoC NXP i.MX 6ULL (Ultra Lite) установлен одноядерный процессор Cortex А7
Предыдущие работы
Мой друг Вэньcинь Чжан (Zephray) сделал фундаментальную работу по обратной разработке GPIO и технических характеристик калькулятора. Кроме того, ему удалось портировать на калькулятор рабочую U-Boot и Linux.
Согласно TI-Planet, в калькуляторе предусмотрено большое количество тестовых пинов, включая SD/MMC, JTAG и UART.
Сара (winocm) изучила возможность запуска Windows RT на платформе Qemu. К 2019 году кое-что изменилось, но статья не потеряла своей ценности.
Microsoft заключила соглашение NXP, чтобы обеспечить поддержку Windows 10 IoT на микросхемах iMX SoC. Таким образом, технически Windows 10 IoT должна работать на этом калькуляторе (как и вообще, Windows на ARM).
Уточняем системные требования Windows
Системные требования для запуска ОС семейства Windows 10 указаны на сайте Microsoft Docs. Даже самые минимальные требования больше, чем у Linux: системе нужен процессор x86/x64/ARMv7/AArch64, по крайней мере 256 МБ памяти и 2 ГБ на диске. Требуется функциональная прошивка UEFI, полные таблицы ACPI и SMBIOS.
В нашем случае на устройстве недостаточно места (и Windows также не поддерживает Raw SLC NAND), но к калькулятору можно подключить загрузочное устройство по USB.
Сара перечисляет архитектурные требования к ARMv7 для запуска Windows. За прошедшие годы требования немного изменились, вот как они выглядят на данный момент:
Наш калькулятор соответствует этим жёстким требованиям. Однако SoC по умолчанию работает на 396 МГц, это меньше базового уровня 400 МГц/1 ГГц. Также сообщается о 250 МБ системной памяти, в то время как минимальное требование для системы с UI составляет 512 МБ. Но она загружается!
По данным cpuinfo из WinDbg, SoC работает на частоте 396 МГц
Думаю, можно ещё сильнее сократить требования. Если я правильно помню, Windows Server Nano хватает около 150 МБ памяти для загрузки на системах amd64.
UEFI и ACPI
Я уже несколько раз писал о реализациях UEFI, так что здесь ничего нового. В основном UEFI состоит из набора драйверов устройств и компонентов ядра TianoCore. Таблицы ACPI копируются из репозитория Windows IoT iMX Project Mu и урезаются.
UEFI загружается из U-Boot. iMX по умолчанию не разрешает доступ к невыровненной памяти, и это вызывает много проблем на этапах UEFI DXE и BDS, так что следует включить его как можно раньше.
Компилятор с аппаратной поддержкой float ускоряет загрузчик примерно с 30 до 4 секунд. На платформах ARMv7 Windows заявляет поддержку VFPv3+.
Инициализация экрана, а также некоторые назначения I/O mux выполняются в U-Boot. Сейчас U-Boot не поддерживает интерфейс 24/32bpp Serial RGB LCD, поэтому я добавил поддержку Serial RGB через реализацию фреймбуфера iMX в ядре Linux. Код ещё не в мастере, но я позже передам его туда.
Кажется, LCD работает. Вся процедура:
- Запустить uboot.
- Найти пин для подсветки экрана.
- Найти пин для SPI и последовательность инициализации LCD.
- Найти пин I2C и настроить PMIC через I2C для правильного напряжения.
Демонстрация работы интерфейса Serial RGB LCD в U-Boot
UEFI просто берёт фреймбуфер, выделенный U-Boot, и регистрирует протокол вывода графики Graphics Output Protocol. К сожалению, разрешение экрана не удовлетворяет минимальным требованиям консоли 80*25, поэтому я изменил компоненты Console DXE, добавив новый режим 40*12.
Компонент EDK2 утверждает, что разрешение экрана не соответствует минимальным требованиям консоли 80*25
Перед хаком компонентов консоли я сделал небольшой трюк, зарепортив разрешение 640*480 в протокол UEFI GOP. Трюк также помог получить диагностическую информацию из Диспетчера загрузки Windows, потому что разрешения 320*240 недостаточно для отображения кода ошибки. Я периодически запускаю из фреймбуфера block-transfer (BLT) в файловую систему и сохраняю BMP-файлы на USB-накопителе.
Хак делает доступным режим 80*25 с некоторыми графическими артефактами
После подключения нового режима качество изображения значительно улучшается.
Режим 40*12
Режим 40*12
Вот как выглядит сообщение диспетчера загрузки Windows на разрешении 320*240:
Первая попытка терпит неудачу ещё на этапе служб загрузки UEFI. Из-за маленького экрана не виден код ошибки.
Block-transfer (BLT) из фреймбуфера позволяет сохранить сообщение в графический файл и прочитать его
По поводу поддержки USB. К счастью, USB в iMX6 полностью соответствует стандарту, а поддержка включена в последние версии Windows. Поэтому, как только я настроил контроллер OTG в режим хоста и передал область MMIO в UEFI и Windows, он волшебно работает без проблем. Но мы не нашли VBus на порту OTG (предполагаем, что там какая-то схема DC-DC, управляемая SoC или PMIC, но это лишь непроверенная гипотеза), поэтому для корректной работы порт нужно запитывать через некий внешний источник.
SMBIOS
Убедитесь, что правильно сообщаете в SMBIOS размер памяти и адресные области, или Windows начнёт вытворять невероятно странные вещи ™.
Отладчик Windows не может считать память из-за неправильной конфигурации SMBIOS
Таймер и расширения HAL
Кажется, мы справились с конфигурацией памяти (LPAE), но наверняка появится какая-то другая проблема. О да…
Итак, загрузка Windows пока доходит только до этого этапа.
Если не найден подходящий системный таймер, Windows обращается к некоему предполагаемому и недопустимому адресу памяти
Windows не загрузится, если не найден контроллер прерываний или системный таймер. Системное время можно зарегистрировать с помощью таблицы GTDT (таблица архитектуры ARM) или расширений HAL через таблицу CSRT.
iMX6ULL поставляется с тремя таймерами: iMX GPT (Generic Purpose Timer), EPIT (Enhanced Periodic Timer) и ARM Architectural Timer. Последний появился только в iMX6UL/ULL, тогда как предыдущие системы iMX6 SoC работали на старых ядрах вроде Cortex A15 без поддержки архитектурного таймера. Microsoft реализовала для системного таймера расширение EPIT HAL, но оно сначала не загружалось из-за несоответствия идентификатора оборудования в таблице CSRT и системном образе (я загрузил более ранний FFU для iMX6 Solo). Поэтому когда таймер недоступен, Windows будет отчаянно пытаться инициализировать предполагаемый таймер, и система упадёт из-за недопустимого доступа к памяти.
В документации iMX6ULL упоминается архитектурный таймер, но без подробностей о процедуре инициализации. Счётчик таймера можно инициализировать кодом EDK2, но GIC PPI (Per Processor Interrupt) не будет корректно работать. Однако Windows успешно инициализирует и использует таймер через таблицу GTDT.
В данный момент UEFI использует таймер EPIT и отключает его при передаче в Windows. В свою очередь, Windows инициализирует таймер GPT. В какой-то более поздний момент UEFI тоже может переключиться на GPT с надлежащей процедурой инициализации.
Некоторым периферийным устройствам требуется расширение HAL для контроллера Smart DMA (SDMA), его не слишком трудно загрузить.
Покажи, как это работает!
Если интересно, насколько медленно это загружается, то около трёх с половиной минут.
Видео на ускоренной скорости 2х:
Где Secure Boot и TPM?
На самом деле это необязательно. Но поскольку OP-TEE поддерживает iMX6/7/8, вы можете запустить Secure Monitor в TrustZone (TZ) и реализовать эти сервисы через вызовы (Secure Monitor Calls) от EL1/PL1.
На самом деле официальная реализация iMX Windows IoT поставляется с OP-TEE, но я её проигнорировал ради экономии памяти.
Что насчёт драйверов?
В репозитории Windows 10 IoT BSP лежит множество драйверов для iMX6/7/8. Драйвер USB работает из коробки, как уже упоминалось. Для калькулятора нужны ещё драйверы тачскрина и клавиатуры.
Они доступны в дереве ядра Linux, так что не должно быть слишком сложно портировать их на Windows.
Можно ли загрузить Windows RT 8.1?
Возможно. Обновление: Windows RT 8.1 не загрузится, только более поздние версии. Windows PE не загрузится в режиме ramdisk, поскольку 256 МБ памяти недостаточно. Мне не удалось запустить режим flat boot, после перечисления устройств (включая USB-накопитель) он входит в какой-то цикл без дальнейшей инициализации.
HP Prime G2 загрузил Windows, которая запустила приложение калькулятора
Блокнот на калькуляторе
Блокнот на калькуляторе пытается отправить текст на печать
Но я хочу загрузить Linux тоже!
Есть два варианта:
- Просто использовать U-Boot для загрузки zImage, дерева устройств и initrd.
- Переместить области памяти FD, MpPark и FrameBuffer в верхнюю часть системной памяти, оставив свободными 128 МБ в нижней области памяти.
Загрузите Linux через GRUB или непосредственно из EFISTUB. Всё нормально загружается, вот фрагмент лога:
Если вы используете конфигурацию NXP Linux, это приведёт к сбою ядра, потому что она читает адрес памяти initrd из дерева устройств или некоторых предопределённых параметров конфигурации, и, конечно же, initrd загружается где-то ещё в UEFI. Необходимо удалить эти параметры и сделать конфигурацию более универсальной.
Но зачем?
Люди говорят о запуске Windows на разных устройствах, поэтому я хочу троллить их до конца года.