ошибка: атрибут раздела не разрешен при использовании в макросе - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь переместить каждое объявление следующего макроса в другой сегмент памяти.Работает нормально без атрибута section.Любые идеи о том, почему я не могу использовать это здесь, и как я мог бы заставить это работать?

 #define RINGBUFFER_DECLARE_MEMB(var, sz) \
                    uint8_t var ## __buf[sz] __attribute__((section(".rambss"))); \                                                             
                    struct ring_buffer var __attribute__((section(".rambss")))

device.h: 91: 29: ошибка: атрибут раздела не разрешен для '__iso_buf__buf' RINGBUFFER_DECLARE_MEMB (__ iso_buf, BUF_SIZE_ISOLATED);

1 Ответ

0 голосов
/ 08 июня 2019

Глупо, проблема была в том, что макрос использовался в определении структуры:

   struct a { 
      RINGBUFFER_DECLARE_MEMB(umama, 3);     
   };

Что, конечно, не разрешено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...