Страница 1 из 1
Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 10:27:33
Cadavre
Здравствуйте! Недавно начал работать с AT91RM9200 через JTAG в среде IAR. Требуется писать программы на C/C++ для данного контроллера. Работу начал с примера, где уже подключена библиотека <at91rm9200.h>. Только вот возник вопрос: чтобы писать\читать в регистры, нужно иметь дело со структурами данных типа:
T91C_BASE_PIOB->PIO_PER |= ( 0xFFFFFFFF ) ; /* pio enable for LED */где мне найти мануал по таким структурам, данным и типам? в справке IARа такого нет. Неужели придётся ковыряться в *.h файле?

Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 10:41:54
Satyr
а чо, о существовании такого сайта как
www.atmel.com не слышал ? -))
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 10:42:27
Satyr
И причем тут вобще IAR?
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 11:10:55
Cadavre
на сайте atmel.com толкового ничего не нашёл. может быть кто посоветует что-нибудь почитать по программированию на C++ для ARM?
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 12:35:17
Satyr
Cadavre писал(а):на сайте atmel.com толкового ничего не нашёл.
Серьезно чтоли ? И это не нашлось ? -)))
http://www.atmel.com/dyn/resources/prod ... oc1768.pdf
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 15:24:22
Cadavre
Satyr, спасибо, конечно, но это немного не то. Это даташит, а не руководство по C/C++ для АРМов. Я в этом деле ещё новичок и не совсем ориентируюсь, поэтому на форуме и задал вопрос, чтобы постараться найти ответ. Будьте немного попроще в общении, коллега

Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 15:27:24
Satyr
Cadavre писал(а):Satyr, спасибо, конечно, но это немного не то. Это даташит, а не руководство по C/C++ для АРМов.
А C/C++ там абсолютно такой же как на x86 и всем остальном.
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 15:29:00
Satyr
Только твой вопрос же не про C, а конкретно про внутренние регистры и переферию контроллера, не так ли ? -))
Cadavre писал(а):где мне найти мануал по таким структурам, данным и типам? в справке IARа такого нет. Неужели придётся ковыряться в *.h файле?

Вот именно она в том мануале и описана.
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 15:42:50
Cadavre

Дабы наконец состоялись понятки, я напишу кусок кода:
/* general preparations */
AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF ; /* reset the aic, disable all interrupts */
AT91C_BASE_AIC->AIC_ICCR = 0xFFFFFFFF ; /* clear all interrupts */
AT91C_BASE_AIC->AIC_EOICR = 0 ; /* unstack one level */
AT91C_BASE_PMC->PMC_PCER |= ( 1UL<<AT91C_ID_PIOB ) ; /* enable piob */
AT91C_BASE_PMC->PMC_PCER |= ( 1UL<<AT91C_ID_TC2 ) ; /* enable tc2 */Грамотный программист знает, что структуры в С выглядят как вышеупомянутое, например: struct AT91C_BASE_AIC{...Поля...} или как поле AT91_ID_ODR... Всё это хранится в заголовочном файле (*.h). Вопрос в том и состоит: ГДЕ найти описания к данным определениям? копаться в *.h файле будет трудно, поэтому и должен быть где-то более читабельный мануал (с содержанием, примерами).
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 16:39:03
Satyr
Cadavre писал(а)::)) Дабы наконец состоялись понятки, я напишу кусок кода:
[color=#0080BF]/* general preparations */
AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF ; /* reset the aic, disable all interrupts */
Дабы наконец дошло -
http://www.atmel.com/dyn/resources/prod ... oc1768.pdf , страница 257
Все эти структуры - лишь символические имена для регистров переферии процессора, которые описаны в даташите на процессор. Это пустышка, чисто для удобства. Это не настоящая структура.
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 16:53:02
Satyr
к IARу эти структутры не имеют никакого отношения. Если выбрать в свойствах IAR EW for ARM другой процессор, то все структуры будут соверешнно иные с другими названиями и содержимым.
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 17:09:36
Cadavre
Так вот я и ищу мануал, в котором бы было соответствие СИМВОЛИЧЕСКОЕ_ИМЯ <=> РЕГИСТР! Трудность в том, что в этих симв. структурах вводятся очень длинные аббревиаруты, не говоря уже о константах, которые, порой, нужно очень долго искать...

Данный мануал сократил бы время поиска в разы. Наверняка такой должен быть от разработчика.
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 22:57:02
lsdy
это ж зависит от разработчика IDE,к сожалению главный помощник хедлер файл
Re: Программирование ARM в IAR
Добавлено: Вт мар 22, 2011 23:52:44
Cadavre
Спасибо за ответ. Значит придётся работать с хедером
