E=mс2bedded
Pro |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Контакты: E-mail: embedded_pro@mail.ru AppNotes: Сотовая связь Отправка коротких SMS в
формате PDU Отправка длинных SMS в формате PDU Получение и декодирование
SMS Распределённые
вычислительные сети Обзор распределённых
вычислительных сетей Принципы построения распределённых вычислительных
сетей Встраиваемые решения Обзор
встраиваемых операционных
систем Обзор
микропроцессоров ARM
Cortex-A BSP QNX Neutrino для платы phyFLEX-iMX6 от PHYTEC |
Главная / BSP QNX Neutrino для платы phyFLEX-iMX6 от PHYTEC BSP QNX Neutrino
для платы phyFLEX-iMX6 от PHYTEC 26 сентября Технические характеристики модулей phyFLEX-i.MX6 Контактные данные дистрибьютора компании PHYTEC в России Документация на Rapid Development Kits PHYTEC phyFLEX-i.MX6 KPFL-A-02 Модули phyFLEX компании PHYTEC Доработка
BSP QNX Neutrino для запуска на плате PHYTEC
phyFLEX-i.MX6 В начале 2014 года техническому отделу была
поставлена задача разработать процессорный блок
управления измерительным прибором на основе процессора архитектуры ARM с ядром Cortex-A9 или A15.
Данный блок должен был обеспечивать высокие требования по надёжности и
стабильности работы. Для обеспечения этого требования был проведён анализ
рынка операционных систем. На основании данного исследования была выбрана
операционная система реального времени QNX6 с микроядром Neutrino. ОСРВ QNX6 обладает следующими
преимуществами по сравнению с другими рассматриваемыми ОС, а именно: - возможность
портирования на платформу ARM; - наличие
множества пакетов поддержки плат BSP различных производителей; - микроядро
системы, обеспечивающее стабильность работы; - поддержка
режима «жёсткого реального времени»; - наличие дистрибьютора
в России, а именно в Санкт-Петербурге, в
непосредственной близости от разработчиков измерительного оборудования; - развитая
техническая поддержка. Данные преимущества системы были приведены
руководству в качестве обоснования выбора. Далее перед разработчиками была поставлена задача
выбора аппаратной платформы для процессорного блока. Основные условия выбора
были следующие: -
процессор должен поддерживаться QNX6; - наличие BSP для платы, где
используется выбранный процессор; - наличие
встроенного контроллера MAC уровня (Ethernet); - наличие
развитой видеоподсистемы с возможностью подключения по одному из интерфейсов HDMI, DVI или VGA; - модульность
построения платы, когда процессор не встроен в плату, а установлен на
процессорный модуль, что позволяет устанавливать этот модуль в материнскую
плату собственной разработки. Последнее требование обусловлено тем, что
разработку предусматривалось производить в три этапа: 1. Разработка
функционального ПО на тестовой аппаратной платформе. 2. Разработка
собственной материнской платы под требуемый конструктив,
установка и тестирование ПО на разработанном конструктиве.
На данном этапе будет получен рабочий образец процессорного блока, пригодный
для серийного производства. 3. Разработка
монолитного процессорного блока со встроенным в плату процессором. Таким образом, рабочий серийный образец буде
доступен уже в конце второго этапа. На основании данных требований к аппаратной
платформе после исследования рынка процессоров архитектуры ARM с ядром Cortex-A9 или Cortex-A15 был выбран процессор i.MX6 от компании FreeScale и
процессорный модуль компании PHYTEC phyFLEX-iMX6,
построенный на основе выбранного процессора. К сожалению, компания PHYTEC не предоставляет BSP под QNX6 для своих плат. В комплекте к платам идут BSP либо под Windows Embedded Compact 7, либо
под Linux Embedded. Но в
списке BSP QNX6,
который располагается на сайте сообщества foundry27 есть пакет поддержки
для платы Freescale Sabre Lite, который и был взят за основу для
разработки BSP QNX6 для платы PHYTEC. Алгоритм доработки BSP приведён в данной статье. Технические
характеристики модулей phyFLEX-i.MX6.
Контактные
данные дистрибьютора компании PHYTEC в России. Платы доступны для
заказа по следующей ссылке: http://www.microcontroller.ru/catalog1.php?cat_id=141
Контактное лицо: Николай e-mail: support@microcontroller.ru Tel. +7 (812) 677-00-57, доб. 213 ООО "СИМЭКС" Россия, г. Санкт-Петербург,
196084, бизнес-центр «ДЕТСКИЙ 5»,
Детский переулок, 5. Ст.м. «Московские ворота». Документация на Rapid Development Kits PHYTEC phyFLEX-i.MX6 KPFL-A-02 (WEC7-phyFLEX-i.MX 6-Kit).
По
ссылке http://www.phytec.eu/europe/products/modules-overview/phyflex/produktdetails/p/phyflex-imx-6-1.html находится оригинальное описание
модуля phyFLEX-iMX6, документация и BSP от производителя платы. Модули phyFLEX компании PHYTEC. Высокоинтегрированные одноплатные контроллерные модули фирмы PHYTEC (http://www.phytec.ru, http://www.phytec.com)
применяются в России в течение ряда лет и характеризуются высоким качеством,
гибкостью конфигурации, малыми размерами, большим сроком жизни, расширенным
температурным диапазоном и обеспечивают быстрый выход изделия на рынок.
PHYTEC выпускает мезонинные модули на базе процессоров: Infineon
XC16x и TriCore, Freescale ARM9/11, Cortex-A9 и Power PC, NXP ARM7/9, Marvell Xscale, Analog Devices Blackfin. Для всех модулей доступны стартовые комплекты Rapid Development Kit, для большинства 32-разрядных процессоров доступны
BSP с Windows CE и Linux. Компактные
и гибкие решения Рис. 1.
Модуль phyFLEX-i.MX6 Модули PHYTEC имеют
размеры со спичечный коробок или кредитную карточку за счёт использования
современной многослойной и SMD технологии (см. рис. 1). Модуль вставляется в
ответные разъёмы платы-носителя подобно большой микросхеме. Основные сигналы
и порты контроллера выведены на SMD-разъемы Molex с
шагом контактов Уменьшение
электромагнитной эмиссии Модули phyFLEX характеризуются большой плотностью упаковки и
выдающимися характеристиками по электромагнитной эмиссии, которые достигаются
путём тщательного проектирования печатной платы. Электромагнитная эмиссия
вызывается неэффективным заземлением выводов питания электронных компонентов
на плате. Поэтому примерно 20% контактов разъёмов модуля phyFLEX заземлены.
Печатная плата phyFLEX имеет следующую структуру: два слоя GND, один слой
Vcc и 3…5 сигнальных слоёв. Для подавления шумов и
наводок на верхнем и нижнем сигнальных слоях установлена сетка фильтрующих
конденсаторов емкостью 1 нФ и 100 нФ, подключенных к GND. Восприимчивость к
электромагнитным помехам снижена также ввиду малой длины печатных проводников
на плате. Надёжность Надёжность является
весьма критичным фактором для встроенных приложений, где время жизни изделия
измеряется многими годами. Время наработки на отказ (MTBF) оценивает
жизненный цикл модуля на основе характеристик компонентов, используемых при его
изготовлении. Расчет MTBF учитывает множество факторов, включающих
обоснованность требований проекта, надёжность драйверов, оценку продукта с
точки зрения конкуренции, период технического обслуживания и т.д. Большинство
модулей PHYTEC успешно прошли MTBF-тестирование, получив исключительные
результаты не только по результатам расчётов, но и при эксплуатации в полевых
условиях. Быстрая
реализация проекта Одноплатные
контроллеры PHYTEC позволяют реализовать новый проект в предельно
сжатые сроки, получив выигрыш по времени разработки, трудоёмкости и
издержкам. Для ускорения цикла разработки предназначен Rapid Development Kit, в состав которого входят: Spectrum
CD-ROM, документация, мезонинный модуль, плата разработки Development
Board, набор кабелей и сетевой адаптер. Spectrum CD содержит демо-версии
инструментальных средств разработки и User’s Manuals — документацию на модуль, плату разработки и
микроконтроллер. В руководстве по быстрому запуску QuickStart
Manual описывается, как подключить модуль, загрузить
и выполнить демонстрационные программы. Development
Board (см. рис. 2) предназначена
для запуска и программирования модуля, тестирования программного обеспечения
и содержит все необходимые электрические и механические компоненты. Рис. 2. Rapid Development Kit
phyFLEX-i.MX6 KPFL-A-02 Этапы
проекта При работе над новым
проектом возникает вопрос, как с максимальной эффективностью и при разумных
затратах обеспечить качество и скорость разработки. Чтобы попытаться ответить
на вопрос, что выгоднее: изготовить собственное контроллерное ядро, или
купить готовый модуль, необходимо оценить время реализации и затраты на всех
этапах проекта. Отбор комплектующих
и их приобретение Стоимость
комплектующих и материалов для изготовления печатной платы
конечно же меньше, чем готовый модуль PHYTEC. Однако отбор элементной базы и
разработка собственного контроллерного ядра приводит в итоге к существенно
худшему качеству модуля и значительно увеличивает время выхода изделия на
рынок. Проектирование
аппаратной части Инженерная
проработка проекта состоит в разработке электрической схемы, схемы
расположения и разводке на основе спецификации и выбранной элементной базы.
Часто при возникновении новых требований приходится изменять схему, делать переразводку или даже полностью перерабатывать проект.
Всё это приводит к существенным дополнительным затратам. Ввиду
многоступенчатой оптимизации модули PHYTEC имеют минимальные размеры. За счёт
тщательного проектирования достигается низкая восприимчивость модулей к
электромагнитным помехам. Разводка и
изготовление многослойной печатной платы Изготовление и
сборка по многослойной и SMD технологии не всегда достижима при малых и
средних партиях. PHYTEC достигает максимальной миниатюризации модулей, осуществляя
сборку, сертифицированную по ISO-9001. Производственная линия PHYTEC
обеспечивает автоматический монтаж двусторонних печатных плат при классе
точности меньшем, чем 0402, лазерную сверловку переходных микроотверстий и
монтаж корпусов BGA на печатную плату из 6-12 слоёв с гарантированным
качеством. Тестирование,
отладка и переразводка Тестирование,
поддержка, техническое обслуживание — последующие стадии проекта, которые
также должны приниматься в расчёт. Затраты не заканчиваются с изготовлением контроллерного
ядра, т.к. тестирование и сопровождение часто отнимают много времени и сил,
особенно если в проекте была допущена скрытая ошибка. Таким образом,
получить хорошие характеристики модуля при собственной разработке в условиях малосерийного производства не представляется возможным.
Использование готовых модулей PHYTEC является экономически выгодным как при
количествах нескольких сотен штук в год и как прототип для собственной
разработки. Выводы Внедрение готовых
модулей PHYTEC в качестве управляющего звена во встроенное приложение
ускоряет реализацию проекта и позволяет сконцентрироваться на периферии и
программном обеспечении, уделять больше внимания его тестированию и
верификации. Это значительно выгоднее, чем разработка собственного контроллерного
ядра, т.к. позволяет забыть о таких трудоёмких и сложных стадиях проекта как:
отбор и приобретение комплектующих, проектирование аппаратной части, разводка
и изготовление многослойной печатной платы, тестирование, отладка и переразводка. Модули phyFLEX® имеют следующие преимущества:
низкий уровень электромагнитной эмиссии, поддержку аппаратными и программными
средствами, компактные размеры и гибкость при подключении периферии. Для всех
модулей доступны стартовые комплекты Rapid Development Kit, для большинства
32-разрядных процессоров доступны BSP с Windows CE
и Linux. Инструкция по инсталляции QNX Neutrino v6.5 на платформу PHYTEC phyFLEX-i.MX6. 1.
Установить среду разработки SDK QNX Momentics. Для этого запустить инсталлятор
qnxsdp-6.5.0-201007091524-win32.exe Примечание. Версии комплектов SDK QNX могут меняться. Установочные файлы
SDK
QNX
Momentics можно найти в центре загрузки на
сайте QNX по ссылке http://www.qnx.com/download 2.
Установить пакет обновлений SP1 для SDK QNX Momentics. Для этого запустить инсталлятор
qnxsdp-6.5.0SP1-201206261830-win32.exe Примечание. Если
был установлен SDK QNX Momentics v6.6 вместо версии 6.5, то надо
иметь ввиду, что на момент
написания инструкции пакет дополнений SP1 для версии 6.6 отсутствует. 3.
Получить временный ключ после регистрации на сайте QNX: http://www.qnx.com/account/login.html#showcreate 4.
Запустить среду разработки SDK QNX Momentics, указав рабочий каталог D:\MyProgramms\QNX. 5.
Импортировать в SDK QNX Momentics пакет поддержки платы (BSP) для Freescale Sabre Lite BSP_freescale-imx6q-sabrelite_br-650_be-650sp1_SVN718398_JBN28.zip Примечание. Пакет
BSP
для Freescale Sabre Lite также можно скачать на сайте сообщества faundry27 по ссылке http://community.qnx.com/sf/frs/do/viewRelease/projects.bsp/
frs.qnx_sdp_6_6_bsp_for_freescale_i.qnx_sdp_6_6_bsp_for_freescale_i При скачивании BSP может потребоваться авторизация.
Необходимо ввести имя и пароль, которые были указаны при регистрации на сайте
QNX. 5.1.
Зайти в пункт меню File > Import 5.2. В окне Import выбрать ветку QNX >
QNX Source Package and BSP 5.3. В окне Importing
QNX Source Packages выбрать пункт Import
from local archive file 5.4.
Указать место расположения файла zip с BSP и нажать Finish 6.
Коррекции BSP для адаптации к платформе PHYTEC phyFLEX-i.MX6. 6.1.
В файле main.c в каталоге пакета BSP src\hardware\startup\boards\imx6x\sabrelite
в строке 58 заменить 0x021E8000 на 0x021F0000 (настройка базового адреса
отладочного UART). 6.2.
В этом же файле закомментировать следующие строки для устранения
влияния на работу микроконтроллера настроек уникальной периферии:
6.3. Заменить в файле сценария загрузки bsp-freescale-mx6q-sabrelite.bsh 3-ю строку devc-sermx1 -e -F -S -c80000000 0x021E8000,59 на devc-sermx1 -e -F -S -c80000000 0x021F0000,61 для того, что бы
настроить драйвер консольного UART на необходимый базовый адрес и прерывание. 6.4.
В файле сценария загрузки bsp-freescale-mx6q-sabrelite.bsh закомментировать следующие строки
для предотвращения запуска драйверов специфических периферийных устройств:
6.5.
Оттранслировать BSP, нажав правой кнопкой мыши на имени проекта образа
(без окончания src) и выбрав пункт Build Project в контекстном меню. 7.
Форматирование SDHC карты. 7.1.
Форматирование SDHC карты производится в формате EXT3. 7.2.
Объем SDHC карты не должен превышать 4Гбайт. 7.3.
Подключить картридер для SD карт к USB. 7.4.
Установить виртуальную машину VMware Workstation. 30-и дневная Trial версия виртуальной машины
устанавливается с помощью инсталлятора
VMware-workstation-full-10.0.1-1379776.exe 7.5.
В виртуальной машине создать раздел с ОС LINUX Ubuntu v12.04. Образ Ubuntu находится в файле ubuntu-12.04.3-desktop-i386.iso 7.6.
Разрешить использование общих папок между ОС основного компьютера и
виртуальной машины: 7.6.1. В меню VM > Setting открыть вкладку Options. 7.6.2. Выбрать в левом окне ветку Shared Folders. 7.6.3. В поле Folder
sharing выбрать пункт Always
enabled. 7.6.4. В поле Folders нажать кнопку Add… и выбрать папку
D:\MyProgramms\QNX\bsp-freescale-mx6q-sabrelite\Images. 7.6.5. Общая папка Images появится в системе Linux в папке File
System/mnt/hgfs 7.7.
Установить в Ubuntu приложение GParted Partition Editor и запустить его. 7.8.
C помощью приложения GParted Partition Editor отформатировать SD карту в формате EXT3. 7.9.
Если система не видит установленную в картридер
SD карту, то необходимо включить Alcor Micro Mass Storage Device, нажав на соответствующую иконку
в строке состояния внизу окна виртуальной машины правой кнопкой мыши и выбрав
пункт Connect в контекстном меню. 7.10.
Скопировать собранный в п. 6.5 файл образа ОС QNX из общей папки Images в корневой каталог SD карты. 7.11.
В некоторых случаях запись в каталог не может быть произведена в
проводнике Ubuntu в обычном режиме. Необходимо запустить
проводник Ubuntu (Nautilus) в режиме суперпользователя.
Для этого необходимо нажать Alt+F2 и ввести в открывшемся окне ввода команду gksu nautilus 8.
Запуск образа QNX на целевой платформе. 8.1.
Установить SD карту в слот SD0 платы PHYTEC. 8.2.
Установить переключатель S3 BOOT_SEL в положение ON-ON-OFF-OFF 8.3.
Подключить кабель RS-232 к разъёму X51 UART0 платы PHYTEC, второй конец кабеля подключить к
разъёму RS-232 компьютера. 8.4.
Запустить на компьютере терминальную программу и настроить следующие
параметры COM порта: -
скорость обмена 115200 Бит/с; -
8 бит в знаке; -
нет контроля чётности; -
1 стоп; -
нет контроля потока данных. 8.5.
Включить питание платы. 8.6.
Остановить автозагрузку, нажав любую клавишу в программе терминала. 8.7.
Загрузить образ системы QNX в память платы по адресу 0x10800000 командой memcpy –s /mnt/mmc/<имя файла образа.ifs> 0x0 0x10800000 8.8.
Запустить образ системы с адреса 0x10800000 командой go 0x10800000 8.9.
Наблюдать запуск операционной системы и вывод приглашения оболочки
“#”. Запуск QNet в сети QNX 6, состоящей из
узла, выполненного на аппаратной платформе phyFLEX-i.MX6, и узла на виртуальной машине x86 с установленным QNX6. 1.
Для запуска QNet на платформе phyFLEX необходимо: 1.1.
Добавить в строку запуска сетевого менеджера параметр –pqnet: io-pkt-v4
-dmx6x speed=100,duplex=1 -pqnet 1.2. Добавить в образ операционной системы драйвер QNet lsm-qnet.so. Драйвер добавляется в папку Shared
Libraries образа системы, а берётся он из папки QNX_TARGET/armle-v7/lib/dll 1.3.
После сборки образа и запуска его на целевой платформе необходимо
проконтролировать наличие папки /net в корневом каталоге. Папка должна содержать как
минимум ещё одну папку, содержимое которой соответствует файловой системе
текущего узла (localhost). 2.
Для запуска QNet на виртуальной машине с установленным QNX6 необходимо: 2.1.
Установить в свойствах виртуальной машины в параметрах сетевого
адаптера тип сетевого соединения Bridget: Connected directly to the physical network (Automatic). 2.2. Создать пустой файл useqnet
командой touch /etc/system/config/useqnet 2.3.
Перезапустить систему и проконтролировать наличие папки /net в корневом каталоге. 2.4.
Если всё хорошо, то без каких либо дополнительных действий должна
организоваться сеть QNet и в папках /net каждого узла должны появиться
папки, соответствующие узлам сети. Главная / BSP QNX Neutrino для платы phyFLEX-iMX6 от PHYTEC |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||