Андрей Сеньков, СВД ВС Сравнительный обзор аппаратных платформ в QNX Определение аппаратной платформы Аппаратная платформа в традиционном «узком» смысле Архитектура команд Режимы адресации, регистры, машинные команды, и пр. Примеры: ARM, MIPS, PowerPC, x86 … Архитектура процессорного ядра Организация конвейеров, кэш, взаимодействие между блоками (ALU, FPU, …) и пр. Примеры: ARM Cortex-A8, PowerPC e500, MIPS32, Intel Atom … Расширенное понятие аппаратной платформы Контроллеры, системы на кристалле (SoC) Производители : Freescale, TI, Intel, Atmel, Элвис … Процессорные модули Производители: Advantech, Kontron, Fastwel … Законченные устройства, моноблоки Примеры: Freescale SABRE, BlackBerry PlayBook, CarPC PCAVTO … Аппаратные архитектуры в QNX QNX2 – 1980-e годы, процессоры Intel 286 QNX4 – POSIX ОСРВ для Intel x86 (386 и выше) / ЗОСРВ КПДА.0002-01 QNX Neutrino RTOS Intel x86 ( SMP, APIC, Fastboot … ) RISC платформы (процессорные ядра с блоком MMU) ARM ( арх. v4-v6, ARMv7, MPCore … ) MIPS ( MIPS32, MIPS64, BE/LE, SMP … ) PowerPC ( SMP, PPC SPE, … ) SH4 (SMP …) Поддерживаемые архитектуры: ARM LE, MIPS LE/BE, PowerPC BE, Intel x86 сертификат соответствия МО №1740 от 20.12.2011 Поддержка платформы в QNX Комплект разработчика QNX Momentics Единый инструментарий QNX SDP Уровень среды исполнения Ядро и системные сервисы QNX Уровень QNX BSP General Embedded Netcom Automotive ARM: MIPS: Cavium CN57xx XLR732 BCM91x80, BCM91250, BCM91125 ARM: AT91SAM9260/9261/9263/9RL64/9G45, DM355,644x,DRA446,DRx459,DRx457, DRA52XOMAP 2420, 3503, 3515, 3525, 3530, L137OMAP 3505, 3517, L137, Jacinto3i.MX21, i.MX25, i.MX27, i.MX31, i.MX35, i.MX51 X86: SOM6760, PCM 9375,nanoETXexpress-SP CoreExpress, Crown Beach CRB, x86 bios, Tolapai, Geode LDXB800, xw4600, E5500, PowerEdge 840, D820 PowerPC: QorIQ P2020, P4080 MPC85x0, 8536, 8544DS, 8548, 8572, MPC8313E, 8323E, 8349E, 8360EMPC8641D Virtex-II Pro ML300, Virtex-4 ML403,Virtex 5 ML507 AMCC 405ex, 460ex, 440EPx Аппаратура x86 ARM MIPS PPC Centrality Atlas II, Centrality Titan, i.MX21, i.MX25, i.MX31, i.MX35, i.MX51 Jade, Jade-D, Dove, DM355, DM644x,DRA446,DRx459, DRx457,DRA52X, OMAP 2420, 3503, 3515, 3525, 3530 OMAP 3505, 3517, Jacinto3 PowerPC: Lite5200B, Media5200, MPC5121E, 5125E Платформа ARM Advanced RISC Machine Лицензируемая RISC архитектура с 1983 г. Лидирующее положение на рынке встраиваемых RISC-контроллеров. Классические и высокопроизводительные 32-х разрядные процессорные ядра с технологиями Jazelle, VFP, NEON, TrustZone, Thumb … Широкие линейки контроллеров с низким энергопотреблением и высокой степенью интеграции периферии от множества производителей Лидирующие позиции в процессорах для мобильных устройств: смартфонов, планшетных компьютеров и пр. Технологии ARM Платформа ARM в QNX ARM в QNX Neutrino Поддержка классических архитектур ARM v4-v6: ARM7, StrongARM, ARM9, XScale, ARM11 Оптимизированная поддержка архитектуры ARM v7: Cortex-A8, Cortex-A9 MPCore Примеры поддерживаемых отладочных ARM-based процессорных модулей AM3517 EVM AM3505 EVM DM355 EVM DM644x EVM DRA446 EVM DRA52x EVM DRx457/459 EVM J3 EVM OMAP 2420 SDP OMAP 3503 EVM OMAP 3515 EVM OMAP 3525 EVM OMAP 3530 Beagle OMAP 3530 Mistral OMAP 5905 OSK OMAP 5912 OSK OMAP-L137 OMAP-L138 DBPXA250DP DBPXA270DP IXDP2351 IXDP2800 IXDP425 IXDP425 PXA250TMDP AT91SAM9RL64-EK AT91SAM9260-EK AT91SAM9261-EK AT91SAM9263-EK AT91SAM9M10-EK AT91SAM9G45EKES i.MX21 ADS i.MX25 3DS (PDK) i.MX27 ADS i.MX31 ADS i.MX35 PDK (3DS) i.MX51 EVK i.MX53 EVK i.MX6Q Sabre Jade EVB Jade D Atlas II EVB Titan EVB Tegra2 Мобильные решения на базе ARM в QNX Планшетный компьютер с QNX BlackBerry PlayBook – мощное, мобильное, многофункциональное устройство TI OMAP4430 SoC, - система на кристалле, включающая: Dual-Core ARM Cortex-A9 1GHz; Графический акселератор PowerVR SGX540 304 MHz; IVA3 — мультимедиа акселератор (код./декод. видео Full HD 1080p) 7’’ Multi-Touch экран с разрешением 1024x600 1 Гб RAM; 16/32/64 Гб SanDisk NAND Flash TI WL1283 GPS/WLAN/Bluetooth/FM модуль; Wolfson WM8994 Audio CODEC; Акселерометр, Гироскоп, GPS Две HD камеры: 5MP и Фронтальная 3 Разъемы: microHDMI, microUSB, 3.5mm для наушников. Платформа для мобильных устройств Freescale SABRE с открытой спецификацией и поддержкой в QNX Процессор Freescale i.MX53 1ГГц ARM Cortex-A8 Дисплей 10.1” 1024 x 768 LVDS 1Гб DDR3 RAM; 4Гб eMMC Flash WI-FI, GPS, 3G HDMI, LVDS (опционально для второго дисплея) Разъемы: слот SD/MMC, 7-pin SATA, 2 x USB 2.0, Micro USB 2.0 OTG Отладочные интерфейсы: 10/100BT Ethernet, UART, JTAG Платформа MIPS MIPS - Microprocessor without Interlocked Pipeline Stages Лицензируемая RISC архитектура MIPS32 и MIPS64. Раздельные кэш команд и данных, плюс максимальное использование конвейеров. Дополнительные наборы инструкций (MIPS-3D, MDMX (MaDMaX), MIPS16e, MIPS MT) Поддержка в QNX архитектур MIPS32 и MIPS64 Little-endian / Big-endian Высокопроизводительные многоядерные процессоры для телекоммуникаций (Cavium, Broadcom, RMI) Отечественные серии процессоров спец. назначения Решения на платформе MIPS Высокопроизводительные контроллеры для сферы телекоммуникаций Отечественная платформа «МУЛЬТИКОР» www.multicore.ru Система на кристалле, включающая RISC и DSP-ядра Области применения: Радиолокационные и гидроакустические системы Связь и телекоммуникация, промышленный контроль Цифровое телевидение QNX BSP для отладочных модулей Платформа PowerPC PowerPC (Power Performance Computing.) - RISC архитектура, разработанная альянсом Apple, IBM и Motorola (AIM) Одна из первых архитектур, поддерживаемых QNX Neutrino Суперскалярная обработка команд Поддержка big и little endians Линейка производительных промышленных контроллеров Freescale Решения для Automotive и Netcom Платформа PowerPC в QNX Поддерживаемые архитектуры PowerPC : PPC BE, PPC BE SPE Примеры поддерживаемых отладочных PPC-based процессорных модулей 8260 ADS 8266 ADS CDS MPC85xx FADS800 Lite5200 EVB Media5200 MPC5121E ADS MPC8313E RDB MPC8323E RDB MPC8349E MDS MPC8360E MDS MPC8379e RDB MPC85x0 ADS MPC8536 DS MPC8548 CDS MPC8572 DS MPC8641D HPCN P1020RDB-PA P1013DS P1021MDS P1022DS P2020DS-PA P2020RDB-PA P2010RDB-PA P4080DS-PA PQ2FADS Sandpoint Total5200 PPC405 Virtex-II Pro ML300 PPC440 Virtex-4 ML403 PPC970FX EVB PPC405EX EVK PPC440 EP/GR EVK PPC460EX EVK Virtex 4 ML410 RD Virtex 5 ML507 RD MPC8548, 8543 MPC5200B MPC8540 MPC8245 MV64460 Платформа Intel x86 Исторически первая платформа для ОСРВ QNX Стандартизация загрузки и установки ОС обеспечивается BIOS Большой спектр как высокопроизводительных, так и бюджетных решений Проста для разработки демонстрационного проекта под QNX Удобна для разработчиков, имеющих опыт создания проектов на x86 и начинающих проект под QNX Есть возможность полнофункционального тестирования QNX под x86 в одном из средств виртуализации (VMware Workstation, Microsoft Virtual PC, QEMU) без необходимости приобретения специализированной аппаратуры Технологии SMP, APIC, FastBoot Простой перенос Open Source проектов Решения для встраиваемых систем Intel Atom Intel Atom — линейка микропроцессоров архитектуры x86 с низким энергопотреблением. Множество процессорных модулей различного исполнения Потребляемая мощность от 0.65 до 13 Вт Серии из двух процессорных ядер и частотой >2 ГГц Техпроцесс 45 нм, переход к процессу 32 нм «Северный» и «южный» мосты в одном чипе Intel NM10 или Intel SCH Конкуренция с ARM-контроллерами на рынке мобильных устройств Поддержка в QNX серий Z5xx, N4xx, D5xx, E6xx Технология быстрой загрузки FastBoot в QNX Neutrino Технология быстрой загрузки FastBoot на модулях с Intel Atom в QNX Neutrino Оценка и область применения платформ Общая оценка характеристик Платформа / Характеристика ARM MIPS PPC x86 Производительность Энергопотребление Интеграция периферийных устройств Прототипы BSP для QNX Neutrino Доступность ПО (open-source, 3-rd party) Область применения (по данным QNX Software Systems) General Embedded Netcom Automotive ARM: MIPS: ARM: AT91SAM9260/9261/9263/9RL64/9G45, DM355,644x,DRA446,DRx459,DRx457, DRA52XOMAP 2420, 3503, 3515, 3525, 3530, L137OMAP 3505, 3517, L137, Jacinto3i.MX21, i.MX25, i.MX27, i.MX31, i.MX35, i.MX51 Cavium CN57xx XLR732 BCM91x80, BCM91250, BCM91125 PowerPC: Centrality Atlas II, Centrality Titan, i.MX21, i.MX25, i.MX31, i.MX35, i.MX51 Jade, Jade-D, Dove, DM355, DM644x,DRA446,DRx459, DRx457,DRA52X, OMAP 2420, 3503, 3515, 3525, 3530 OMAP 3505, 3517, Jacinto3 X86: SOM6760, PCM 9375,nanoETXexpress-SP CoreExpress, Crown Beach CRB, x86 bios, Tolapai, Geode LDXB800, xw4600, E5500, PowerEdge 840, D820 QorIQ P2020, P4080 MPC85x0, 8536, 8544DS, 8548, 8572, MPC8313E, 8323E, 8349E, 8360EMPC8641D Virtex-II Pro ML300, Virtex-4 ML403,Virtex 5 ML507 AMCC 405ex, 460ex, 440EPx PowerPC: Lite5200B, Media5200, MPC5121E, 5125E Критерии выбора платформы Условия применения Функционал Производительность Энергопотребление Температурный диапазон Исполнение … Цена и доступность $ Трудоемкость разработки Полнота поддержки аппаратуры Наличие прототипа BSP Опыт разработчиков Спектр разработанного и портированного ПО … Рекомендации разработчикам Производительность Функционал Энергопотребление Цена, доступность, … Доступность BSP Полнота поддержки периферии Обучение Тех. поддержка Заказная разработка Анализ функциональных требований к системе Выбор и тестирование прототипного модуля Выбор ОС : QNX Neutrino RTOS / ЗОСРВ «Нейтрино» Адаптация ОС на целевой системе Проектирование системного и функционального ПО Разработка и отладка драйверного ПО Стресс-тестирование Оптимизация Управление обновлениями Отладка аппаратнонезависимого ПО (ПК, VMWare …) Комплексная отладка ПО на целевой системе Программные подсистемы Требования к надежности Графический интерфейс Открытые проекты Сертификация Информационная безопасность Обучение Тех. поддержка Консалтинг Заказные разработки QNX SDP IDE QNX Консольные средства Продукты 3-х фирм Open Source проекты Профилирование приложений Расширение функционала Повышение надежности Услуги компании «СВД ВС» Компания «СВД Встраиваемые Системы» оказывает широкий перечень услуг на этапах проектирования и разработки программно-аппаратного комплекса на различных процессорных архитектурах и ОСРВ QNX Neutrino / ЗОСРВ «Нейтрино», в том числе: Выбор и тестирование прототипного контроллера и процессорного модуля Адаптация пакета поддержки платы (BSP) для целевой системы Разработка драйверного программного обеспечения для всего спектра стандартизованного и специфического оборудования Разработка функционального (прикладного, специального) программного обеспечения включая средства защиты информации Техническая поддержка на всех этапах разработки изделия Обучение специалистов заказчика и консалтинговые услуги