Инструменты пользователя

Инструменты сайта


wiki:gem45_firmware
no way to compare when less than two revisions

Различия

Показаны различия между двумя версиями страницы.


wiki:gem45_firmware [2012/11/20 19:14] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Требования к ПК ======
  
 +  * ПК с установленной ОС 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]]
 +
 +например:
 +<code>
 +wget http://www.atmel.com/dyn/resources/prod_documents/AT91Bootstrap1.16.zip
 +</code>
 +
 +2) Распаковываем AT91Bootstrap:
 +<code>
 +unzip AT91Bootstrap1.16.zip
 +</code>
 +получаем папку "Bootstrap-v1.16"
 +
 +3) Заходим в директорию:
 +<code>
 +cd Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/
 +</code>
 +
 +4) Компилируем с помощью кросс-компилятора
 +<code>
 +make CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
 +</code>
 +
 +5) Получаем:
 +<code>
 +-rwxr-xr-x 1 maxx maxx  5100 2010-08-16 00:14 nandflash_at91sam9g45ekes.bin
 +</code>
 +
 +Файл 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]]\\
 +<code>
 +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
 +</code>
 +
 +2) Скачиваем патчи МЕНТОР ЭЛЕКТРОНИКС:\\
 +[[http://mentorel.ru/downloads/gem45/gem45-uboot134.patch]]
 +<code>
 +wget http://mentorel.ru/downloads/gem45/gem45-uboot134.patch
 +</code>
 +
 +3) Применяем патчи от AT91:
 +<code>
 +patch -p1 < ../u-boot-1.3.4-exp.5.diff
 +</code>
 +
 +4) Применяем патчи от МЕНТОР ЭЛЕКТРОНИКС:
 +<code>
 +patch -p1 < ../gem45-uboot134.patch
 +</code>
 +
 +5) Компилируем u-boot:
 +<code>
 +make at91sam9g45ekes_nandflash_config
 +make CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
 +</code>
 +
 +Получаем файл u-boot.bin, который надо загрузить в NAND флеш по адресу 0x20000 с помощью утилиты [[SAM-BA]]
 +
 +===== Пресобранные образы bootstrap и u-boot =====
 +
 +^Bootstrap 1.16|[[http://mentorel.ru/downloads/gem45/nandflash_at91sam9g45ekes.bin]]|
 +^u-boot 1.3.4|[[http://mentorel.ru/downloads/gem45/u-boot.bin]]|
wiki/gem45_firmware.txt · Последнее изменение: 2012/11/20 19:14 — 127.0.0.1