Ecc option开启后报错解决(植入实际程序后)

1. Error #10413: 指定地址不在已初始化的 section 中

#10413: error specified at 0x86000 does not lie within an initialized section

这个错误表示没有对改地址进行初始化操作,原始cmd文件中是这样定义的:

FLASH_BANK0_SEC6  : origin = 0x086000, length = 0x001000    /* on-chip Flash */

再没有开启ecc功能之前,没有报错,因此这是ECC配置没有成功告诉链接器SEC6是有效的。因此需要再ECC配置中指明FLASH_BANK0_SEC6时ECC要涵盖的区域。对于auto模式,flash数据和ecc地址是自动完成映射的,但是由于我们需要引入错误位,因此改用手动模式,这时就需要再cmd文件中添加ecc的地址,并且在cmd中添加ECC模块的支持算法,修改后的cmd文件如下:

   /* BANK 0 */

   FLASH_BANK0_SEC0  : origin = 0x080002, length = 0x000FF0	/* on-chip Flash */
   FLASH_BANK0_SEC1  : origin = 0x081000, length = 0x001000
   FLASH_BANK0_SEC2  : origin = 0x082000, length = 0x001000
   FLASH_BANK0_SEC3  : origin = 0x083000, length = 0x001000
   FLASH_BANK0_SEC4  : origin = 0x084000, length = 0x001000
   FLASH_BANK0_SEC5  : origin = 0x085000, length = 0x001000
   FLASH_BANK0_SEC6  : origin = 0x086000, length = 0x001000
   FLASH_BANK0_SEC7  : origin = 0x087000, length = 0x001000
   FLASH_BANK0_SEC8  : origin = 0x088000, length = 0x001000
   FLASH_BANK0_SEC9  : origin = 0x089000, length = 0x001000
   FLASH_BANK0_SEC10 : origin = 0x08A000, length = 0x001000
   FLASH_BANK0_SEC11 : origin = 0x08B000, length = 0x001000
   FLASH_BANK0_SEC12 : origin = 0x08C000, length = 0x001000
   FLASH_BANK0_SEC13 : origin = 0x08D000, length = 0x001000
   FLASH_BANK0_SEC14 : origin = 0x08E000, length = 0x001000
   FLASH_BANK0_SEC15 : origin = 0x08F000, length = 0x001000

   ECC0_0 : origin = 0x1080000, length = 0x1FE, ECC = {input_range=FLASH_BANK0_SEC0 algorithm = C2000_Algo}
   ECC0_1 : origin = 0x1080200, length = 0x200, ECC = {input_range=FLASH_BANK0_SEC1 algorithm = C2000_Algo}
   ECC0_2 : origin = 0x1080400, length = 0x200, ECC = {input_range=FLASH_BANK0_SEC2 algorithm = C2000_Algo}
   ECC0_3 : origin = 0x1080600, length = 0x200, ECC = {input_range=FLASH_BANK0_SEC3 algorithm = C2000_Algo}
   ECC0_4 : origin = 0x1080800, length = 0x200, ECC = {input_range=FLASH_BANK0_SEC4 algorithm = C2000_Algo}
   ECC0_5 : origin = 0x1080A00, length = 0x200, ECC = {input_range=FLASH_BANK0_SEC5 algorithm = C2000_Algo}
   ECC0_6 : origin = 0x1080C00, length = 0x200, ECC = {input_range=FLASH_BANK0_SEC6 algorithm = C2000_Algo}
   ECC0_7 : origin = 0x1080E00, length = 0x200, ECC = {input_range=FLASH_BANK0_SEC7 algorithm = C2
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值