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

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


wiki:gem45_firmware

Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

wiki:gem45_firmware [2012/11/20 19:14] (текущий)
Строка 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 (внешнее изменение)