====== ПО для процесорного модуля BlueShark v3 OMAP35xx ======
===== Требования =====
ПО для модуля 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) карта
===== Компиляция x-loader =====
Для BlueShark v3 потребуется x-loader с небольшими изменениями, связанными с аппаратной конфигурацией модуля, а именно организации ОЗУ. На v3 используется один чип памяти с одним банком 32бит. На v1 использовался один чип с двумя банками по 32бит.
Скачайте x-loader:
git clone git://gitorious.org/x-load-omap3/mainline.git xloader
cd xloader/
Скачайте [[http://www.mentorel.ru/downloads/blueshark/xload_bsv3.patch|патч]] для модуля BlueShark v3:
wget http://www.mentorel.ru/downloads/blueshark/xload_bsv3.patch
Зайдите в директорию x-loader и примените патч:
cd xloader
patch -p1 < ../xload_bsv3.patch
Скомпилируйте x-loader. Для этого в переменных окружения должен быть путь к arm-none-linux-gnueabi-gcc: это делается командой "export PATH=/opt/arm-2009q1/bin:$PATH"
make distclean
make blueshark_config
make ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi-
**Для модулей с NAND, имеющим размер сектора 256к и страницей 4к, задайте конфигурацию с помощью команды:**
make blueshark_nand4k_config
Модули BlueShark могут иметь **128М** или **256М** DDR памяти. Это необходимо явно указать через определения в файле include/configs/blueshark.h:
/* Choose memory amount for BlueShark v3 */
//#define CFG_BSV3SDRAM_128M 1
#define CFG_BSV3SDRAM_256M 1
Нужно оставить включенным один из "define" и пересобрать x-loader.
===== Создание MLO файла =====
Для создания MLO файла необходимо подписать x-loader специальной утилитой [[http://beagleboard.googlecode.com/files/signGP|signGP]].
signGP x-load.bin
Полученный файл x-loader.bin.ift переименовывают в "MLO" и копируют **первым** на карту MMC! Если вы ошиблись при копировании или на карточке уже есть какие-либо файлы, то самый простой способ это отформатировать раздел карты.
===== 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-
**Для модулей с NAND, имеющим размер сектора 256к и страницей 4к, задайте конфигурацию с помощью команды:**
make omap3_blueshark_nand4k_config
В результате получаем бинарник, который необходимо записать на SD-карту (партицию FAT32) и можно загружать платформы, основанные на модуле BlueShark.
^Скомпилированный u-boot|
| [[http://mentorel.ru/downloads/blueshark/boot_v3/u-boot.bin]] |