Обзор одной российской rtos, часть 8. работа с прерываниями

Применение

Nucleus используется Garmin International в GPS-модуле, предназначенном для гражданской авиации, а также практически во всех китайских телефонах на базе массово используемого SOC MTK, в телефонах Siemens и Benq-Siemens 6x, 7x и 8x серий, Apple iPhone в качестве baseband прошивки, и телефонах на основе платформы Samsung Bada. Также используется в часах фирмы UWatch.

Mentor Embedded Nucleus RTOS позволяет системным разработчикам решать сложные задачи, требуемые современными передовыми встроенными проектами.
Nucleus объединяет интегрированный программный IP, инструменты и партнерские технологии в единое, готовое к использованию решение — идеальное решение для приложений, где связь, безопасность, управление питанием и детерминированная производительность — главные составляющие.

Система Nucleus RTOS, развернута на более чем трех миллиардах устройствах, она доказала, что является надежной и полностью оптимизированной ОС реального времени. Nucleus успешно внедрилось в требовательные рынки с жесткими требованиями к безопасности, такие как промышленные системы, медицинские устройства, бортовые системы и многое другое. С Nucleus, Разработчики могут развертывать масштабируемое твердое детерминированное ядро в режиме реального времени на широком выборе процессоров, включая MCU, DSP, FPGA и MPU.

Давайте начнем

Во-первых, в менеджере библиотек Arduino IDE, начиная с версии 1.6.8, найдите библиотеку FreeRTOS под типом «Contributed» («Внесены») и темой «Timing» («Расчет времени»).

Поиск в менеджере библиотек Arduino

Убедитесь, что установлен последний релиз библиотеке FreeRTOS. В данном случае это v10.1.0-1.

FreeRTOS v8.2.3 Release 6 истановлена

Затем подключите библиотеку FreeRTOS либо через меню Скетч → Подключить библиотеку, либо добавьте следующую строку в начале скетча:

Скомпилируйте и загрузите этот пустой скетч (с FreeRTOS) на устройство Arduino Uno/Yun/Leonardo/Mega. Это покажет вам, сколько флэш памяти потребляется планировщиком FreeRTOS. При тестировании с Arduino IDE v1.6.9 на Windows 10 было получено следующее:

Размер флэш-памяти, занимаемой FreeRTOS на разных платах Arduino
Устройство Пустой скетч только с Пустой скетч с FreeRTOS Дополнительный занимаемый объем памяти программ
Uno 444 7018 20%
Goldilocks 502 7086 5%
Leonardo 3618 10166 23%
Yun 3612 10160 23%
Mega 656 7086 2%

На этом этапе FreeRTOS уже запущена на вашем устройстве.

Целевые платформы

  • ARM
  • Blackfin
  • Freescale ColdFire
  • цифровые сигнальные процессоры Texas Instruments серий C3x/C4x
  • Hitachi H8/300
  • i386, Pentium
  • Motorola 68000
  • MIPS
  • Nios II
  • PowerPC
  • SuperH
  • SPARC
  • OpenRisc

ARM

Основная статья: ARM (Advanced RISC Machine)

Архитектура ARM (от англ. Advanced RISC Machine — усовершенствованная RISC-машина; иногда — Acorn RISC Machine) — семейство лицензируемых 32-битных и 64-битных микропроцессорных ядер разработки компании ARM Limited.

Среди лицензиатов: AMD, Apple, Analog Devices, Atmel, Xilinx, Altera, Cirrus Logic (англ.), Intel (до 27 июня 2006 года), Marvell, NXP, STMicroelectronics, Samsung, LG, MediaTek, MStar, Qualcomm, Sony, Texas Instruments, nVidia, Freescale, Миландр, HiSilicon.

Многие лицензиаты делают собственные версии ядер на базе ARM: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Krait в Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Apple A6 и HiSilicon K3.

В 2007 году около 98 % из более чем миллиарда мобильных телефонов, продаваемых ежегодно, были оснащены, по крайней мере, одним процессором ARM. По состоянию на 2009 на процессоры ARM приходилось до 90 % всех встроенных 32-разрядных процессоров. Процессоры ARM широко используются в потребительской электронике — в том числе КПК, мобильных телефонах, цифровых носителях и плеерах, портативных игровых консолях, калькуляторах и компьютерных периферийных устройствах, таких, как жесткие диски или маршрутизаторы.

Эти процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и преобладают на рынке мобильных устройств, для которых данный фактор немаловажен.

PowerPC

Основная статья: PowerPC

PowerPC (или сокращённо PPC) — микропроцессорная RISC-архитектура, созданная в 1991 году альянсом компаний Apple Inc., IBM и Motorola, известным как AIM. PowerPC, как эволюционирующий набор инструкций, с 2006 получил название IBM Power ISA, в то время как старое название естественно живет, как унаследованный товарный знак для некоторых реализаций процессоров на основе Power Architecture, и в идентификатора некоторых программных пакетов.

