Лабораторный практикум по MQX RTOS

Лабораторные работы 1, 2, 3 и 4


Содержание

Лабораторная работа 1: Простая цифровая реклама, система Freescale MQX RTOS
Лабораторная работа 2: Подключение к FTP-серверу, коммуникационный набор Freescale MQX RTCS с FTP-сервером
Лабораторная работа 3: Подключение к Web-серверу, коммуникационный набор Freescale MQX RTCS с Web-сервером
Лабораторная работа 4: Структура проекта

Модуль MQX RTOS



Рис. 1

Лабораторный практикум по MQX RTOS — рекламно-информационная система с микропроцессором MPC5125

Введение

Настоящее руководство применимо к модулю MPC5125 Tower, TWR-MPC5125. Приведённые ниже инструкции рассчитаны на хост-компьютер под управлением ОС Windows® XP.


Простая цифровая реклама, система Freescale MQX RTOS

В данной лабораторной работе вы научитесь использовать операционную систему Freescale MQX в среде CodeWarrior. На примере простого приложения иллюстрируются возможности отображения на дисплее информации, рекламы или других сообщений в розничных магазинах, корпоративных зданиях и других общественных местах.

При выполнении этой работы демонстрируются:

  • Работа с MQX-проектом в интегрированной среде разработки CodeWarrior
  • Сборка проекта, его загрузка и запуск в интегрированной среде разработки CodeWarrior
  • Драйвер дисплея MQX для MPC5125

