====== ПО для процесорного модуля BlueShark OMAP3530 ====== ===== Требования ===== ПО для модуля BlueShark можно скомпилировать лишь в ОС Linux. Практики компиляции под Windows (Cygwin) пока нет. * ОС Ubuntu или Fedora Core 11 * Компилятор ARM Linux GCC [[http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2|arm-2009q1]] (желательно установить его в папку <>). [[arm-gcc|Инструкции по установке]] * Утилита git * Утилита quilt * MMC (или обычная SD) карта объемом не более 2ГБ ===== Подготовка MMC карты ===== Для подготовки MMC карты для загрузки программ с неё потребуется считыватель MMC/SD карт. * Скачайте и проинсталлируйте утилиту под Windows [[http://www.digitalsignagetechnology.com/forum/download/file.php?id=25&sid=bfbab0908f1a2f8434855c9f9b80e889]] * Вставьте карту в считывающее устройство * Откройте <> * Выберите нужную карту * Выберите <> * Нажмите кнопку "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 файл. [[#Создание 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 файла ===== Для создания MLO файла необходимо подписать x-loader специальной утилитой [[http://beagleboard.googlecode.com/files/signGP|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_blueshark|Angstrom Linux для BlueShark]]