|
|
  |
Подскажите где лежит базовая инфа по настройке arm91 |
|
|
|
Jan 25 2011, 18:15
|
Группа: Новичок
Сообщений: 9
Регистрация: 25-01-11
Пользователь №: 62 470

|
Подскажите где можно найти информацию по базовым настройкам регистров ARM91, конкретно линейки ARM91x40 Ну например настройка регистров, правила конфигурации с помощью IAR например. Сам пдф на этот арм есть и я его изучил, но не знаю с чего начать, заголовочный файл подключил, а дальше не пойму что искать #include <atmel\ioat91m40800.h>
По идее перед тем, как писать программу нужно знать как сконфигурировать регистры, нужно для этого знать как они в IAR называютсся и как им присвоить значения.
|
|
|
|
|
Jan 25 2011, 20:47
|
Группа: Новичок
Сообщений: 9
Регистрация: 25-01-11
Пользователь №: 62 470

|
Спасибо, я немного понял, посмотрел и даже нашёл примеры, но только для других армов. Для AT91M40800 нет. Поищу в инете Я уже понял, там для него должен быть заголовочный файл, не самому же его писать, а примеры комманд в принципе от других армов наверно можно взять
|
|
|
|
|
Jan 26 2011, 13:56
|
Группа: Новичок
Сообщений: 9
Регистрация: 25-01-11
Пользователь №: 62 470

|
Вопрос всё же остался немного открытым.
Скажите, а как вы делаете remap в арме. Я имею в виду кто работает с каким-то армом, не важно каким, для него нужно сделать начальную настройку регистров, remap, у вас есть какой-то файл и кусок кода, который вы сами настраивали или ничего не надо? Если например приложение пустое, нужно просто remap сделать какие действия нужно совершить при запуске main?
Не нашёл что-то такой элементарной информации для си. Конечно в пдф всё есть, но привязки никакой абсолютно к практике.
|
|
|
|
|
Jan 26 2011, 14:09
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(danko_d @ Jan 26 2011, 16:56)  Я имею в виду кто работает с каким-то армом, не важно каким, для него нужно сделать начальную настройку регистров, remap, у вас есть какой-то файл и кусок кода, который вы сами настраивали или ничего не надо? Настройка делается в ассемблерном стартапе. Например, так: Код ; *************************************************************************** ; * Initialise the Memory Controller ; *
resetvec ;- | Copy the Image of the Memory Controller ldr r10, =ImageMemorySelect ; get the address of the chip select register image
;- | Copy Chip Select Register Image to Memory Controller and command remap ldmia r10!, {r0-r9, r11, r12} ; load the complete image stmia r11!, {r0-r9} ; store the complete image with the remap command mov pc, r12
___start ...
...
; *************************************************************************** ; * This is data used to setup the boards memory
ImageMemorySelect DCD 0x01003535; 0x01000000, 16MB, 2 tdf, 16 bits, 6 ws - Flash x16 DCD 0x10000000; unused DCD 0x0500353d; 0x05000000, 16MB, 2 tdf, 16 bits, 8 ws - ECS0 / CF DCD 0x0200353d; 0x02000000, 16MB, 2 tdf, 16 bits, 8 ws - ECS1 / CS8900 DCD 0x03003536; 0x03000000, 16MB, 2 tdf, 8 bits, 6 ws - Onboard PLD DCD 0x0400353e; 0x04000000, 16MB, 2 tdf, 8 bits, 8 ws - ECS2 DCD 0x60000000; unused - ECS3 DCD 0x70000000; unused DCD 0x00000001; REMAP commande DCD 0x00000006; 7 memory regions, standard read DCD EBI_BASE; EBI address DCD ___start; Start of high level initialization
|
|
|
|
|
Jan 26 2011, 14:25
|
Группа: Новичок
Сообщений: 9
Регистрация: 25-01-11
Пользователь №: 62 470