PowerPC была краеугольным камнем инициатив AIM в PReP и Common Hardware Reference Platform в 1990-х годах. Первоначально для персональных компьютеров эта архитектура хорошо известна тем, что используется Apple в Apple Power Macintosh, Apple PowerBook, Apple iMac, Apple iBook, и Apple Xserve линиях с 1994 по 2006 год, когда Apple перешла ни процессоры Intel x86. С тех пор он стал нишей в персональных компьютерах, но до сих пор остаются популярными как встраиваемые, так и высокопроизводительные процессоры. Его использование в игровых консолях и встроенных приложениях обеспечило множество применений. Кроме того, процессоры PowerPC все еще используются в AmigaOne и сторонних персональных компьютерах AmigaOS 4.

PowerPC в значительной мере основана на более ранней архитектуре IBM POWER, и сохраняет высокий уровень совместимости с ней. Архитектуры остались достаточно близкими, что одни и те же программы и операционные системы могут быть запущены на обоих, если произвести некоторую подготовку. Более новые чипы в серии IBM POWER используют Power ISA.

SPARC

SPARC (Scalable Processor ARChitecture — масштабируемая архитектура процессора) — архитектура RISC-микропроцессоров, первоначально разработанная в 1985 году компанией Sun Microsystems.

Архитектура SPARC является открытой, это значит, что:

  • Архитектура системы команд SPARC опубликована как стандарт IEEE 1754—1994;
  • Спецификации SPARC доступны для лицензирования любой компанией или частным лицом и дают возможность разрабатывать свои собственные решения;
  • Развитием архитектуры SPARC занимается независимая некоммерческая организация SPARC International, Inc., основанная в 1989 году. Членство в SPARC International открыто для всех желающих.
  • Для производства процессоров с архитектурой SPARC достаточно закупить у SPARC International, Inc. лицензию на архитектуру системы команд ($99) и разработать свою реализацию архитектуры либо закупить готовую реализацию (что несколько дороже).

Существовало 3 основные ревизии архитектуры SPARC: версии 7, 8 и 9. Иногда UltraSPARC серии T выделяются как отдельные архитектуры UltraSPARC Architecture 2005 и 2007.

Версия 8 архитектуры SPARC описывает 32-разрядный микропроцессор, тогда как версия 9 — 64-разрядный.

Авторские/внутренние, не-UNIX и другие

  • A2 — ОС, созданная в рамках проекта «Oberon — операционная система и компилятор» (Оберон (операционная система))
  • AROS (AROS Research Operating System), свободная портируемая (в том числе для процессорной линейки x86) операционная система, идейный потомок AmigaOS
  • AtheOS
  • Chrome OS
  • CP/M (Control Program/Monitor)

    • CP/M-80 (CP/M для Intel 8080/8085 и Zilog Z80 от Digital Research))
    • CP/M-86 (CP/M для Intel 8088/86 от Digital Research)
    • MP/M-80 (многопрограммная версия CP/M-80 от Digital Research)
    • MP/M-86 (многопрограммная версия CP/M-86 от Digital Research)
    • МикроДОС (создана в СССР на основе CP/M 2.2)
  • UCSD P-System (портативная среда программирования/операционная система/виртуальная машина, разработана студентами университетов Калифорнии в Сан-Диего; управляется профессором Ken Bowles, написана на языке Паскаль)
  • FLEX9 — от TSC для Motorola 6809, наследница FLEX, работавшей на Motorola 6800.
  • JavaOS — основным компонентом является Java VM.
  • SSB-DOS — от TSC для Smoke Signal Broadcasting, разновидность FLEX.
  • DESQView многозадачная надстройка над MS-DOS для запуска MS-DOS приложений в режиме вытесняющей многозадачности с API кооперативной многозадачности, 1985 год. Текстовый интерфейс. Последняя версия 2.70.
  • DV/X — развитие DESQView, заимствовавшее интерфейс и протокол X Window System.
  • GEOS
  • NewOS open source
  • Оберон (операционная система), разработана ETH-Zurich (Никлаусом Виртом и другими) для рабочих станций Ceres и Chameleon. См. также Оберон (язык программирования).
  • osFree — open-source-вариант OS/2.
  • TripOS, 1978
  • VisiOn (первый графический пользовательский интерфейс для PC, коммерческого успеха не имел.)
  • VME от International Computers Limited (ICL)
  • MorphOS (на микроядре Quark, с поддержкой API AmigaOS 3.1)
  • NetWare (от Novell)
  • Pick (лицензирована и переименована)
  • Primos от Prime Computer (иногда пишется PR1MOS или PR1ME)
  • OSD/XC от Fujitsu-Siemens (BS2000 портирована для эмуляции на Sun платформы SPARC)
  • OS-IV от Fujitsu (базируется на ранней MVS от IBM)
  • MSP от Fujitsu (наследник OS-IV)
  • Haiku — свободный клон BeOS
  • SkyOS — коммерческая ОС для PC.
  • Syllable (развивается на базе AtheOS)
  • TinyOS
  • TSX-32 многозадачная 32-битная операционная система для DOS-приложений, частично заимствовавшая идеи OS/2, DESQView и операционных систем фирмы DEC. ~1993 год. Отличалась самой быстрой реализацией файловой системы FAT16 из известных.
  • eyeOS

