【发布时间】:2013-02-08 09:48:12
【问题描述】:
我正在开发基于 Renesas RL78 控制器的汽车软件堆栈。直接进入问题,声明为 const(ROM 变量)的变量没有使用定义的值进行初始化。
例如:const uint8 var_test = 1;
另一方面,全局静态变量正在初始化。
这是启动代码的问题吗?请建议...
【问题讨论】:
-
你用的是什么编译器?
-
您如何确定变量未正确初始化?你能做一个最小的重现测试用例吗?
-
@joe,我正在使用 IAR 编译器
-
@KerrekSB 我正在通过提供的监视窗口检查,我没有为它制作任何特定的测试用例。
-
考虑使用 IAR 特定的关键字 __flash。在我使用的 IAR 版本中,const 被放入 RAM 段并在启动时初始化,即使您认为它是 ROM。你有一个low_level_init() 函数吗?它返回 1 吗?