Отладочная плата HawkBoard на базе процессора OMAP-L138. Часть 1

№ 7’2010
PDF версия
Отладочная плата построена на основе двухъядерного процессора OMAPL138 компании Texas Instruments (TI). Она выпускается компанией Innovate Software Solutions. В России плата уже доступна для заказа и стоит примерно $170 при покупке единичного экземпляра (цена взята с сайта компании «Сканти Рус»).

Все статьи цикла:

Процессор OMAP-L138 представляет собой так называемую «систему на кристалле». Он содержит два ядра — ARM926 и DSP С674x, а также всю необходимую периферию для создания одноплатных компьютеров: набор последовательных и параллельных интерфейсов, модули поддержки аудио и видео, часы реального времени и т. д. Функциональная схема процессора представлена на рис. 1. Предназначение процессора — реализация всевозможных промышленных контроллеров, систем управления, пультов, измерительных и медицинских приборов, коммуникационных устройств. Более подробную информацию можно получить, зайдя по ссылке [3].

Функциональная схема процессора OMAP-L138

Рис. 1. Функциональная схема процессора OMAP-L138

Отладочная плата HawkBoard [4] предназначена в первую очередь для быстрого освоения процессора OMAP-L138. Общий вид платы с обозначением всех интерфейсных разъемов (за исключением разъема для подключения SD/MMC, который находится с обратной стороны платы в районе USB-портов) показан на рис. 2.

Общий вид отладочной платы HawkBoard

Рис. 2. Общий вид отладочной платы HawkBoard

