русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подготовка к компиляции


Дата добавления: 2014-11-28; просмотров: 727; Нарушение авторских прав


 

Не забываем исправить arch/arm/mach-at91rm9200/ на предмет своей переферии.

 

1. Кол-во используемых uart-ов описывается в файле ядра описывающий особенности аппаратуры - arch/arm/mach‑at91rm9200/board‑dk.c:

 

….

/*

* Serial port configuration.

* 0 .. 3 = USART0 .. USART3

* 4 = DBGU

*/

static struct at91_uart_config __initdata dk_uart_config = {

.console_tty = 0, /* ttyS0 */

.nr_tty = 2,

.tty_map = { 4, 1, -1, -1, -1 } /* ttyS0, ..., ttyS4 */

};

 

Если требуется изменить параметры инициализации портов (например включить режим RS485) - смотрим в arch/arm/mach‑at91rm9200/devices.c. Там находится код инициализации уартов.

2. В файле arch/arm/mach‑at91rm9200/board‑dk.c надо поправить строчку описания машины.

Иначе на EVM9200 не запустится и будет орать о неверном коде платформы: поменять:

 

MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")

на:

MACHINE_START(AT91RM9200, "uCrouter EVM9200")

 

Это если сборка как EVM9200.

 

 

У нас (в нашей случае) в конечном итоге собрано как "Atmel AT91RM9200‑DK" и поставлено в ядре:

 

MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")

 

Некорректно настроенный это кусок – приводит к ошибке при загрузке ядра:

 

Starting kernel ...

Error: unrecognized/unsupported machine ID (r1 = 0x000000fb).

Available machine support:

ID (hex) NAME
00000106 uCrouter EVM9200

Please check your kernel config and/or bootloader

 

В этом случае нужно проверять, все ли в порядке настроено в файлах исходниках ядра.

 

Вот здесь сказано, как нужно чинить такую проблему:

http://lists.arm.linux.org.uk/pipermail/linux-arm/2005-August/010446.html



 

> Error: unrecognized/unsupported machine ID (r1 = 0x000000fb).

>

> Available machine support:

>

> ID (hex) NAME

> 00000106 Atmel AT91RM9200-DK

> 000002c1 Atmel AT91RM9200-EK

this kind of error message happens if the machine ID which is set

in U-Boot doesn't match the kernel's ID(s). Unfortunately a

standard U-Boot sets the machine ID on AT91RM9200DK boards not to

MACH_TYPE_AT91RM9200DK but to the generic MACH_TYPE_AT91RM9200.

You can either this in board/at91rm9200dk/at91rm9200dk.c; I would

recommend to obtain a new machine ID and create your own U-Boot

board type, using board/at91rm9200dk as a template. The list of

machine IDs can be found in include/asm-arm/mach-types.h.

The Linux kernel has to be changed accordingly to the above machine

ID. There you can find the information in

arch/arm/tools/mach-types

arch/arm/boot/compressed/head-at91rm9200.S

arch/arm/mach-at91rm9200/board-dk.c

 

 

3. Если хочется использовать две Dataflash на плате - то первую вешаем на CS0 (с нее будет идти загрузка). Вторую вешаем на CS3. Для поддержки второй флэшки надо включить поддержку "Dataflash Card" в ядре.

 



<== предыдущая лекция | следующая лекция ==>
Запись u boot 1.1.1 в DataFlash из Romboot | At91rm9200_initialize(18432000, AT91RM9200_PQFP); // veter


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.041 сек.