我正在尝试将以下宏的每个声明移到另一个内存段。没有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);
答案 0 :(得分:0)
愚蠢的我,问题在于宏用于结构定义:
struct a {
RINGBUFFER_DECLARE_MEMB(umama, 3);
};
那当然是不允许的