Основные характеристики платы:

  1. Процессорная часть:
    • Малопотребляющий процессор OMAP-L138: RISC-ядро 300 МГц ARM926EJ-STM, DSP-ядро 300 МГц C674x, встроенный модуль RTC.
  2. Память:
  • 128 Мбайт 150 МГц DDR2 SDRAM;
  • 128 Мбайт NAND Flash;
  • Один слот для подключения SD/MMC.
  • Интерфейсы:
    • один последовательный порт RS-232;
    • один порт Fast Ethernet (10/100 Мбит/с);
    • один порт USB Host (USB 1.1);
    • один порт USB OTG (USB 2.0);
    • один порт SATA (3 Гбит/с);
    • два видеопорта: VGA (15-контактный D-SUB) и композитный вход (RCA);
    • два аудиопорта: линейный вход и линейный выход.
  • Возможность дополнительного расширения функционала (разъем расширений):
    • VPIF;
    • UPP;
    • PRU;
    • LCDC;
    • UART (x2);
    • SPI (x2);
    • I2C (x1);
    • eCAP;
    • eHRPWM;
    • GPIO.
  • Программная поддержка:
    • первичный загрузчик U-Boot;
    • пакет поддержки Linux.

    На рис. 3 представлена функциональная схема платы. Видно, что это готовый маленький компьютер, подключив к которому клавиатуру и мышь (через USB-разветвитель на порту USB Host), а также монитор, разработчик получает полноценную Linux-машину, так как в память NAND Flash, размещенную непосредственно на отладочной плате, уже загружены образы ядра и файловой системы. Возможность установки операционных систем Linux или Windows CE, а также наличие встроенного Ethernet и других стандартных интерфейсов позволяет решать любые задачи, доступные обычному персональному компьютеру (ПК).

    Функциональная схема отладочной платы HawkBoard

    Рис. 3. Функциональная схема отладочной платы HawkBoard

    Компания Innovate Software Solutions предоставляет все исходные коды и весь необходимый инструментарий для сборки собственного ядра и файловой системы, а также для разработки своих собственных приложений.

    Данная отладочная плата может стать не только хорошим выбором для разработки программного обеспечения на процессоре OMAP-L138, но и готовым процессорным модулем при реализации конечных изделий, что значительно сократит временные и материальные затраты на разработку и производство. Например, плата может быть с успехом использована при проектировании прикроватных мониторов пациентов, пультов управления систем безопасности и пожаротушения, измерительных приборов, пультов управления станками ЧПУ, медицинских приборов, промышленных контроллеров, оконечных устройств коммуникации и т. д.

    Особо следует отметить, что этот проект интенсивно развивается. Уже сейчас доступны модули в индустриальном исполнении [5], облегченные варианты HawkBoard [6], а также модули на базе процессора AM1808 [7], который программно совместим с OMAP-L138: добавлено несколько интерфейсов, удалено ядро DSP, а конструктивно новый процессор выполнен в индустриальном исполнении. (Более подробно о новом процессоре можно узнать в [8]).

    Начать работать с отладочной платой очень просто. Подключите плату с процессором OMAP-L138 к ПК по COM-интерфейсу, а сетевым кабелем — к локальной сети. Можно подсоединить VGA-монитор, а также клавиатуру и мышь (через USB-разветвитель, подключенный к разъему USB-Hosh на плате).

    На базовом ПК с операционной системой Windows необходимо установить следующее программное обеспечение:

    • терминальную подпрограмму;
    • fttp-сервер.

    В качестве терминальной программы рекомендуется использовать Tera Term Pro [9], а fttp-сервером может служить PumpKIN [10].

    Настройка терминальной программы заключается в установлении параметров COM-порта. Они показаны на рис. 4.

    Настройка параметров COM-порта

    Рис. 4. Настройка параметров COM-порта

    Запустите терминальную программу, после чего подайте питание на плату и немного подождите. В память NAND Flash платы уже прошиты образы ядра и файловой системы, а встроенный загрузчик настроен на корректную загрузку. Загрузка происходит в несколько этапов. Вначале запускается встроенный загрузчик, который производит минимальную конфигурацию процессора и передает управление программе UBL (User Boot Loader). Программный код загрузчика UBL пишется непосредственно разработчиком под конкретную задачу. Разработчик производит окончательную настройку всей периферии процессора, а затем загружает программу U-boot, которая является загрузчиком Linux, то есть непосредственно загружает образы ядра и файловой системы. Загрузчик U-boot после выполнения своих функций передает управление ядру Linux.

    Загрузка заканчивается появлением в терминальной программе приглашения нажать клавишу «Ввод»: «Please, press Enter to activate this console». Выполните требование, и вы окажетесь в консоли операционной системы Linux (рис. 5).

    Окончание загрузки операционной системы Linux

    Рис. 5. Окончание загрузки операционной системы Linux

    Убедиться в том, что мы имеем полноценную среду Linux, можно введя в консоли какую-нибудь команду, например:

    $ls -l

    Это команда просмотра папок и файлов. Результат ее работы показан на рис. 6.

    Результат выполнения команды $ls -1

    Рис. 6. Результат выполнения команды $ls -1

    Следующий этап освоения платы HawkBoard — загрузка альтернативного варианта ядра и файловой системы. Одним из способов может быть загрузка образов через fttp-соединение. Для этого необходимо запустить программу fttp-сервера PumpKIN и в настройках (кнопка Options) определить папку, где расположены образы файловой системы и ядра , как это показано на рис. 7.

    Настройка fttp-сервера

    Рис. 7. Настройка fttp-сервера

    Скачать образы ядра и файловой системы можно по ссылке [11], это файлы «uImage_v1» и «ramdisk_v1.gz» соответственно.

    Теперь перезагрузите отладочную плату HawkBoard, для чего выключите и снова включите питание. Начнется загрузка — этот процесс будет отображаться в терминале Tera Term Pro. Когда появится сообщение «Hit any key to stop autoboot», нажмите произвольную клавишу: загрузка прекратится и появится возможность настроить параметры U-boot (рис. 8).

    Консоль настройки U-boot загрузчика

    Рис. 8. Консоль настройки U-boot загрузчика

    Введите команду:

    $printenv

    Она позволяет просмотреть все переменные окружения. Результат ее работы показан на рис. 9.

    Переменные окружения U-boot

    Рис. 9. Переменные окружения U-boot

    Для настройки режима загрузки образов ядра и файловой системы по fttp-соединению необходимо определить переменные окружения «bootargs», «serverip» и «ipaddr». Эта операция выполняется следующими командами:

    $setenv bootargs «mem=128M console=ttyS2,115200n8 root=/dev/ram0 rw initrd=0xc1180000,4M» $setenv serverip <PC ipaddress> $setenv ipaddr <board ipaddress>

    Здесь <PC ipaddress> — это адрес ПК, где запущен fttp-сервер; <board ipaaddress> — это адрес, присваиваемый отладочной плате.

    Теперь можно сохранить произведенные настройки командой:

    $saveenv

    Это позволит при повторном включении отладочной платы не вводить параметры заново. Однако рекомендуется запомнить старое значение переменной «bootargs», которое определяло режим загрузки с NAND Flash, чтобы при необходимости его можно было восстановить.

    Пример ввода команд настройки окружения показан на рис. 10.

    Настройка переменных окружения U-boot

    Рис. 10. Настройка переменных окружения U-boot

    Загрузка образов в оперативную память платы по fttp-соединению выполняется командами:

    $tftp c0700000 uImage_v1 $tftp c1180000 ramdisk_v1.gz

    Процесс загрузки будет отображаться как в терминале (рис. 11), так и в fttp-сервере (рис. 12).

    Отображение процесса загрузки в терминале

    Рис. 11. Отображение процесса загрузки в терминале

    Отображение процесса загрузки в tftp-сервере

    Рис. 12. Отображение процесса загрузки в tftp-сервере

    И наконец, старт загрузки операционной системы Linux:

    $bootm c0700000

    Начнется загрузка операционной системы Linux, как это показано на рис. 13.

    Загрузка альтернативной сборки ОС Linux

    Рис. 13. Загрузка альтернативной сборки ОС Linux

    После этого появится приглашение ввести имя пользователя. Необходимо набрать «root» и нажать клавишу «Ввод», и вы окажетесь в командной строке ОС Linux (рис. 14).

    Командная строка Linux

    Рис. 14. Командная строка Linux

    В следующих статьях будут рассмотрены вопросы создания собственного дистрибутива Linux для данной платы.

    Литература

    1. http://www.innovatesolutions.net/company
    2. http://www.scanti.ru/
    3. http://focus.ti.com/docs/prod/folders/print/omap-l138.html
    4. http://www.innovatesolutions.net/products/hawkboard
    5. http://www.innovatesolutions.net/products/innovate-industrial-omap-l-138
    6. http://www.innovatesolutions.net/products/hawkboard-lite
    7. http://www.innovatesolutions.net/products/am1808-som-module
    8. http://focus.ti.com/docs/prod/folders/print/am1808.html
    9. http://ttssh2.sourceforge.jp/
    10. http://kin.klever.net/pumpkin/
    11. http://code.google.com/p/hawkboard/downloads/list

    Добавить комментарий

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