Страница 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++ для АРМов. Я в этом деле ещё новичок и не совсем ориентируюсь, поэтому на форуме и задал вопрос, чтобы постараться найти ответ. Будьте немного попроще в общении, коллега :wink:

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
Так вот я и ищу мануал, в котором бы было соответствие СИМВОЛИЧЕСКОЕ_ИМЯ <=> РЕГИСТР! Трудность в том, что в этих симв. структурах вводятся очень длинные аббревиаруты, не говоря уже о константах, которые, порой, нужно очень долго искать... :dont_know: Данный мануал сократил бы время поиска в разы. Наверняка такой должен быть от разработчика.

Re: Программирование ARM в IAR

Добавлено: Вт мар 22, 2011 22:57:02
lsdy
это ж зависит от разработчика IDE,к сожалению главный помощник хедлер файл

Re: Программирование ARM в IAR

Добавлено: Вт мар 22, 2011 23:52:44
Cadavre
Спасибо за ответ. Значит придётся работать с хедером :roll: