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

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

// start tempo to start Uboot in a delay of 1 sec if no key pressed

// svcUbootTempo.Start(&svcUbootTempo, 1000, 0, AT91F_StartUboot, (void *)0);

// для указания задержки - 5 sec

svcUbootTempo.Start(&svcUbootTempo, 5000, 0, AT91F_StartUboot, (void *)0);

printf("press any key to enter bootloader\n\r");

getc();

    1. Тактовая частота, sdram-память

Описание выбора тактовой частоты процессора в разделе – Тактовая частота процессора и памяти.

      1. Main.H: правка тактовой частоты процессора

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

#ifndef main_h

#define main_h

#include "embedded_services.h"

#define AT91C_MASTER_CLOCK 48000000

//#define AT91C_MASTER_CLOCK 46080000 // veter

//#define AT91C_MASTER_CLOCK 44928000

#define AT91C_BAUD_RATE 115200

#define AT91C_DOWNLOAD_BASE_ADDRESS 0x20000000

#define AT91C_DOWNLOAD_MAX_SIZE 0x00020000

#define AT91C_OFFSET_VECT6 0x14 //* Offset for ARM vector 6

#define AT91C_VERSION "VER 1.0-070219-veter"

      1. Init.Cpp: правка типа и тактовой частоты и частоты памяти

Изменение тактовой частоты процессора и периферии можно конфигурировать под данную плату.

Описание установки тактовой частоты процессора в разделе – Тактовая частота процессора и памяти.

В файле main.cpp, нужно исправить строку с переменнойAT91C_PLLA_VALUE:

Было:

//#define AT91C_PLLA_VALUE 0x2026BE04 // -> 179.712MHz

Должна стать:

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

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

void AT91F_InitSdram()

{

//*Init SDRAM

pRegister = (int *)0xFFFFFF98;

// *pRegister = 0x2188c155;

*pRegister = 0x2a99C259; // veter

}

Значение 0x2a99C259описывает конфигурацию используемого типа памяти. Используемая в плате микросхема –K4S561632E-TC75

Описание K4S561632E-TC75, из Datasheet на нее :

16M x 16 166MHz (CL=3) Organization Row Address Column Address 16Mx16 A0~A12 A0-A8 пересчитываем: 256Mbit рядов 13 колонок 9

Обращяясь к Datasheet, становится известно что регистр с адресом0xffffff90– это разделSDRAMC Configuration Register.

Вот его описание:

    1. Spi DataFlash-память

Используется последовательная память с шиной SPI, называется в программеDataflash, простоFlash– это параллельная, она не используется в этой конструкции, по этому по программе места сFlashобходятся разными путями.

      1. Dataflash.Cpp: конфигурация количества микросхем Flash-памяти

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

#define CFG_MAX_DATAFLASH_BANKS 2

#define CFG_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000

//#define CFG_DATAFLASH_LOGIC_ADDR_CS3 0xD0000000

#define CFG_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000

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