|
этот пример можно как то применить? или его можно взять из какого-то источника? ищу в интернете, не могу найти никакой информации по этому вопросу Цитата(DpInRock @ Jan 26 2011, 17:17)  Далее вы просто любыми средствами должны заставить контроллер делать то, ради чего вы его прикупили. Какими средствами???? В этом вопрос. Для этого создана тема. Какими средствами вы имеете в виду. Я не знаю что первое включить и написать в функцию main, чтобы после прошивки в арм программа инициализировала его и начала выполняться. Я его ещё не программировал. Нужно взять где-то или заголовочный файл с инициализацией или выполнить какие-то другие действия, я открывал примеры но не понял пока сути запуска армов. Как присвоить число переменной это второстепенный вопрос, мне не нужна информация как программировать, мне нужна точка отталкивания, не нужно названия регистров, их адреса, это понятно уже есть в пдф.
|
|
|
|
|
Jan 26 2011, 14:30
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Цитата Какими средствами???? Моск+IAR+datasheet. Хотя я вас понимаю. У большинства "программистов" на клавиатуре 3 клавиши - Ctrl C и V. Их можно и нужно использовать. Но только чутка потом. --- Просто вам тогда рано программировать контроллеры. Почитать надо. Оветьте себе на вопросы - что делает процессор после резета, в каком месте может располагаться ваша предполагаемая программа, как ее там разместить, как подсказать ИАРу, чтобы он транслировал ее именно в эту область и так далее...
Сообщение отредактировал DpInRock - Jan 26 2011, 14:35
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Jan 26 2011, 14:37
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(danko_d @ Jan 26 2011, 17:25)  ищу в интернете, не могу найти никакой информации по этому вопросу Могу предложить атмеловские примеры для ARM SDT 2.11. Кристалл уж очень замшелый, с примерами в те времена было не очень. Цитата(danko_d @ Jan 26 2011, 17:25)  Я не знаю что первое включить и написать в функцию main, чтобы после прошивки в арм программа инициализировала его и начала выполняться. До main'а еще далеко. Прежде всего вам нужно в стартапе настроить EBI и выполнить remap, а затем настроить стеки. Цитата(danko_d @ Jan 26 2011, 17:25)  Я его ещё не программировал. А на какой платформе у вас живет 40800? А то с программированием там тоже не все так радужно как нынче.
|
|
|
|
|
Jan 26 2011, 14:50
|
Группа: Новичок
Сообщений: 9
Регистрация: 25-01-11
Пользователь №: 62 470

|
Цитата(aaarrr @ Jan 26 2011, 17:37)  До main'а еще далеко. Прежде всего вам нужно в стартапе настроить EBI и выполнить remap, а затем настроить стеки. ++++1111 Именно это и нужно мне сделать. Именно это я и ищу. Если вы можете подсказать или конкретно или дать ссылку. Или что-то другое именно по поводу этого вопроса пожалуйста. Таким образом я могу уже более конкретно сформулировать вопрос: (если он покажется ламерским или глупым, пожалуйста об этом не говорите, на то есть у каждого свои обстоятельства) EBI - external user interface, я так понял через интерфейс внешней памяти необходимо с помощью отладочных средств сделать первоначальную настройку арма? REMAP выполнить это понятно, каким образом, прошивкой или физическим воздействием на ножку сброса? Буду использовать IAR 5.41
Сообщение отредактировал danko_d - Jan 26 2011, 14:51
|
|
|
|
|
Jan 26 2011, 15:13
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(danko_d @ Jan 26 2011, 17:50)  Именно это и нужно мне сделать. Именно это я и ищу. Если вы можете подсказать или конкретно или дать ссылку. Или что-то другое именно по поводу этого вопроса пожалуйста. Атмеловские примеры:
at91c_libraries.rar ( 437.39 килобайт )
Кол-во скачиваний: 87Цитата(danko_d @ Jan 26 2011, 17:50)  REMAP выполнить это понятно, каким образом, прошивкой или физическим воздействием на ножку сброса? Физическим воздействием на ножку сброса процессор (вместе с ремапом) можно только сбросить. А далее произойдет следующая вещь: память на nCS0 будет сконфигурирована с максимальными таймингами и отмаплена в нулевой адрес, остальные nCS недоступны, ядро начнет выполнение программы с нулевого адреса. Вашей программе прежде всего следует настроить EBI в соответствии с аппаратной конфигурацией, затем настроить стеки и передать управление на уровень выше.
|
|
|
|
|
Jan 26 2011, 16:45
|
Группа: Новичок
Сообщений: 9
Регистрация: 25-01-11
Пользователь №: 62 470

|
Спасибо за помощь, это чрезвычайно понятная и ценная для меня информация. Примеры я посмотрю. А вот последний ваш абзац очень информативный, это именно то, что хотелось знать.
|
|
|
|
|
Jan 27 2011, 06:18
|
Группа: Новичок
Сообщений: 9
Регистрация: 25-01-11
Пользователь №: 62 470

|
Я имел дело с ПЛИС и CYGNAL, арм отличается конечно, но это ничего. С теми быстро разобрался. Другой ARM мы начали применять на старой работе. Но я до него на тот момент ещё не дошёл. Да и с армом в принципе разобрался до раздела запуск ) У меня задание на новую работу. Сделаю будет новая работа не сделаю не будет. Этот арм использовали и на него сделаны платы, поэтому задание именно с ним работать. Я посмотрел ваши примеры, это примеры не для IAR, для какой-то другой среды? Какой, ARM SDT?
Сообщение отредактировал danko_d - Jan 27 2011, 06:20
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|