Содержание
ПО для процесорного модуля BlueShark OMAP3530
Требования
ПО для модуля BlueShark можно скомпилировать лишь в ОС Linux. Практики компиляции под Windows (Cygwin) пока нет.
- ОС Ubuntu или Fedora Core 11
- Компилятор ARM Linux GCC arm-2009q1 (желательно установить его в папку «/opt»). Инструкции по установке
- Утилита git
- Утилита quilt
- MMC (или обычная SD) карта объемом не более 2ГБ
Подготовка MMC карты
Для подготовки MMC карты для загрузки программ с неё потребуется считыватель MMC/SD карт.
- Скачайте и проинсталлируйте утилиту под Windows
- Вставьте карту в считывающее устройство
- Откройте «HP USB Disk Storage Format Tool»
- Выберите нужную карту
- Выберите «FAT32 as File System»
- Нажмите кнопку «Start» и затем «OK»
Теперь карта готова для записи файлов для BlueShark.
Примечание: файл MLO должен быть всегда самым первым на карте, поэтому всегда перед его записью на карточку выполняйте форматирование карты.
x-loader для загрузки с MMC
Скачайте исходные тексты загрузчика первого уровня x-loader:
git clone git://gitorious.org/x-load-omap3/mainline.git xloader cd xloader/
Включите поддержку MMC карты в файле «include/configs/omap3530beagle.h»
/* For X-loader to be flashed on to NAND disable the below macro */ #define CFG_CMD_MMC 1
Компиляция x-loader:
make distclean make omap3530beagle_config make
Чтобы использовать полученный x-loader необходимо сделать из него MLO файл. Перейти к описанию как..
x-loader для загрузки с NAND
Скачайте исходные тексты загрузчика первого уровня x-loader:
git clone git://gitorious.org/x-load-omap3/mainline.git xloader cd xloader/
Выключите поддержку MMC карты в файле «include/configs/omap3530beagle.h»
/* For X-loader to be flashed on to NAND disable the below macro */ //#define CFG_CMD_MMC 1
Компиляция x-loader:
make distclean make omap3530beagle_config make
Чтобы использовать полученный x-loader необходимо сделать из него MLO файл. Перейти к описанию как..
Создание MLO файла
Для создания MLO файла необходимо подписать x-loader специальной утилитой signGP.
signGP x-loader.bin
Полученный файл x-loader.bin.ift переименовывают в «MLO» и копируют первым на карту MMC! Если вы ошиблись при копировании или на карточке уже есть какие-либо файлы, то самый простой способ это отформатировать раздел карты.
u-boot
Существуют два варианта u-boot для Beagleboard, которые взяты за основу u-boot для BlueShark:
- Основной u-boot http://www.denx.de/wiki/U-Boot/WebHome
- Экспериментальная версия от Steve Sakoman
Обе версии имеют свои преимущества и недостатки, но конечному пользователю в принципе всё равно чем пользоваться, т.к. основная задача u-boot - загрузить ядро Linux. А с этой задачей справляется любая из выше обозначенных версий.
u-boot-omap3
Сначала рассмотрим версию от Steve, т.к. именно она используется в Angstrom Linux (stable). Данная версия подходит к Atoll-lite, т.к. не поддерживает MMC2 (Deluxe).
Возможности:
- Чтение MAC-адреса из EEPROM
- Поддержка Ethernet
- Только MMC1
Сначала скопируйте на диск репозиторий u-boot:
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3 cd u-boot-omap3 git checkout --track -b omap3-dev origin/omap3-dev git checkout d363f9cb0918a1b6b92e2e20d01543d0c4f53274
Теперь необходимо добавить изменения для архитектуры модуля BlueShark. Для этого скачайте патч: http://mentorel.ru/downloads/blueshark/bs_uboot_steve.patch и примените его к исходным кодам u-boot:
patch -p1 < bs_uboot_steve.patch
Непосредственно компиляция u-boot:
make omap3_blueshark_config make -j2 CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
Скопируйте полученный u-boot.bin на SD- карту и можете использовать его либо с карты, либо запишите в NAND-flash.
Скомпилированный u-boot |
---|
http://mentorel.ru/downloads/blueshark/demo/u-boot-omap3.tgz |
Обратите внимание, что сетевой контроллер будет работать только с данной версией u-boot. U-boot от Angstrom-demo поддерживает только возможности Beagleboard.
u-boot 2010
Данная версия включает в себя все самые новые возможности для платформы Beagleboard и Beagleboard-XM. Рекомендуется использовать именно данную версию, т.к. она позволяет работать с обеими MMC-слотами на Deluxe, а также более информативна.
За основу взяты исходники www.denx.de/git/u-boot.git ревизии «ca6e1c136ddb720c3bb2cc043b99f7f06bc46c55». Именно эта версия компилируется в dev-ветке Angstrom Linux.
1) Скачиваем исходники:
git clone git://www.denx.de/git/u-boot.git u-boot-2010.03 cd u-boot-2010.03 git checkout ca6e1c136ddb720c3bb2cc043b99f7f06bc46c55
2) Скачиваем набор патчей для OMAP3 платформ
Данный набор патчей взят из OpenEmbedded «openembedded/recipes/u-boot/u-boot_git.bb». Помимо BlueShark из этих исходников можно скомпилировать u-boot для Overo, Beagleboard, OMAP3EVM
wget http://mentorel.ru/downloads/blueshark/bs_uboot2010.patches.tgz
3) Распаковываем архив патчей в корень u-boot
tar xzf bs_uboot2010.patches.tgz
4) Применяем все патчи к исходникам:
quilt push -a
5) Непосредственно компиляция
make omap3_blueshark_config make CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
В результате получаем бинарник, который необходимо записать на SD-карту (партицию FAT32) и можно загружать платформы, основанные на модуле BlueShark.
Скомпилированный u-boot |
---|
http://mentorel.ru/downloads/blueshark/boot_v1/u-boot.bin |
kernel
Компиляция ядра описана здесь: Angstrom Linux для BlueShark