Отладочная плата HawkBoard на базе процессора OMAP-L138. Часть 1
Все статьи цикла:
- Отладочная плата HawkBoard на базе процессора OMAP-L138. Часть 1
- Отладочная плата HawkBoard на базе процессора OMAP-L138. Часть 2
- Отладочная плата HawkBoard на базе процессора OMAP-L138. Часть 3
Процессор OMAP-L138 представляет собой так называемую «систему на кристалле». Он содержит два ядра — ARM926 и DSP С674x, а также всю необходимую периферию для создания одноплатных компьютеров: набор последовательных и параллельных интерфейсов, модули поддержки аудио и видео, часы реального времени и т. д. Функциональная схема процессора представлена на рис. 1. Предназначение процессора — реализация всевозможных промышленных контроллеров, систем управления, пультов, измерительных и медицинских приборов, коммуникационных устройств. Более подробную информацию можно получить, зайдя по ссылке [3].
Рис. 1. Функциональная схема процессора OMAP-L138
Отладочная плата HawkBoard [4] предназначена в первую очередь для быстрого освоения процессора OMAP-L138. Общий вид платы с обозначением всех интерфейсных разъемов (за исключением разъема для подключения SD/MMC, который находится с обратной стороны платы в районе USB-портов) показан на рис. 2.
Рис. 2. Общий вид отладочной платы HawkBoard
Основные характеристики платы:
- Процессорная часть:
- Малопотребляющий процессор OMAP-L138: RISC-ядро 300 МГц ARM926EJ-STM, DSP-ядро 300 МГц C674x, встроенный модуль RTC.
- Память:
- 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 и других стандартных интерфейсов позволяет решать любые задачи, доступные обычному персональному компьютеру (ПК).
Рис. 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.
Рис. 4. Настройка параметров COM-порта
Запустите терминальную программу, после чего подайте питание на плату и немного подождите. В память NAND Flash платы уже прошиты образы ядра и файловой системы, а встроенный загрузчик настроен на корректную загрузку. Загрузка происходит в несколько этапов. Вначале запускается встроенный загрузчик, который производит минимальную конфигурацию процессора и передает управление программе UBL (User Boot Loader). Программный код загрузчика UBL пишется непосредственно разработчиком под конкретную задачу. Разработчик производит окончательную настройку всей периферии процессора, а затем загружает программу U-boot, которая является загрузчиком Linux, то есть непосредственно загружает образы ядра и файловой системы. Загрузчик U-boot после выполнения своих функций передает управление ядру Linux.
Загрузка заканчивается появлением в терминальной программе приглашения нажать клавишу «Ввод»: «Please, press Enter to activate this console». Выполните требование, и вы окажетесь в консоли операционной системы Linux (рис. 5).
Рис. 5. Окончание загрузки операционной системы Linux
Убедиться в том, что мы имеем полноценную среду Linux, можно введя в консоли какую-нибудь команду, например:
$ls -l
Это команда просмотра папок и файлов. Результат ее работы показан на рис. 6.
Рис. 6. Результат выполнения команды $ls -1
Следующий этап освоения платы HawkBoard — загрузка альтернативного варианта ядра и файловой системы. Одним из способов может быть загрузка образов через fttp-соединение. Для этого необходимо запустить программу fttp-сервера PumpKIN и в настройках (кнопка Options) определить папку, где расположены образы файловой системы и ядра , как это показано на рис. 7.
Рис. 7. Настройка fttp-сервера
Скачать образы ядра и файловой системы можно по ссылке [11], это файлы «uImage_v1» и «ramdisk_v1.gz» соответственно.
Теперь перезагрузите отладочную плату HawkBoard, для чего выключите и снова включите питание. Начнется загрузка — этот процесс будет отображаться в терминале Tera Term Pro. Когда появится сообщение «Hit any key to stop autoboot», нажмите произвольную клавишу: загрузка прекратится и появится возможность настроить параметры U-boot (рис. 8).
Рис. 8. Консоль настройки U-boot загрузчика
Введите команду:
$printenv
Она позволяет просмотреть все переменные окружения. Результат ее работы показан на рис. 9.
Рис. 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.
Рис. 10. Настройка переменных окружения U-boot
Загрузка образов в оперативную память платы по fttp-соединению выполняется командами:
$tftp c0700000 uImage_v1 $tftp c1180000 ramdisk_v1.gz
Процесс загрузки будет отображаться как в терминале (рис. 11), так и в fttp-сервере (рис. 12).
Рис. 11. Отображение процесса загрузки в терминале
Рис. 12. Отображение процесса загрузки в tftp-сервере
И наконец, старт загрузки операционной системы Linux:
$bootm c0700000
Начнется загрузка операционной системы Linux, как это показано на рис. 13.
Рис. 13. Загрузка альтернативной сборки ОС Linux
После этого появится приглашение ввести имя пользователя. Необходимо набрать «root» и нажать клавишу «Ввод», и вы окажетесь в командной строке ОС Linux (рис. 14).
Рис. 14. Командная строка Linux
В следующих статьях будут рассмотрены вопросы создания собственного дистрибутива Linux для данной платы.
Литература
- http://www.innovatesolutions.net/company
- http://www.scanti.ru/
- http://focus.ti.com/docs/prod/folders/print/omap-l138.html
- http://www.innovatesolutions.net/products/hawkboard
- http://www.innovatesolutions.net/products/innovate-industrial-omap-l-138
- http://www.innovatesolutions.net/products/hawkboard-lite
- http://www.innovatesolutions.net/products/am1808-som-module
- http://focus.ti.com/docs/prod/folders/print/am1808.html
- http://ttssh2.sourceforge.jp/
- http://kin.klever.net/pumpkin/
- http://code.google.com/p/hawkboard/downloads/list