主题中讨论的其他部件:C2000WARE, controlSUITE
工具/软件:Code Composer Studio
注:这实际上是用于TMS320C2.8075万,但E2E不能识别该部件号。
根据TMS320C28x C/C++编译器手册,在“初始化静态变量和全局变量”一节中,未显式初始化的静态变量和全局变量将保持未初始化状态,这违反了C标准,该标准要求将它们初始化为零。
我们刚刚注意到手册中的这一陈述,我们处于后期阶段,更改我们的代码以解决这一问题将会带来一些痛苦。 根据我所做的实验,手册实际上并不正确。 据我所了解,静态和全局变量已正确初始化– 我假设在应用程序代码之前运行的某些启动代码中。 我在从内部闪存或外部EEPROM启动时测试了此问题(我们同时使用这两种方法)。 每次我拉动处理器的复位引脚以重新启动它时,以前设置为非零值的变量都将重置为零,而我们的代码中没有显式初始化。
其他一些详细信息:
- 我们正在使用--rom_model链接器选项。
- 我们不在链接程序命令文件中指定填充值。
您能否确认,尽管手册中有相反的说法,我们仍可以依赖所有静态和全局变量的初始化?