compiler: arm-none-eabi-gcc
mcu: stm32
由于内部RAM不够,外扩了SDRAM,包括.sdram_data段和.sdram_bss段。
BSS段的代码如下:
asm(".section .sdram_bss, \"wa\", %nobits");
#define SDRAM_BSS __attribute__((section(".sdram_bss")))
SDRAM_BSS volatile uint32_t b[200 * 1024];
但是编译时出现了警告信息:
C:\cygwin\tmp\ccImZfZa.s:302: Warning: ignoring changed section type for .sdram_bss
C:\cygwin\tmp\ccImZfZa.s:302: Warning: ignoring changed section attributes for .sdram_bss
请问这是什么原因呢?
asm(".section .sdram_bss, \"wa\", %nobits"); 这句是内敛的汇编,是不是这句不对呢?
如果不用内敛汇编的话,C语言有可以设置段属性的语句吗?只看到有设定段名字的。
谢谢先!