Пошаговая инструкция

  1. Установите программное обеспечение:
    • Установите ПО CodeWarrior for mobileGT v9.2.

    • Установите обновление CodeWarrior для MPC5125.

    • Установите ПО Freescale MQX RTOS v3.5.1.

    • Установите обновление Freescale MQX для MPC5125.
  2. Подключите HDMI-кабель: соедините HDMI-порт модуля TWR-MPC5125 с портом DVI-D экранного монитора. Кабель HDMI — DVI-D входит в комплект поставки. (Альтернативный вариант подключения: соедините HDMI-порт модуля с HDMI-портом монитора. Кабель в комплект поставки не входит.)
    Примечание. Адаптер DVI — VGA не поддерживается.
  3. Подключите Ethernet-кабель. С помощью перекрёстного Ethernet-кабеля подключите хост-компьютер к разъёму RJ-45 на плате.
    Примечание. При подключении к компьютерам, имеющим сетевой интерфейс с поддержкой функции Auto-MDIX (автоматическое распознавание полярности подключения сетевого кабеля), можно использовать как прямой, так и перекрёстный кабель. Такие интерфейсы очень распространены.
  4. Подключите кабель питания 5В. (Этот шаг не является обязательным, поскольку подключение «Последовательный порт—USB» на следующем шаге позволяет подать питание на плату.)
  5. Подключите кабель USB к мосту «Последовательный порт—USB» для подачи питания. Мост Freescale MC9S08JM60 между последовательным портом и USB обеспечивает эквивалентное RS232 подключение к хост-компьютеру через коммуникационные устройства класса USB. USB-подключение после подсоединения и подачи питания будет опознано персональным компьютером как COM-порт.
    Чтобы определить номер COM-порта для данного подключения, кликните правой кнопкой мыши по значку My Computer (Мой компьютер) и выберите пункт Manage (Управление). Кликните по значку Device Manager (Диспетчер устройств). Найдите пункт Ports (COM & LPT) и раскройте его.



    Рис. 2

    Примечание
    . В хост-компьютерах под управлением Linux файл CDC USB-устройства имеет адрес /dev/ACM0.
  6. Откройте Microsoft® HyperTerminal или другую терминальную программу на ваше усмотрение.
    Выберите File > New Connection (Файл > Новое подключение). Введите название нового подключения. Укажите номер COM-порта для подключения, который вы узнали на прошлом шаге. Установите следующие параметры порта: Скорость — 115200 бит/с, Биты данных — 8, Чётность — нет, Стоп-биты — 1, Управление потоком — нет.



    Рис. 3

    Примечание.
    При включении/выключении питания соединение Последовательный порт — USB утратит связь с HyperTerminal. Поэтому рекомендуется завершать работу приложения HyperTerminal и перезапускать его при каждом отключении платы.
  7. Запустите ПО CodeWarrior for mobileGT v9.2.
  8. Откройте пример проекта:
    Выберите 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).



    Рис. 4

  9. Скомпилируйте проект, кликнув по значку Make (Сборка) на панели инструментов проекта.
    Загрузку и запуск примера приложения можно выполнить двумя способами.
    Способ 1. Запуск непосредственно из памяти SDRAM с помощью аппаратного отладочного интерфейса
    Примечание. Аппаратный отладочный интерфейс, например CodeWarrior USB TAP, приобретается отдельно. Данный способ позволяет в полной мере использовать отладочные возможности среды CodeWarrior. Пример проекта предварительно настроен на работу с интерфейсом CodeWarrior USB TAP. Для использования другого интерфейса откройте окно настроек проекта, выберите Remote Debugging (Дистанционная отладка) и укажите необходимое подключение.
  10. Подсоедините аппаратный отладочный интерфейс, например CodeWarrior USB TAP, к разъёму JTAG J2.
  11. Запустите отладчик и приложение, нажав на значок Debug (Отладка).
    CodeWarrior инициализирует плату и загрузит код в память SDRAM через отладочный интерфейс JTAG/COP.
  12. После начала сессии отладки в окне кода будет отображена функция точки входа в MQX (см. Рис.5). Кликните по значку Debug (Отладка) ещё раз, чтобы запустить программу (см. Рис.6).
    Перейдите к разделу Loading your own images (Загрузка пользовательских изображений).



    Рис. 5



    Рис. 6

    Способ 2.
    Запись кода в память SDRAM и его запуск с помощью универсального загрузчика u-boot
    Примечание.
    Необходим загрузчик u-boot, записанный во встроенную память NAND, а также подключение платы к хост-компьютеру по сети.
    Плата предварительно программируется на заводе для использования загрузчика u-boot. При включении питания процессор запускает из флэш-памяти NAND загрузчик u-boot и передаёт ему управление. Далее u-boot инициализирует плату и активирует память SDRAM. Информацию о загрузчике u-boot можно найти в руководстве пользователя платы.
  13. Убедитесь в том, что установки переключателей допускают загрузку с памяти NAND. Ознакомьтесь с руководством пользователя платы.
  14. Откройте и сконфигурируйте TFTP-приложение на хост-компьютере.
    На хост-компьютере откройте на своё усмотрение какой-либо TFTP-сервер. Если у вас нет TFTP-сервера, можно получить его бесплатно на Web-сайте компании Net Burner www.netburner.com.
  15. В качестве TFTP-каталога задайте C:/tftp.
  16. Скопируйте файл 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 (Один).
  17. Нажмите кнопку Сброс на плате.
  18. Найдите приглашение u-boot в терминале.
    Быстро нажмите клавишу (на клавиатуре хост-компьютера), чтобы остановить автоматическую загрузку операционной системы, записанной в память платы.



    Рис. 7

  19. Задайте настройки сетевого подключенияю
    В строке приглашения загрузчика 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»



    Рис. 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.
  20. Перепишите двоичный файл во встроенную память платы.
    Введите команду «tftp 10000 extram_d.bin».
    Если на хост-компьютере запущен TFTP-сервер, то загрузчик u-boot перепишет двоичный файл MQX-приложения в память SDRAM на плате.



    Рис. 9

  21. Для запуска приложения введите команду «go 0x10000» (см. Рис. 10).
    Будет запущено приложение MQX.
    На мониторе вы увидите изображения, показанные на Рис. 11.



    Рис. 10





    Рис. 11

    Загрузка пользовательских изображений
    Примечание.
    Это простое демонстрационное ПО не оптимизировано для работы с изображениями в сжатом формате, поэтому компиляция и загрузка могут занять несколько минут.
    Рекомендуется использовать изображения с разрешением не более 800 x 600 точек.

    В данном проекте для хранения изображений отведено около 4 МБ. Если вам требуется дополнительное пространство, то увеличьте объём ПЗУ в файле компоновщика и соответствующим образом передвиньте адреса остальных разделов.
    Изображения должны иметь 24-битный цвет и формат .bmp.
  22. Добавьте изображения с 24-битной глубиной цвета в папку C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/web_pages/.
  23. Дважды кликните по файлу mktfs.bat в папке C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/.
  24. Будет создан новый файл tfs_data.c. Этот файл содержит данные тривиальной файловой системы MQX, которая загружена предварительно вместе с приложением.
  25. Запустите среду CodeWarrior и откройте пример проекта, если он ещё не открыт.
    Выберите File > Open (Файл > Открыть) и введите адрес:
    C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/cwmpc92/sign_twrmpc5125.mcp.
  26. Обновите проект с помощью команды Remove Object Code (Удалить объектный код).
    Выберите Project > Remove Object Code (Проект >Удалить объектный код).
  27. Кликните мышью по значку Make (Сборка).
    Примечание. Это простое демонстрационное ПО не оптимизировано для работы с изображениями в сжатом формате, поэтому компиляция и загрузка могут занять несколько минут.
  28. Загрузите и запустите приложение, воспользовавшись способом 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.



    Рис. 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).



    Рис.13

    Чтобы это приложение MQX загружалось автоматически, введите команду set bootcmd run mqxboot и нажмите Enter. Затем при помощи команды Save сохраните новые значения переменных среды загрузчика u-boot в NAND флэш-памяти.




