- •Инсталляция os Linux на аппаратную платформу at91rm9200_sk
- •Список используемой литературы.
- •Описание процессораAt91rm9200
- •Микроконтроллер на основе процессора arm920t ™
- •Структурная схема микроконтроллера at91rm9200:
- •Общее описание:
- •Структурная схема разрабатываемой аппаратной платформы
- •Установка и настройка tftpd
- •Сборка tftp:
- •Настройка периферии
- •Тактовая частота процессора и памяти.
- •Romboot
- •Main.Cpp: правка времени ожидания
- •Тактовая частота, sdram-память
- •Main.H: правка тактовой частоты процессора
- •Init.Cpp: правка типа и тактовой частоты и частоты памяти
- •Spi DataFlash-память
- •Dataflash.Cpp: конфигурация количества микросхем Flash-памяти
- •Dataflash.H: конфигурация количества микросхем Flash-памяти
- •Dataflash.Cpp: инициализация
- •At45.Cpp - конфигурация количества микросхем Flash-памяти
- •Компиляция программы Romboot
- •Программирование spi Dataflash.
- •Назначение
- •Возможности
- •U‑boot‑1.1.1/board/rm9200/rm9200.C – номер архитектуры
- •U‑boot‑1.1.1/include/configs/rm9200.H – файл конфигурации платы
- •Дополнительная spi DataFlash
- •U‑boot‑1.1.1/cpu/at91rm9200/at45.C – драйвер DataFlash памяти at45dBxxx
- •Драйвер Ethernet - lxt972
- •U‑boot‑1.1.1/include/lxt971a.H
- •U‑boot‑1.1.1/include/at91rm9200_net.H – подключение header-драйвера
- •U‑boot‑1.1.1/board/rm9200/at91rm9200_ether.C (et_enable)
- •U‑boot‑1.1.1/board/rm9200/at91rm9200_ether.C – добавление драйвера lxt972
- •U‑boot‑1.1.1/include/configs/rm9200.H - набор сетевых команд
- •Компиляция u-boot-1.1.1
- •Перечень программ и утилит для сборки u-boot-1.1.1
- •Содержимое файла readme.U‑boot.Patches
- •Вычисление смещения карты памяти.
- •Правка Makefile
- •Сборка u‑boot‑1.1.1
- •Запись u boot 1.1.1 в DataFlash из Romboot
- •Работа с u‑boot‑1.1.1 из DataFlash или ram
- •Linux kernel – Ядро os Linux
- •Переменные окружения для сборки ядра
- •Конфигурации ядра
- •Подготовка к компиляции
- •Конфигурация
- •Редактирование исходного текста
- •Подключение конструктивного исполнения контроллера
- •Подключение светодиода
- •Подключение Ethernet контроллера
- •Подключение Dataflash
- •Компиляция ядра
- •Конечная сборка ядра и инсталляция
- •Скрипт для сборки сжатых образов
- •Результат сборки образов из скрипта
- •Linux usb File System – usb Файловая система
- •Linux Configuration – Конфигурация Дистрибутива
- •Установка и настройка платы at91rm9200_sk
- •Linux Tune – Настройка под конечную цель
- •2007Г. Инженер-электроник: Станислав г. Приходько
Компиляция программы Romboot
Свободно компилируется используя toolchain-1.
Для компиляции, запустить на исполнение скрипт из консоли:
root@server:AT91RM9200_SK_RomBoot_070302# ./compile
text data bss dec hex filename
10795 44 656 11495 2ce7 romboot.out
root@server:AT91RM9200_SK_RomBoot_070302#
Программирование spi Dataflash.
Если в Dataflashуже присутствует загрузчик, который необходимо стереть, делается следующая последовательность действий:
установить перемычку/джампер на 9-10 выводах разъема XP1.
нажать на reset
снять перемычку/джампер на 9-10 выводах разъема XP1.
Если процессор включился на свой boot, то в консоли терминала (параметры терминала - 115200 8N1), на порту DBGU, появятся символы 'C' (CCCCCCCCCC). Это значит, что активирован встроенный в ROM процессора протокол X-modem.
Теперь, скомпилированный и настроенный romboot.bin нужно загрузить в процессор.
Приготовиться по окончании программирования нажать Enter.
romboot запустится, и появится возможность записать его в Dataflash.
При нажатии на любую клавишу в терминале, после включения питания (или reset`а), будет сообщение:
AT91F_LowLevelInit(): Debug channel initialized press any key to enter bootloader ATMEL LOADER VER 1.01 Jan 17 2007 09:45:22 *----------------------------------------* DataFlash:AT45DB642 Nb pages: 008192 Page Size: 001056 Size=08650752 bytes Logical address: 0xC0000000 DataFlash:AT45DB642 Nb pages: 008192 Page Size: 001056 Size=08650752 bytes Logical address: 0xD0000000 *----------------------------------------* 1: Download Dataflash [addr] 2: Read Dataflash [addr] 3: Start U-BOOT 4: Clear bootloader section in Dataflash *----------------------------------------* Enter:
На терминале это выглядит так:
Для этого нужно дать команду: "1 C0000000" и нажатьEnter.
Побегут буковки 'C' - устройство готово принять записываемый в Dataflashфайл (в данный момент romboot.bin).
По завершению, romboot сообщит, что записал в Dataflash и подправил 6-й вектор, вернет код Dataflash.
На терминале появиться сообщение: Modification of Arm Vector 6 :841a0bc Write 95744 bytes in DataFlash [0xc0000000] Hit a Key!aflash: OK
Теперь можно грузиться с Dataflash-а.
ВНИМАНИЕ!!!
Если Вам не нужен процесс автоматического запуска u-boot-а, а требуется выйти в меню romboot-, необходимо в течение секунды после появления приглашения нажать любую кнопку.
Если секунды мало (или много), можно изменить это время. Для этого нужно отредактировать исходный текст Romboot, как это сказано в «разделе main.cpp: правка времени ожидания», затемRombootнеобходимо пересобрать и вновь зашить вDataflash.
U-boot
Назначение
u-boot-1.1.1- Программа основной инициализации и установки параметров загрузки.
Возможности
u-boot-1.1.1- позволяет управлять параметрами загрузки ядра, изменяет и показывает среду окружения, может сохранять переменные окружения вDataflash.
Возможности программы u-boot, описаны в оригинальном документе: «AT91RM9200DK U-Boot Flash Programming Solutions » - doc6041.pdf, страница 2
• Standalone primary bootstrap
• Small footprint
• OS-independent
• Auto-boot and interactive modes
• Command line interface
• Non-volatile environment variables
• Flash programming capability
• DataFlash programming capability (only available in latest Open Source download)
• Download through serial interface (Kermit protocol)
• Download through Ethernet (tftp)
• Integrated bootp
• Scripting capability
Данный документ доступен на сайте фирмы ATMEL.