реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Помогите начать с АРМ
Loque
сообщение Jan 25 2009, 13:51
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 21-01-09
Пользователь №: 43 738



Раньше писал только для АВРов, но вот на работе "грянул гром" - необходимость освоить АРМ9. а конкретно РМ9200. С большим трудом разобрался, какой софт и какие доки откуда скачать, "Instruction Set" вообще только сегодня нашёл crying.gif - спустя несколько месяцев мучений. Книгу Мартина по АРМ7 читал. Ну в общем это всё лирика - поставил Кейл 3.40, с огр. кода, прикручен к нему вигглер + 9200EK(аналог). Суть в чем - не могу запустить примеры, да и вообще всё как в тумане. Железо пока отложил, пытаюсь разобраться в симуляторе. Дык вот - с LPC21xx - всё получается, и в принципе понятно. Blinky и проч. - работают, мигают светиками и не ругаются. В AT91RM9200-EK - примеры отказываются работать.Мне показалось ,что возможно startup.s там сделан нет как рабочий пример,а больше как шаблон. Разобрался с таблицей векторов, но дальше - ни шагу.Вот что такого страшного в коде:
Код
                LDR     R0, =PMC_BASE

               ; System Clock Enable
                LDR     R1, =PMC_SCER_Val
                STR     R1, [R0, #PMC_SCER_OFS]

после чего : *** error 65: access violation at 0xFFFFFC00 : no 'write' permission
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 25 2009, 14:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



В коде ничего страшного нет. Боюсь, что это не тот случай, когда можно отложить железо и тренироваться в симуляторе.
Go to the top of the page
 
+Quote Post
Loque
сообщение Jan 25 2009, 15:00
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 21-01-09
Пользователь №: 43 738



Цитата(aaarrr @ Jan 25 2009, 16:53) *
В коде ничего страшного нет. Боюсь, что это не тот случай, когда можно отложить железо и тренироваться в симуляторе.

А почему? В чем смысл ошибки, насколько я понимаю - запрещена запись по этому адресу , но ведь этот адрес - один из регистров, PMC ?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 25 2009, 17:09
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Так в симуляторе кейла PMC у РМ9200 не поддерживается.
Надо в ini файле для дебугера просто объявить память как записываемую.
Но симуляции, конечно, никакой не будет.


Цитата(Loque @ Jan 25 2009, 17:00) *
А почему? В чем смысл ошибки, насколько я понимаю - запрещена запись по этому адресу , но ведь этот адрес - один из регистров, PMC ?
Go to the top of the page
 
+Quote Post
Loque
сообщение Jan 25 2009, 18:25
Сообщение #5





Группа: Новичок
Сообщений: 4
Регистрация: 21-01-09
Пользователь №: 43 738



Цитата(AlexandrY @ Jan 25 2009, 19:09) *

Надо в ini файле для дебугера просто объявить память как записываемую. - А можно подробнее?
PMC у РМ9200 не поддерживается. - другие регистры аналогично, и вообще, как правильно настроить IDE?
Но симуляции, конечно, никакой не будет. - совсем ничего????
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 25 2009, 18:42
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Вы просто маленько влипли.
Ну не собирается Keil делать симуляцию морально устаревших кристаллов!
Как писать ini я пожалуй пересказывать мануал кейла не буду.
Дам только совет. Сделйте в Keil-е разные Project Targets как это делается в большинстве ихних примеров.
Один для реального железа, а один для симулятора.
В проекте для симулятора определите макрос какой-нить чтоб отличать проекты и по этому макросу отключайте всю инициализацию и обращения к специальной периферии.
В РМ9200 вам не светит практически ничего ;( судя по вкладке доступной периферии в симуляторе.
Go to the top of the page
 
+Quote Post
Loque
сообщение Jan 26 2009, 08:44
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 21-01-09
Пользователь №: 43 738



Цитата(AlexandrY @ Jan 25 2009, 20:42) *
Как писать ini я пожалуй пересказывать мануал кейла не буду.

Вы просто маленько влипли. - да не так,что бы... но вы мне пролили свет на проблему, спасибо. А то я уже думал - то ли я дурак, то ли ещё что-то... Ну хорошо, отложим симулятор,раз он кривой.Сделйте в Keil-е разные Project Targets как это делается в большинстве ихних примеров. - ну так и делал. А вообще мне нужен ликбез по началам работы , я даже не знаю - это к армам относится или к собсвенно софту от Кейл... ну например Как писать ini - что такое "ini"? Что означают окошки с адресами на вкладке Target внизу, "memory areas".И ещё один, по-моему, важный вопрос: Берем свежеустановленный Кейл, берем любой пример, у которого есть таржет и под симулятор, и под железо. Например Blinky под LPC2129. В его папке есть файл blinky.axf - я так понял - это и есть выходной файл. Обьем порядка 8 кБ. Запускаем дебуг - работает. Если сделать перекомпиляцию - объем blinky.axf становится больше 22кБ. Но всё продолжает работать...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 05:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016