Подключение к FTP-серверу, коммуникационный набор Freescale MQX RTCS с FTP-сервером

  1. Соедините Ethernet-кабелем плату и хост-компьютер.
  2. На компьютере откройте FTP-клиент, например, поддерживаемый командной строкой DOS.
    Нажмите кнопку Start (Пуск), выберите Run (Выполнить) и напечатайте cmd.
    В приглашении командной строки введите ftp 169.254.3.3 и нажмите клавишу Enter.
  3. Имя пользователя/пароль вводить не требуется. Нажмите Enter.
  4. Поместите файл с 24-битной глубиной цвета (bmp) в FTP-каталог (текущий каталог).
  5. Введите команду put file.bmp.



    Рис. 14

  6. Файл будет перенесён на диск RAMDISK, расположенный в SDRAM-памяти.
  7. Теперь новое изображение будет демонстрироваться вместе с загруженными ранее.
  8. Можно загрузить до 16 изображений, при этом их общий объём не должен превышать 5 МБ. Если требуется дополнительное пространство, можно изменить размер временного диска RAM_DISK_SIZE в файле digitalsign.c.


Подключение к Web-серверу, коммуникационный набор Freescale MQX RTCS с Web-сервером

  1. Соедините Ethernet-кабелем плату и хост-компьютер.
  2. Как и в Лабораторной работе 2, перенесите изображения на плату с помощью FTP-клиента.
  3. На хост-компьютере запустите Web-браузер, например Microsoft Internet Explorer.
  4. В адресной строке введите: http://169.254.3.3.



    Рис. 15

  5. Просмотр Web-страниц.
    Кликните по ссылкам слева для просмотра сетевой статистики, времени работы системы и состояния дисплея.



    Рис. 16

Создание собственной Web-страницы

  1. Отредактируйте html-файлы в папке C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/web_pages/.
  2. Дважды кликните по файлу mktfs.bat в папке C:/Program Files/Freescale/Freescale MQX 3.5/demo/digital_sign/.
  3. Будет создан новый файл tfs_data.c. Этот файл содержит данные тривиальной файловой системы MQX, которая загружена предварительно вместе с приложением.
  4. Если 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.

Электронные компоненты Freescale >>>
О компании Freescale >>>