/user/main.c:2:9: warning: section name 'bss' is not a string [-Wdeprecated-pragma-section-name] ../user/main.c:2:9: error: unexpected token in pragma section ../user/main.c:60:9: warning: section name 'bss' is not a string [-Wdeprecated-pragma-section-name] ../user/main.c:60:9: error: illegal section flags for section 'bss': 'restore' make: *** [user/main.o] Error 1
时间: 2024-02-02 16:02:36 浏览: 87
BSS138DW-7-F-VB一种2个N沟道SC70-6封装MOS管
很抱歉,我之前提供的代码有误,`#pragma section bss` 不支持 `restore` 标志。正确的做法是使用 `#pragma section` 命令,如下:
```c
#pragma section(".CPU0_DS_RAM")
#pragma section(".CPU0_DS_RAM_restore", read)
#pragma section(".CPU0_DS_RAM_ex", execute)
__attribute__((section(".CPU0_DS_RAM"))) int global_var = 0;
__attribute__((section(".CPU0_DS_RAM_restore"))) int global_var_restore = 0;
__attribute__((section(".CPU0_DS_RAM_ex"))) int global_func()
{
return 0;
}
```
这段代码会将 `global_var` 和 `global_var_restore` 放在名为 `.CPU0_DS_RAM` 的内存段中,且 `global_var_restore` 可以被读取。同时,`global_func` 函数会被放在 `.CPU0_DS_RAM_ex` 内存段中,且可以被执行。
阅读全文