ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
732156 Топик полностью
Ксения (29.01.2017 17:00, просмотров: 102) ответил JP111 на а что означает фраза "процессор поддержан"??? это значит что IAR должен знать его регистры? но не нашел как их именовать... Есть несколько "школ" как именуются данные регистры в хедерах от разных источников. (у одних GPIOA_CRH, у других GPIOA->CRH
"Поддержан" обычно означает, что для такого контроллера есть готовый хедер, позволяющий обращаться к его железу по мнемоникам, а не по физическим адресам. Как эти мнемоники заданы - это специфика компилятора, хотя IAR обычно довольно строго пытается следовать именам из даташита. Кроме того, для поддержанных контроллеров обычно имеются и готовые файлы конфигурации, где память уже разбита на специфические блоки по назначению, и им тоже даны имена (иначе не работает линкер). Система обозначения GPIOA_CRH - IAR'овская, для которой типично накладывать структуры прямо на память. Это экономный и эффективный способ, т.к. выглядят для компилятора, как предустановленные переменные, которыми можно оперировать напрямую. А вот обозначения типа GPIOA->CRH свойственны CMSIS, поставляемому компанией ARM. В последнем случае доступ косвенный через разыменовывание указателя со смещением. Если GPIOA объявлено, как адресная константа, то компилятор сразу вычислит адрес GPIOA->CRH и подставит в код уже готовый адрес. Но если это не так, то вычисление GPIOA->CRH может занять несколько лишних тактов, что может оказаться существенным. Поэтому IAR такой механизм старается не использовать.