Лабораторный практикум по MQX RTOS
Лабораторные работы 1, 2, 3 и 4
![](/images/f11582106788.jpg)
Содержание
Лабораторная работа 1: Простая цифровая реклама, система Freescale MQX RTOS Лабораторная работа 2: Подключение к FTP-серверу, коммуникационный набор Freescale MQX RTCS с FTP-сервером Лабораторная работа 3: Подключение к Web-серверу, коммуникационный набор Freescale MQX RTCS с Web-сервером Лабораторная работа 4: Структура проекта
Модуль MQX RTOS
![](/images/f21650067296.jpg)
Рис. 1
Лабораторный практикум по MQX RTOS — рекламно-информационная система с микропроцессором MPC5125
Введение
Настоящее руководство применимо к модулю MPC5125 Tower, TWR-MPC5125. Приведённые ниже инструкции рассчитаны на хост-компьютер под управлением ОС Windows® XP.
ЛАБ 1 |
Простая цифровая реклама, система Freescale MQX RTOS | В данной лабораторной работе вы научитесь использовать операционную систему Freescale MQX в среде CodeWarrior. На примере простого приложения иллюстрируются возможности отображения на дисплее информации, рекламы или других сообщений в розничных магазинах, корпоративных зданиях и других общественных местах.
При выполнении этой работы демонстрируются:
- Работа с MQX-проектом в интегрированной среде разработки CodeWarrior
- Сборка проекта, его загрузка и запуск в интегрированной среде разработки CodeWarrior
- Драйвер дисплея MQX для MPC5125
Пошаговая инструкция
- Установите программное обеспечение:
- Установите ПО CodeWarrior for mobileGT v9.2.
- Установите обновление CodeWarrior для MPC5125.
- Установите ПО Freescale MQX RTOS v3.5.1.
- Установите обновление Freescale MQX для MPC5125.
- Подключите HDMI-кабель: соедините HDMI-порт модуля TWR-MPC5125 с портом DVI-D экранного монитора. Кабель HDMI — DVI-D входит в комплект поставки. (Альтернативный вариант подключения: соедините HDMI-порт модуля с HDMI-портом монитора. Кабель в комплект поставки не входит.)
Примечание. Адаптер DVI — VGA не поддерживается.
- Подключите Ethernet-кабель. С помощью перекрёстного Ethernet-кабеля подключите хост-компьютер к разъёму RJ-45 на плате.
Примечание. При подключении к компьютерам, имеющим сетевой интерфейс с поддержкой функции Auto-MDIX (автоматическое распознавание полярности подключения сетевого кабеля), можно использовать как прямой, так и перекрёстный кабель. Такие интерфейсы очень распространены.
- Подключите кабель питания 5 В. (Этот шаг не является обязательным, поскольку подключение «Последовательный порт — USB» на следующем шаге позволяет подать питание на плату).
- Подключите кабель USB к мосту «Последовательный порт — USB» для подачи питания. Мост Freescale MC9S08JM60 между последовательным портом и USB обеспечивает эквивалентное RS232 подключение к хост-компьютеру через коммуникационные устройства класса USB. USB-подключение после подсоединения и подачи питания будет опознано персональным компьютером как COM-порт.
Чтобы определить номер COM-порта для данного подключения, кликните правой кнопкой мыши по значку My Computer (Мой компьютер) и выберите пункт Manage (Управление). Кликните по значку Device Manager (Диспетчер устройств). Найдите пункт Ports (COM & LPT) и раскройте его.
![](/images/f378934964.jpg)
Рис. 2
Примечание. В хост-компьютерах под управлением Linux файл CDC USB-устройства имеет адрес /dev/ACM0.
- Откройте Microsoft® HyperTerminal или другую терминальную программу на ваше усмотрение.
Выберите File > New Connection (Файл > Новое подключение). Введите название нового подключения. Укажите номер COM-порта для подключения, который вы узнали на прошлом шаге. Установите следующие параметры порта: Скорость — 115 200 бит/с, Биты данных — 8, Чётность — нет, Стоп-биты — 1, Управление потоком — нет.
![](/images/f48082328.jpg)
Рис. 3
Примечание. При включении/выключении питания соединение Последовательный порт — USB утратит связь с HyperTerminal. Поэтому рекомендуется завершать работу приложения HyperTerminal и перезапускать его при каждом отключении платы.
- Запустите ПО CodeWarrior for mobileGT v9.2.
- Откройте пример проекта:
Выберите File > Open (Файл > Открыть) и введите адрес: C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/cwmpc92/sign_twrmpc5125.mcp.
Примечание. Если вы установили программное обеспечение MQX в директорию, отличную от используемой по умолчанию C:/Program Files/Freescale MQX 3.5/, то необходимо перекомпилировать библиотеки MQX, чтобы учесть изменение пути доступа. Прежде чем продолжать лабораторную работу, ознакомьтесь с сопроводительной документацией (release notes).
![](/images/f575499364.jpg)
Рис. 4
- Скомпилируйте проект, кликнув по значку Make (Сборка) на панели инструментов проекта.
Загрузку и запуск примера приложения можно выполнить двумя способами.
Способ 1. Запуск непосредственно из памяти SDRAM с помощью аппаратного отладочного интерфейса
Примечание. Аппаратный отладочный интерфейс, например CodeWarrior USB TAP, приобретается отдельно. Данный способ позволяет в полной мере использовать отладочные возможности среды CodeWarrior. Пример проекта предварительно настроен на работу с интерфейсом CodeWarrior USB TAP. Для использования другого интерфейса откройте окно настроек проекта, выберите Remote Debugging (Дистанционная отладка) и укажите необходимое подключение.
- Подсоедините аппаратный отладочный интерфейс, например CodeWarrior USB TAP, к разъёму JTAG J2.
- Запустите отладчик и приложение, нажав на значок Debug (Отладка).
CodeWarrior инициализирует плату и загрузит код в память SDRAM через отладочный интерфейс JTAG/COP.
- После начала сессии отладки в окне кода будет отображена функция точки входа в MQX (см. Рис. 5). Кликните по значку Debug (Отладка) ещё раз, чтобы запустить программу (см. Рис. 6).
Перейдите к разделу Loading your own images (Загрузка пользовательских изображений).
![](/images/f61777034851.jpg)
Рис. 5
![](/images/f71627054283.jpg)
Рис. 6
Способ 2. Запись кода в память SDRAM и его запуск с помощью универсального загрузчика u-boot Примечание. Необходим загрузчик u-boot, записанный во встроенную память NAND, а также подключение платы к хост-компьютеру по сети.
Плата предварительно программируется на заводе для использования загрузчика u-boot. При включении питания процессор запускает из флэш-памяти NAND загрузчик u-boot и передаёт ему управление. Далее u-boot инициализирует плату и активирует память SDRAM. Информацию о загрузчике u-boot можно найти в руководстве пользователя платы.
- Убедитесь в том, что установки переключателей допускают загрузку с памяти NAND. Ознакомьтесь с руководством пользователя платы.
- Откройте и сконфигурируйте TFTP-приложение на хост-компьютере.
На хост-компьютере откройте на своё усмотрение какой-либо TFTP-сервер. Если у вас нет TFTP-сервера, можно получить его бесплатно на Web-сайте компании Net Burner www.netburner.com.
- В качестве TFTP-каталога задайте C:/tftp.
- Скопируйте файл C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/cwmpc92/twrmpc5125/extram_d.bin в каталог C:/tftp.
Примечание. Если в процессе сборки проекта файл extram_d.bin не был создан, то перейдите к панели Target Settings (Выбор компоновщика), выберите EPPC linker (компоновщик EPPC) и измените элемент выпадающего списка Binary File (Двоичный файл) на One (Один).
- Нажмите кнопку Сброс на плате.
- Найдите приглашение u-boot в терминале.
Быстро нажмите клавишу (на клавиатуре хост-компьютера), чтобы остановить автоматическую загрузку операционной системы, записанной в память платы.
![](/images/f81429048154.jpg)
Рис. 7
- Задайте настройки сетевого подключенияю
В строке приглашения загрузчика u-boot введите следующие команды: «set ipaddr 169.254.3.3» «set serverip 169.254.x.x», где «x.x» представляет IP-адрес вашего хост-компьютера (см. Рис. 8) «set gatewayip 169.254.255.254» «set netmask 255.255.0.0» «save»
![](/images/f9805937525.jpg)
Рис. 8
Примечание. Обычно при подключении хост-компьютера непосредственно к плате он по умолчанию выбирает автоматическое назначение IP-адреса в подсети 169.254.x.x. Если плате назначен IP-адрес 169.254.3.3, то никаких дополнительных настроек на хост-компьютере не требуется. Напоминаем, что хост-компьютеру потребуется несколько минут для автоматического назначения IP-адреса по умолчанию и выполнения подключения. Однако если вам не удалось осуществить подключение, можно настроить IP-адрес компьютера вручную. Выберите Start > Settings > Network Connections > Local Area Connection (Пуск > Сетевое окружение > Отобразить сетевые подключения > Подключение по локальной сети). Запомните свои первоначальные настройки TCP/IP, затем задайте значение IP-адреса 169.254.3.4 и маску подсети 255.255.0.0.
- Перепишите двоичный файл во встроенную память платы.
Введите команду «tftp 10000 extram_d.bin».
Если на хост-компьютере запущен TFTP-сервер, то загрузчик u-boot перепишет двоичный файл MQX-приложения в память SDRAM на плате.
![](/images/f101748503493.jpg)
Рис. 9
- Для запуска приложения введите команду «go 0x10000» (см. Рис. 10).
Будет запущено приложение MQX.
На мониторе вы увидите изображения, показанные на Рис. 11.
![](/images/f11918175504.jpg)
Рис. 10
![](/images/f12475221746.jpg)
Рис. 11
Загрузка пользовательских изображений
Примечание. Это простое демонстрационное ПО не оптимизировано для работы с изображениями в сжатом формате, поэтому компиляция и загрузка могут занять несколько минут.
Рекомендуется использовать изображения с разрешением не более 800 x 600 точек.
В данном проекте для хранения изображений отведено около 4 МБ. Если вам требуется дополнительное пространство, то увеличьте объём ПЗУ в файле компоновщика и соответствующим образом передвиньте адреса остальных разделов. Изображения должны иметь 24-битный цвет и формат .bmp.
- Добавьте изображения с 24-битной глубиной цвета в папку C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/web_pages/.
- Дважды кликните по файлу mktfs.bat в папке C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/.
- Будет создан новый файл tfs_data.c. Этот файл содержит данные тривиальной файловой системы MQX, которая загружена предварительно вместе с приложением.
- Запустите среду CodeWarrior и откройте пример проекта, если он ещё не открыт.
Выберите File > Open (Файл > Открыть) и введите адрес:
C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/cwmpc92/sign_twrmpc5125.mcp.
- Обновите проект с помощью команды Remove Object Code (Удалить объектный код).
Выберите Project > Remove Object Code (Проект >Удалить объектный код).
- Кликните мышью по значку Make (Сборка).
Примечание. Это простое демонстрационное ПО не оптимизировано для работы с изображениями в сжатом формате, поэтому компиляция и загрузка могут занять несколько минут.
- Загрузите и запустите приложение, воспользовавшись способом 1 или 2 (см. выше).
Изменение устанавливаемого по умолчанию IP-адреса платы Откройте файл: config.h. Отредактируйте строку: #define ENET_IPADDR IPADDR(169,254,3,3)
Задание интервала смены изображений
При открытом проекте Digital Sign (Цифровая реклама) в среде CodeWarrior, дважды кликните по файлу digitalsign.c, чтобы его открыть.
Прокрутите содержимое файла до функции display_task.
Отыщите вызов функции задержки времени, _time_delay(6000). Замените параметр задержки времени 6000 другим на своё усмотрение. Значение времени указывается в миллисекундах. 1-секундный интервал задаётся числом 1000.
![](/images/f131343868147.jpg)
Рис. 12
Запись проекта в NAND флэш-память
Для записи своего проекта в NAND флэш-память вернитесь к приглашению загрузчика u-boot.
tftp 0x10000 ram_d.bin — перенос двоичного файла в память SDRAM nand_e 0x80000 0x81400 — стирание содержимого блоков NAND флэш-памяти с адресами от 0x80000 до 0x81400 nand_w 0x10000 0x80000 0x1400000 — запись из памяти SDRAM в NAND флэш-память Затем подготовьте команду для загрузки ОС MQX set mqxboot "nand_r 0x10000 0x80000 0x1400000; go 0x10000" Сохраните изменения (Save).
![](/images/f14575793890.jpg)
Рис.13
Чтобы это приложение MQX загружалось автоматически, введите команду set bootcmd run mqxboot и нажмите Enter. Затем при помощи команды Save сохраните новые значения переменных среды загрузчика u-boot в NAND флэш-памяти.
![](/images/f151271434977.jpg)
ЛАБ 2 |
Подключение к FTP-серверу, коммуникационный набор Freescale MQX RTCS с FTP-сервером |
- Соедините Ethernet-кабелем плату и хост-компьютер.
- На компьютере откройте FTP-клиент, например, поддерживаемый командной строкой DOS.
Нажмите кнопку Start (Пуск), выберите Run (Выполнить) и напечатайте cmd.
В приглашении командной строки введите ftp 169.254.3.3 и нажмите клавишу Enter.
- Имя пользователя/пароль вводить не требуется. Нажмите Enter.
- Поместите файл с 24-битной глубиной цвета (bmp) в FTP-каталог (текущий каталог).
- Введите команду put file.bmp.
![](/images/f161748904637.jpg)
Рис. 14
- Файл будет перенесён на диск RAMDISK, расположенный в SDRAM-памяти.
- Теперь новое изображение будет демонстрироваться вместе с загруженными ранее.
- Можно загрузить до 16 изображений, при этом их общий объём не должен превышать 5 МБ. Если требуется дополнительное пространство, можно изменить размер временного диска RAM_DISK_SIZE в файле digitalsign.c.
ЛАБ 3 |
Подключение к Web-серверу, коммуникационный набор Freescale MQX RTCS с Web-сервером |
- Соедините Ethernet-кабелем плату и хост-компьютер.
- Как и в Лабораторной работе 2, перенесите изображения на плату с помощью FTP-клиента.
- На хост-компьютере запустите Web-браузер, например Microsoft Internet Explorer.
- В адресной строке введите: http://169.254.3.3.
![](/images/f171123842830.jpg)
Рис. 15
- Просмотр Web-страниц.
Кликните по ссылкам слева для просмотра сетевой статистики, времени работы системы и состояния дисплея.
![](/images/f181260007224.jpg)
Рис. 16 Создание собственной Web-страницы
- Отредактируйте html-файлы в папке C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/web_pages/.
- Дважды кликните по файлу mktfs.bat в папке C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/.
- Будет создан новый файл tfs_data.c. Этот файл содержит данные тривиальной файловой системы MQX, которая загружена предварительно вместе с приложением.
- Если Web-страницы используют CGI-запросы, то обновите файл cgi.c, включив в него необходимые функции.
Файл digitalsign.c содержит две автоматически запускаемых задачи и одну функцию:
Основная задача
Инициализирует и запускает FTP-сервер, Web-сервер и Ramdisk, если соответствующие функции активированы.
Дисплейная задача
Инициализирует дисплей; систематизирует растровые изображения и подготавливает их для демонстрации на дисплее; демонстрирует изображения.
Функция ramdisk
Устанавливает файловую систему mfs и монтирует одну из областей SDRAM в качестве диска файловой системы.
Файл digitalsign.h — настройки приложения-примера цифровой рекламы.
Файл cgi.c — содержит функции для отправки данных в Web-браузер.
Файл cgi.h — заголовочный файл для cgi.c.
Файл tfs_data.c — данные тривиальной файловой системы для предварительно загруженных изображений и Web-страниц. Этот файл автоматически генерируется при запуске сценария mktfs.bat.
Примечание. Он может оказаться очень большим в зависимости от размера изображений.
Файл twrmpc5125.a — библиотека поддержки платы TWR-MPC5125 (TWR-MPC5125 Board Support Package (BSP) library).
Файл MQX.a — библиотека MQX (операционная система реального времени).
Файл rtcs.a — библиотека rtcs (протокол TCP/IP).
Файл mfs.a — библиотека mfs (файловая система).
Узнайте больше
Дополнительную информацию о продукции Freescale можно найти на страницах www.freescale.com/towerhtt и www.freescale.com/LCD.
Freescale и логотип Freescale являются товарными знаками или зарегистрированным товарными знаками компании Freescale Semiconductor, Inc. в США и в других странах. Названия всех остальных товаров и услуг являются собственностью их владельцев. © 2009 Freescale Semiconductor, Inc.
|