Происхождение

Большинство операционных систем позволяют одновременно выполнять несколько программ или потоков. Это называется многозадачностью. На самом деле, каждое ядро процессора в любой заданный момент времени может запускать только одну программу. Часть операционной системы, называемая планировщиком, отвечает за принятие решения о том, какая программа должна выполняться, и обеспечивает иллюзию одновременного выполнения путем быстрого переключения между программами.

Планировщик в операционный системе реального времени (RTOS) предназначен для обеспечения предсказуемого (обычно описываемого как детерминированного) шаблона выполнения. Это особенно интересно для встраиваемых систем, таких как устройства Arduino, поскольку к встраиваемым системам часто предъявляются требования реального времени.

Традиционные планировщики реального времени, такие как планировщик, используемый во FreeRTOS, достигают детерминизма, позволяя пользователю назначать приоритет для каждого потока выполнения. Затем планировщик использует этот приоритет, чтобы узнать, как поток должен выполниться следующим. Во FreeRTOS поток выполнения называется задачей .

Прикладные системы

Маршрутизаторы

  • DogOS
  • от Cisco
  • IOS от Cisco
  • Cisco PIX от Cisco
  • freesco — бесплатная и свободная замена коммерческим роутерам (в частности, от Cisco), поддерживающая до 10 Ethernet/ARCnet/Token Ring/Arlan-сетевых карт и до 10 модемов.
  • Huawei VRP от Huawei
  • IOS XR от Cisco на основе QNX
  • JUNOS от Juniper Networks
  • LinkBuilder от 3Com
  • MikroTik RouterOS от MikroTik
  • RapidOS от Riverstone Networks
  • ScreenOS от Juniper Networks
  • SeOS от Ericsson
  • SROS от Alcatel-Lucent
  • ZyNOS от ZyXEL

Для микроконтроллеров, встраиваемые и ОС реального времени

  • AMX OS KADAK
  • Contiki (поддерживается Atmel AVR)
  • eCos
  • FreeRTOS
  • Integrity
  • ITRON
  • LynxOS
  • Montavista Linux
  • Nucleus
  • QNX
  • OS-9 — от Microware
  • OS-9000 — от Microware
  • OSA — для микроконтроллеров PIC (Microchip) и AVR (Atmel)
  • OSE от ENEA
  • OSEK
  • RDOS
  • RTEMS — первоначальная разработка велась по заказу МО США, сейчас свободная (GPL-like лицензия).
  • RTOS
  • ThreadX
  • TRON OS разработчик — Ken Sakamura
  • uC/OS-II для микроконтроллеров
  • uOS разработчик — Сергей Вакуленко
  • scmRTOS — для микроконтроллеров
  • μClinux
  • VxWorks
  • Snake OS
  • Salvo — для микроконтроллеров

Применение систем реального времени

С развитием технологий системы реального времени нашли применения в самых различных областях. Особенно широко СРВ применяются в промышленности, включая системы управления технологическими процессами, системы промышленной автоматики, SCADA-системы, испытательное и измерительное оборудование, робототехнику. Применения в медицине включают в себя томографию, оборудование для радиотерапии, прикроватное мониторирование. СРВ встроены в периферийные устройства компьютеров, телекоммуникационное оборудование и бытовую технику, такую как лазерные принтеры, сканеры, цифровые камеры, кабельные модемы, маршрутизаторы, системы для видеоконференций и интернет-телефонии, мобильные телефоны, микроволновые печи, музыкальные центры, кондиционеры, системы безопасности. На транспорте СРВ применяются в бортовых компьютерах, системах регулирования уличного движения, управлении воздушного движения, аэрокосмической технике, системе бронирования билетов и т. п. СРВ находят применения и в военной технике: системах наведения ракет, противоракетных системах, системах спутникового слежения.

Примеры

Примеры систем, работающих в режиме реального времени:

  • АСУ ТП химического реактора;
  • бортовая система управления космического аппарата;
  • АСНИ в области ядерной физики;
  • система обработки аудио- и видеопотоков при трансляции в прямом эфире;
  • интерактивная компьютерная игра.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector