IAR编译优化初值为0的变量到bss段但链接时check failed
-
我们希望把一些变量赋初值为0的变量优化到bss段以节省flash资源,所以我们尝试在IAR的C/C++ Compiler->Extra Options中添加指令--do_explicit_zero_opt_in_named_sections编译

但编译后显示链接check failed报错

检查代码发现,我们attribute在data自定义段的变量同样受优化指令影响,导致大小不匹配
eg.下图红框中的变量对应上面NC_DATA_block 4字节差异


有以下几个疑问请帮忙解答:
- 导致链接check fail的具体原因是什么?
- 请问有没有什么好的方法能只将非指定data段且赋初值为0的变量优化编译到bss段,而使用attribute指定的变量保持原样?
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...




