Содержание
Требования к ПК
- ПК с установленной ОС Linux (Fedore Core, Ubuntu и др.) либо образ в VMware
- Кросс-компилятор: arm-gcc
- Свободное место на диске около 100МБ
Компиляция Bootstrap
Atmel AT91Bootstrap это загрузчик первого уровня, который выполняет необходимую инициализацию периферии (GPIO, Clock, SDRAM, и т.д.), чтобы далее можно было загрузить основное приложение из Flash в основную память и запустить его.
1) Скачиваем последнюю версию AT91Bootstrap отсюда: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4093
например:
wget http://www.atmel.com/dyn/resources/prod_documents/AT91Bootstrap1.16.zip
2) Распаковываем AT91Bootstrap:
unzip AT91Bootstrap1.16.zip
получаем папку «Bootstrap-v1.16»
3) Заходим в директорию:
cd Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/
4) Компилируем с помощью кросс-компилятора
make CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
5) Получаем:
-rwxr-xr-x 1 maxx maxx 5100 2010-08-16 00:14 nandflash_at91sam9g45ekes.bin
Файл nandflash_at91sam9g45ekes.bin необходимо загрузить в NAND память с помощью утилиты SAM-BA
Компиляция u-boot
U-boot является загрузчиком второго уровня и предназначен для инициализации Flash, USB интерфейса или Ethernet. Основной задачей u-boot является загрузка операционной системы Linux.
1) Скачиваем исходные тексты u-boot и патчи at91 сообщества:
ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.4.tar.bz2
ftp://www.at91.com/pub/uboot/u-boot-1.3.4-exp.5/u-boot-1.3.4-exp.5.diff
wget ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.4.tar.bz2 wget ftp://www.at91.com/pub/uboot/u-boot-1.3.4-exp.5/u-boot-1.3.4-exp.5.diff
2) Скачиваем патчи МЕНТОР ЭЛЕКТРОНИКС:
http://mentorel.ru/downloads/gem45/gem45-uboot134.patch
wget http://mentorel.ru/downloads/gem45/gem45-uboot134.patch
3) Применяем патчи от AT91:
patch -p1 < ../u-boot-1.3.4-exp.5.diff
4) Применяем патчи от МЕНТОР ЭЛЕКТРОНИКС:
patch -p1 < ../gem45-uboot134.patch
5) Компилируем u-boot:
make at91sam9g45ekes_nandflash_config make CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
Получаем файл u-boot.bin, который надо загрузить в NAND флеш по адресу 0x20000 с помощью утилиты SAM-BA