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

    1. Тактовая частота процессора и памяти.

Тактовая частота, должна быть корректно задана и используется в дальнейшем в программе u-bootи при загрузке ядра Linux.

В файле main.cppпрограммыu-boot, должна быть строка в место той, что по умолчанию:

#define AT91C_PLLA_VALUE 0x2024be04 // -> 170,496MHz

Значение 0x2024be04задает частоту.

Тактовая частота процессора получается методом программирования нескольких регистров блока PMC.

Рисунок - Power Management Controller Block Diagram

Детальное описание этого регистра описано в Datasheet, раздел:PMC Clock Generator PLL A Register, страница 285.

23.6.9 PMC Clock Generator PLL A Register

Register Name: CKGR_PLLAR

Access Type: Read/Write

Possible limitations on PLL A input frequencies and multiplier factors should be checked before using the Clock Generator.

Value to be written in CKGR_PLLAR must not be the same as current value in CKGR_PLLAR.

DIVA: Divider A

DIVA Divider Selected

0 Divider output is 0

1 Divider is bypassed

2 - 255 Divider output is the Main Clock divided by DIVA.

PLLACOUNT: PLL A Counter

Specifies the number of Slow Clock cycles before the LOCKA bit is set in PMC_SR after CKGR_PLLAR is written.

OUTA: PLL A Clock Frequency Range

OUTA PLL A Frequency Output Range

0 0 80 MHz to 160 MHz

0 1 Reserved

1 0 150 MHz to 240 MHz

1 1 Reserved

MULA: PLL A Multiplier

0 = The PLL A is deactivated.

1 up to 2047 = The PLL A Clock frequency is the PLL A input frequency multiplied by MULA + 1.

Таблица 1 - Вставка описания регистра из Datasheet.

Пояснение:

Значение (0x2024be04), присвоенное макросуAT91C_PLLA_VALUE, в дальнейшем загружается в регистр управления тактовой частотой в программеuboot:

//* -Setup the PLL A

pCkgr->CKGR_PLLAR = AT91C_PLLA_VALUE;

Формула при расчете тактовой частоты: F=Fosc*(MULA+1)/DIV;

Из значения 0x2024be04получается:

MULA = 0х24 (36)

DIV = 0х04 (4)

Fosc = 18,432МГц

После подстановки значений в формулу расчета, находим F=170,496МГц. Частота работы памяти =F/DIV=42.624 МГц.

Для вычисления значения частоты F, можно использовать программу расчета фильтра -ATMEL_PLL_LFT_Filter_CALCULATOR_AT91_2v5.xls, при использовании этой «программы», должны быть включены макросы.

Ссылка для скачивания - http://www.atmel.com/dyn/resources/prod_documents/ATMEL_PLL_LFT_Filter_CALCULATOR_AT91.zip.

Также ATMEL_PLL_LFT_Filter_CALCULATOR_AT91_2v5позволяет производить вычисления значений номиналов элементовR1,C1иC2.

Рисунок – Программа-калькулятор расчета значений номиналов элементов R1,C1 иC2 процессораAT91RM9200.

Рисунок – Программа-калькулятор расчета тактовой частоты процессора и значений номиналов элементов R1,C1 иC2.

  1. Romboot

    1. Назначение

Программа начальной инициализации, загрузчик программы U‑boot.

    1. Выполняемые действия программой

Выполняет начальную инициализацию всей периферии, позволяет программировать данные в SPI DataFlash.

    1. Возможности

1: Download Dataflash [addr]

Копирование программы по адресу [addr] используя протокол X-modem

2: Read Dataflash [addr]

Чтение содержимого по адресу [addr]

3: Start U-BOOT

Запуск программы загрузчика с ее настройками

4: Clear bootloader section in Dataflash

Очистка секции загрузки Romboot в Dataflash

    1. Подготовка к сборке Romboot

Для загрузки системы из Dataflash, нужно взять программу от производителяAtmel-Romboot.

Правленая версия под плату EVM9200доступна по адресу:http://heavy‑online.ru/arm‑linux/files/packages/romboot/romboot-evm9200.tgz.

( схема EVM9200похожа на используемую схему нами )

Теперь необходимо вносить нужные изменения и компилировать программу Romboot.

  • Необходимо, распаковать пакет Romboot.

(Или использовать пересобранный - AT91RM9200_SK_RomBoot_070302.tar.bz2( или.tar.gz) )

  • Скрипт для компиляции находится в корне исходных текстов программы: compile(UNIX-права 755).

В файле compile, нужно исправить следующую строку:

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

...

CROSS=/usr/local/arm9/bin/arm-linux-

...

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