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

 
 
> warning: 'io' attribute directive ignored [-Wattributes], __attribute__((io(0xXXXXXXXX)))
E_V_S
сообщение Dec 19 2012, 11:45
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 23-07-12
Пользователь №: 72 873



Доброго дня.

Подскажите пожалуйста как понимать warning: 'io' attribute directive ignored [-Wattributes] и как его победить?

Задача была "отмапировать" набор/структуру регистров по заданным адресам. C IAR все впорядке (и все уже работает), а вот GCC пишет многие WARNINGи

#ifdef __GNUC__
#define __IO_MAP(ADR) __attribute__((io(ADR)))
#else
#ifdef __IAR_SYSTEMS_ICC__
#define __IO_MAP(ADR) @ ADR
...

#define __IO_REG32_STRUCT(TYPE, NAME, MAP_TAG)\
volatile TYPE NAME MAP_TAG


получаю warning например тут:

__IO_REG32_STRUCT(t_adc, ADC_M, __IO_MAP(BASE_ADR_M_ADC) );

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
E_V_S
сообщение Dec 20 2012, 05:29
Сообщение #2





Группа: Участник
Сообщений: 12
Регистрация: 23-07-12
Пользователь №: 72 873



контроллер ARM 926ej-s.

Спасибо за ссылку.

Видимо придется использовать вариант предложенный Вами.

А что за архитектура MeP?

Еще на сколько я понял можно использовать атрибут section:

section ("section-name")
Normally, the compiler places the objects it generates in sections like data and bss. Sometimes, however, you need additional sections, or you need certain particular variables to appear in special sections, for example to map to special hardware. The section attribute specifies that a variable (or function) lives in a particular section. For example, this small program uses several specific section names:

struct duart a __attribute__ ((section ("DUART_A"))) = { 0 };
struct duart b __attribute__ ((section ("DUART_B"))) = { 0 };


но в случае с section надобно будет указывать перечисленные секции в скрипте линкера, так?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 17th August 2025 - 23:54
Рейтинг@Mail.ru


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