====== ПО для процесорного модуля 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]] |