Other Parts Discussed in Thread: TMS320F28379D
部件号: TMS320F28379D
您好:
我正在为 TMS320F28379D 开发自定义引导加载程序、我面临在软件复位时在 RAM 中保留状态标志的问题。
我需要将“引导标志“从主应用程序传递到引导加载程序以强制更新模式。
-
应用程序将幻值写入 RAM 中的共享变量。
-
应用程序使用触发软件重置
SysCtl_resetDevice()。 -
引导加载程序会启动、检查变量、如果魔术值存在、则保持在引导模式下。
即使我已 type = NOINIT在链接器命令文件中将该段定义、该变量看起来在软件复位后重新初始化(清除为 0)或被覆盖。 引导加载程序读取该值时、该值就会消失。
我的实施:
1.c 代码(声明): 我正在使用#pragma NOINIT并确保变量没有在代码中显式初始化。

2.链接器命令文件 (.cmd): 我将该段映射到第 1 页上的“Global Shared RAM“中的 RAM_EXCHANGE。


我的问题:
-
标准 TI
_c_int00启动例程中是否有任何机制可以覆盖NOINITGS RAM 中段的属性? -
器件引导 ROM 是否执行(在复位后和引导加载程序之前立即运行)使用或清除 RAMGSx 的特定区域、可能会覆盖我的标志?
-
对于 F2837xD 上的软件复位期间的持续标志、是否有建议的“安全“RAM 位置?
如果您对如何保持此数据的持久性提出任何建议、我们将不胜感激。
谢谢你。
