Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
120901-Linux-On-AT91RM9200-SK-new.doc
Скачиваний:
33
Добавлен:
05.03.2016
Размер:
798.21 Кб
Скачать
    1. Вычисление смещения карты памяти.

Карта памяти в EVM9200 ( для нашей конфигурации подходит ):

Листинг: Карта памяти:

Dataflash:

C000 0000 - romboot (32kb - 0x8000)

C000 8000 - u-boot (128kb - 0x20000)

C002 8000 - u-boot config (8kb - 0x2000)

C002 A000 - kernel (1240kb - 0x136000)

C016 0000 - initrd (2Mb - 0x200300)

C036 0300 - filesystem (4.9Mb - 0x4DFD00) - обязательно должен начинаться с нового сектора (адрес кратен 1056)

RAM:

2000 8000 - kernel (0x280000)

2028 8000 - initrd (0x500000)

20A0 0000 - compressed kernel (0x200000)

20C0 0000 - compressed initrd (0x200000)

20F0 0000 - u-boot

    1. Правка Makefile

Нужно поправить Makefile на предмет переменной CROSS_COMPILE:

Для компиляции u‑boot‑1.1.1 - подправить Makefile

Листинг программы, отображающий изменения в исходном тексте:

ifeq ($(ARCH),arm)

#CROSS_COMPILE = arm-linux-

#CROSS_COMPILE = /usr/local/arm9/bin/arm-linux-

CROSS_COMPILE = /opt/uClinux/bin/arm-elf-

Endif

    1. Сборка u‑boot‑1.1.1

Сборка осуществляется путем набора нескольких команд.

bash# make distclean

bash# make RM9200_config

bash# make

или

bash# make distclean && make RM9200_config && make

Если все удачно - получится файл u-boot.bin(gzip-версия не понадобится, т.к.rombootне держитgzip..

    1. Запись u boot 1.1.1 в DataFlash из Romboot

*----------------------------------------*

Enter: 1 c0008000

Download Dataflash [0xc0008000]

CCCCCCCCCCCC

Нужно выбрать файл romboot.binи выбрать протокол передачи файловX-modemи отправить файл.

По завершению на экране терминала появится сообщение.

Modification of Arm Vector 6 :841a0bc

Write 95744 bytes in DataFlash [0xc0008000]

Hit a Key!aflash: OK

Теперь можно загрузить u-boot-1.1.1 (в меню Rombootвыбрать пункт "3"), после выбора начнет загружатьсяU-Boot.

    1. Работа с u‑boot‑1.1.1 из DataFlash или ram

Теперь когда uboot‑1.1.1скомпилирован, с ним можно начинать работать.

Если uboot‑1.1.1был загружен вDataFlashиRombootего загрузил, то загруженныйuboot‑1.1.1имеет следующий вид:

Рисунок 3 - командная строка u‑boot‑1.1.1

Перечень доступных команд можно узнать если напрать команду:

u-boot -> ?

Также, пользуясь документами: AT91RM9200DK U-Boot User ManualиAT91RM9200DK U-Boot Developper Manual, можно ознакомиться с возможностями программыu-boot.

  1. Linux kernel – Ядро os Linux

    1. Переменные окружения для сборки ядра

Для сборки ядра, нужно обязательно помнить о следующем правиле.

- всегда должны быть особые переменные.

Для начала установим переменные окружения для сборки toolchain-а:

bash# export TARGET=arm-linux

bash# export PREFIX=/usr/local/arm9

bash# export SYSROOT=${PREFIX}/sysroot

bash# export ARCH=arm

bash# export CROSS_COMPILE=${TARGET}-

bash# export PATH=$PATH:${PREFIX}/bin

или можно в консоли выполнить:

bash$ . ./env.sh

сам скрипт имеет содерживое

#! /bin/bash

export TARGET=arm-linux

export PREFIX=/usr/local/arm9

export SYSROOT=${PREFIX}/sysroot

export ARCH=arm

export CROSS_COMPILE=${TARGET}-

export PATH=$PATH:${PREFIX}/bin

ВНИМАНИЕ ! Нельзя просто запустить env.sh ! В этом случае создастся новый шел для запуска и переменные окружения проживут в нем доли секунды, пока исполняется сам env.sh. Обязательна команда ". " - это запуск шел-скрипта без запуска дополнительного шела.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]