主题中讨论的其他器件:C2000WARE
您好!
这是支持案例">e2e.ti.com/.../3851239的延续。 根据案例的结束、我们能够刷写器件。 不过、需要进一步注意的是、RAM 和闪存执行时间不同(GPIO 切换指示的总活动时间)。 闪存需要更多时间、循环出错。 如何在加电后将整个代码从闪存复制到 RAM 并从 RAM 开始执行以避免任何时序不确定性。 如果需要、我将包含 RAM 链接器文件内容。 默认 RAM 链接器文件修改如下。
存储器
{
第0页:
开始:origin = 0x000000,length = 0x000002
//RAMM0:origin = 0x0000F5、length = 0x00030B // Default
RAMM0:origin = 0x0000F5,length = 0x00060B // Modified
RAMLS:origin = 0x008000、length = 0x003000 //已添加
//RAMLS0:origin = 0x008000、length = 0x000800 //已删除
//RAMLS1:origin = 0x008800,length = 0x000800 //已删除
//RAMLS2:origin = 0x009000,length = 0x000800 //已删除
//RAMLS3:origin = 0x009800,length = 0x000800 //已删除
//RAMLS4:origin = 0x00A000,length = 0x000800 //已删除
复位:origin = 0x3FFFC0,length = 0x000002
第1页:
BOOT_RSVD:origin = 0x000002,length = 0x0000F3
//RAMM1:origin = 0x000400,length = 0x000400 // 默认值
RAMM1:origin = 0x000700、length = 0x000200 //已修改
//RAMLS5:origin = 0x00A800,length = 0x000800 // 默认值
//RAMLS6:origin = 0x00B000,length = 0x000800 // 默认值
RAMLS5:origin = 0x00A800,length = 0x000B00 // Modified
RAMLS6:origin = 0x00B300,length = 0x000500 // Modified
RAMLS7:origin = 0x00B800,length = 0x000800
RAMGS0:origin = 0x00C000、length = 0x002000
RAMGS1:origin = 0x00E000、length = 0x002000
RAMGS2:origin = 0x010000、length = 0x002000
RAMGS3:origin = 0x012000,length = 0x002000
}
部分
{
codestart:> begin,page = 0
.TI.ramfunc:>RAMM0 page = 0
.text :>>RAMM0| RAMLS,PAGE = 0 //已修改
//.text:>>RAMM0 | RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3 | RAMLS4,PAGE = 0 // 默认
.cinit:> RAMM0,page = 0
.pinit:> RAMM0,page = 0
switch:>RAMM0,page = 0
.reset:> reset,page = 0,type = DSECT //未使用,*/
.stack:>RAMM1,PAGE = 1.
.ebss:> RAMLS5,PAGE = 1.
econst:> RAMLS5,page = 1.
.esysmem:> RAMLS5,page = 1.
RAMS0:>RAMGS0,PAGE = 1
ramgs1:>RAMGS1,page = 1.
}
谢谢、此致
Karthik R