Научтруд
Войти

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

Автор: Гук Игорь

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

Часть 1

Игорь ГУК

gook_igor@mail.ru

Отладочная плата построена на основе двухъядерного процессора OMAP-L138 компании Texas Instruments (TI). Она выпускается компанией Innovate Software Solutions [1]. В России плата уже доступна для заказа и стоит примерно $170 при покупке единичного экземпляра (цена взята с сайта компании «Сканти Рус» [2]).

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

Отладочная плата HawkBoard [4] предназначена в первую очередь для быстрого освоения процессора OMAP-L138. Общий вид

платы с обозначением всех интерфейсных разъемов (за исключением разъема для подключения SD/MMC, который находится с обратной стороны платы в районе USB-портов) показан на рис. 2.

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

1. Процессорная часть:

- Малопотребляющий процессор OMAP-L138: RISC-ядро 300 МГц ARM926EJ-STM, DSP-ядро 300 МГц C674x, встроенный модуль RTC.

2. Память:

- 128 Мбайт 150 МГц DDR2 SDRAM;

- 128 Мбайт NAND Flash;

- Один слот для подключения SD/MMC.

3. Интерфейсы:

- один последовательный порт RS-232;

- один порт Fast Ethernet (10/100 Мбит/с);

- один порт USB Host (USB 1.1);

- один порт USB OTG (USB 2.0);

- один порт SATA (3 Гбит/с);

- два видеопорта: VGA (15-контактный D-SUB) и композитный вход (RCA);

- два аудиопорта: линейный вход и линейный выход.

4. Возможность дополнительного расширения функционала (разъем расширений):

- UART (x2);

- SPI (x2);

- I2C (x1);

- eHRPWM;

5. Программная поддержка:

- первичный загрузчик U-Boot;

- пакет поддержки Linux.

Подсистема Подсистема

OMAP-L138

ARM 926EJ-S Ядро 300 МГц С674х DSP Ядро 300 МГц

ИР 16К LID 16К 1 L1P 32К L1D 32К L2 256К

Контроллер

Подключения

Периферия

128 кбайт RAM

Контролируемая шина центральных ресурсов (SCR/EDMA)

USB USB 2.0 1.1

ЕМАС SATA

WD UHPI Timer

Последовательные интерфейсы Интерфейсы внешней памяти

SPI McASP McBSP |2С UART

(2) (1) (2) (2) (3)

mDDR/ Async ММС/

DDR2 EMIF SD

16-bit 16-bit (2)

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

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

usb оте

llllllll

Память DDR-II SDRAM 128 Мбайт (MT47H64M 16HR-3:G)

■ EMIF-B Память NAND Flash 1 Гбайт (MT29F1G08 ABCHC-ET)

■ EMIF-BУправление Физический уровень Стерео аудиокодек (TLV320AIC3106)

(TPS650250) Ethernet (LAN8710A) 0

MII/RMII

■ VPIF DIN Процессор

OMAP-L138

Цифровой

видеодекодер

(TVP5147M1)

_ Композитный видеовход

■SD/MMC

-VPIF DOUTUSB Ту ре-A

, USB 1.1 . Host

Приемопередатчик

(TRS3221E)

Разъем для подключения

до р а 3 ъ до

р а с

ш и р

е н и я до

Видео ЦАП (THS8135)

Интерфейс

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

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

Компания 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.

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

.-ÜJJÜ

ЗВД YM Cori ml Wnde* &fc*

|S>Klffto№i /]• 1 і -1

2 С a £Cte KCfV 14 ЗМІ Lrjii

!£**■: «ЫМЕ. 5 t a 2 tOO ¿ur. 3 D3JÜÖ (MV

ІГИЖ-ХГ-ЗС 3 »3 a IK* Kirr IT JM? rte

а г ■«-пт-* і 0 0 ЗСИ* Kav 3 i»? 2 3b

1 гичсэтгта і о 0 11 -Inn і ППШЧЗ ->
1гя—— 2 0 a L2SÖ Jae і ZDta ■ :ü-j±>i

Sreetf-tr1-* A 0 □ iDjj і krv- 2a j :hj j rrdia

ir-*r-TT—і 34 0 Q (1 Jen ї po-rtc

ігм-їт-тг-Х 2 €i 0 SCi« Огч TI ЗСЩ5 ГМГС

Jl VJ&I.-JI.L-&-K 2 t 5 1СЛ 4ui її 1 Mi іЬлі

11 ts a £i Jin 1 ¡55:00 жуя

Isaacwjuut 3 i a і Вдздо tnp

imnr-XT-X i 0 0 HQi* Kgv n 3 50? ягг

! 1 ttwfctiMJrd rJl#

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

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

*™*TW ГЩ99 t iwtmi

Яиииіц /jfi r t!J4№täO]

F r=*?ffw:

.fctmtini ,■*¥.& pLa с ілсслзв;

ü üiifW.

tupvkaülng iün с vLW: lAEKhri Г ITT d=Svrr [бсшЕ It №Г| l*L : jr-kytüi.

Лмижіїг.т DC bat !L.■«7*£ тяж t IMKC.UB~

3u4E|hp& : ¡5 ГГ ГГ ‘ЛЗс-tlLng txrcBiIi «vdi ПИЙ iaitiiitt a Jib 1 CÖ:Ö5:Ü4 ■пИГЇмгіі грІя|.1п№ irii«gd rtir

ік pftstf Er _cr t-r Dc4:LY*tc Ш: caosoLr,

І і»!!ОЄгії( atib-.b. ir.ic- UHtl fMtt

SCtCftna (Mil IWin » rirtb

IM »24 *♦+. c;t ■

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

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

чиком Linux, то есть непосредственно загружает образы ядра и файловой системы. Загрузчик U-boot после выполнения своих функций передает управление ядру Linux.

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

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

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

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

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

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

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

$printenv

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

Для настройки режима загрузки образов ядра и файловой системы по Ййр-соединению необходимо определить переменные окружения ‘Ъootargs”, “вептепр” и “ipaddr”. Эта операция выполняется следующими командами:

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

$setenv ipaddr <board ipaddress>

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

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

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

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

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

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

Теперь можно сохранить произведенные настройки командой: И наконец, старт загрузки операционной системы Linux:

$saveenv $bootm c0700000

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

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

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

$tftp cO7OOOOO uImage_vl $tftp cll8OOOO ramdisk_vl.gz

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

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

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

В следующих статьях будут рассмотрены вопросы создания собственного дистрибутива 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

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

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/pZhawkboard/ downloads/list
Другие работы в данной теме:
Научтруд |