- PVSM.RU - https://www.pvsm.ru -

Установка и сборка образа Angstrom Linux для платы TechNexion Thunder

Набор разработчика от TechNexion Thunderpack

Thunder
Здравствуй уважаемый читатель. Недавно мне довелось поработать с набором для разработчика, тайваньской компании «TechNexion Ltd [1]», под названием Thunderpack включающем в себя процессорный модуль TAO-3530 [2] и плату Thunder [3].
Процессорный модуль основан на SoC (System-on-a-Chip [4]) TI OMAP3530 [5] фирмы Texas Instruments и содержит 256 Мб DDR RAM, 512 Мб NAND Flash, DSP ядро TMS320C64+, а так же может содержать модуль Wireless LAN для поддержки WiFi.
В данном посте я хочу рассказать, про свой опыт работы с данной платой.
И так, начнём.
TAO-3530

Установка Linux 2.6.37

После беглого прочтения документации [6], сборки и включения Thunder я приступил к установке Linux. Скажу сразу, что через предлагаемый по умолчанию способ установки у меня установить не получилось. Происходил постоянный перезапуск процедуры установки. Поэтому я зашел на сайт TechNexion и скачал, любезно подготовленный и выложенный ими, образ [7]содержащий Linux 2.6.37.
По инструкции указанной в документации (раздел 9.4.1 Create the SD-card with the rescue image in a Windows environment) я подготовил SD-карту для установки Linux 2.6.37 и выполнил установку.
После установки система благополучно загрузилась, но меня ожидало разочарование т.к. сеть не заработала. Начал искать информацию по сетевой карте.
В конце документации на плату приведены схемы на Thunder (раздел 16.2 Thunder baseboard schematics) на схеме видно, что сетевой картой является конвертор USB-Ethernet собранный на контроллере SMSC LAN9500-ABZJ [8] фирмы Microchip. Поискав драйвер, в только что установленной системе, я его не обнаружил. Возможно, при сборке его забыли включить.
image

На сайте TechNexion, помимо готовых образов, выложены исходные коды для сборки образа вручную. Скачав «TAO-3530 Linux 2.6.37 / TI PSP 04.02.00.07 XUKR Source code» оказалось, что драйвер для нужной мне сетевой карты присутствует и включен для сборки. Осталось только пересобрать образ.

Сборка образа Angstrom Linux 2.6.37

Сборку образа я выполнял на Ubuntu 12.04, предварительно установив её на VirtualBox. В документации на Thunder разработчики советуют выполнять сборку, используя Toolchain Code Sourcery G++ 2010.09-50 (gcc 4.5.1). Хочу обратить ВНИМАНИЕ, что для сборки образа Angstrom Linux 2.6.37, предоставляемого разработчиками TechNexion, следует разворачивать именно Code Sourcery G++ 2010.09-50.
Первым делом скачиваем arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 [9] или с сайта Mentor Graphics [10] и распаковываем в папку /opt/codesourcery.

$cd /opt
$sudo mkdir codesourcery
$cd codesourcery
$sudo wget ftp://ftp.ru.debian.org/gentoo-distfiles/distfiles/arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
$sudo tar xvf arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

image

Определяем переменные окружения. Для этого в файл /etc/environment дописываем:

export ARCH=arm
export CROSS_COMPILE=/opt/codesourcery/arm-2010.09/bin/arm-none-linux-gnueabi-

Создаем папку files в корневом каталоге, и копируем в неё исходные коды для создания образа Angstrom Linux 2.6.37.

$cd /
$sudo mkdir files
$cd files
$sudo wget http://technexion.com/images/downloads/ARM_CPU_Modules/xukr-20131014-omap3.tar.xz
$sudo tar xvf xukr-20131014-omap3.tar.xz 

image

Устанавливаем uboot-mkimage.

$sudo apt-get install uboot-mkimage

Теперь необходимо перезагрузить систему для того, чтобы работали, нами установленные, переменные окружения.

Осталось подправить конфигурацию ядра для включения необходимых драйверов. Так как я буду собирать образ для платы Thunder, то путь до нужного мне файла конфигурации следующий:

/opt/files/xukr-20131014-omap3/kernel/linux-2.6.37-tn/arch/arm/configs/taotdm_defconfig

Файл конфигурации нужно открыть в любом удобном редакторе и включить интересующие опции. Я редактировал стандартным редактором файлового менеджера Midnight Commander.
Первое, что я посмотрел в файле конфигурации – это наличие включенного драйвера сетевой карты SMSC95xx.

CONFIG_USB_NET_SMSC95XX=y

Затем я включил компиляцию usb-serial драйверов.

CONFIG_USB_SERIAL=y

И включил поддержку самых распространенных чипов usb-serial PL2303 и CP210x.

CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_CP210X=y

Закрываем редактор, предварительно сохранив изменения в файле. Теперь всё готово для сборки ядра.
Переходим в каталог xukr-20131014-omap3

$cd /opt/files/xukr-20131014-omap3

И запускаем скрипт сборки с указанием названия платформы.

$sudo ./Build.sh thunder

Установка и сборка образа Angstrom Linux для платы TechNexion Thunder

Данный скрипт выполнит построение загрузчика, ядра ОС, копирование всех необходимых файлов в заранее подготовленную файловую структуру и т.п.

Затем очистки исходных кодов от созданных объектных файлов.

$sudo ./Clean.sh

И скрипт построения образа с указанием названия платформы.

$sudo ./mk_nandimg.sh thunder

После успешного завершения можете себя поздравить с созданием образа Angstrom Linux 2.6.37. Сам образ будет находиться в папке
/opt/files/xukr-20131014-omap3/build/thunder.
Осталось подготовить установочный SD-диск и установить. Данные действия описаны выше (см. Установка Linux 2.6.37).
После установки собранной системы у меня появилась сеть и поддержка usb-serial устройств.
image

Заключение

Разработчики TechNexion сделали очень удобный процесс сборки и создания образа загрузочного SD-диска не требующий глубоких познаний и опыта по сборке ядра Linux. Подготовленные ими скрипты делают всё в автоматическом режиме.
Единственно, как обычно, документация не успевает за разработчиками. Последний, на момент написания статьи, вариант документации (tao-3530-userguide-097.pdf) содержал описание сборки под старые исходники, который немного отличается.

Спасибо за внимание. В следующей статье я напишу про настройку Eclipse CDT для компиляции программ под arm, запуск приложения на Thunder и отладку программы в Eclipse.

До встречи.

Автор: RIK30

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/raspberry-pi/58774

Ссылки в тексте:

[1] TechNexion Ltd: http://technexion.com/

[2] TAO-3530: http://technexion.com/index.php/products/arm-cpu-modules/ti-omap3530/tao-3530

[3] Thunder: http://technexion.com/index.php/products/arm-cpu-modules/ti-omap3530/thunder

[4] System-on-a-Chip: http://ru.wikipedia.org/wiki/SoC

[5] TI OMAP3530: http://ru.wikipedia.org/wiki/Texas_Instruments_OMAP

[6] документации: http://technexion.com/images/downloads/ARM_CPU_Modules/TAO-3530/tao-3530-userguide-097.pdf

[7] образ : http://technexion.com/index.php/support/download-center/arm-cpu-modules/tao-3530

[8] SMSC LAN9500-ABZJ: http://ww1.microchip.com/downloads/en/DeviceDoc/9500.pdf

[9] arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2: https://www.pvsm.ruftp://ftp.ru.debian.org/gentoo-distfiles/distfiles/arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

[10] Mentor Graphics: http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/

[11] Источник: http://habrahabr.ru/post/218991/