TI中文支持网
TI专业的中文技术问题搜集分享网站

在使用f021 flash api烧写flash时程序跑到Fapi_issueProgrammingCommand就会跳到prefetchEntry

Other Parts Discussed in Thread:RM46L852, LAUNCHXL2-RM46

开发板是rm46l852,确定flash相关代码是运行在sram中,初始化相关代码返回的都是0说明执行正确,但是就是烧写这一步直接报错

Susan Yang:

请您先对照一下

e2e.ti.com/…/494484

以及

e2e.ti.com/…/880989

若还是不能解决问题,请您私信一下您的工程,谢谢

,

user6325874:

  您好,感谢回复,代码已私信,图中可以看到并不是flash api代码运行位置问题,程序跳转到了sram中运行,

,

Susan Yang:

我会在测试之后给您回复

,

user6325874:

 您好,不好意思刚发现HCG里忘记使能flash ecc,使能之后发现flash能写入了,但是还是会跳到prefetchEntry,FLASH内的状态比较奇怪,如图部分地址加载不出来,而且LR寄存器一直是0x00000010所以不能定位哪里的错误

,

Susan Yang:

我将工程中dan'bu的FLASH_TEST / Debug / FLASH_TEST.out加载到LAUNCHXL2-RM46中。调试发现:
当汇编器单步执行Fapi_issueProgrammingCommand()时,不会发生异常中断,将地址0xE0000的flash编程为0x11233212,并且Fapi_issueProgrammingCommand()返回Fapi_Status_Success。

当尝试越过Fapi_issueProgrammingCommand()调用时,将导致预取中止,并且将地址0xE0000的闪存编程为0x11233212。CP15_INSTRUCTION_FAULT_STATUS为0x00000409,这在 故障状态和地址寄存器中 表示“Fault Status and Address Registers ”。

developer.arm.com/…/Fault-Status-and-Address-Registers

CP15_INSTRUCTION_FAULT_ADDRESS为0x0000000C,这是prefetchEntry的地址。

,

Susan Yang:

另外我在英文E2E上就该问题发帖了,请您跟踪回复一下,谢谢

e2e.ti.com/…/3517741

,

user6325874:

您好,再次打扰一下,通过英文E2E中的回复我查看.map文件看到Fapi_UserDefinedFunctions.obj确实没有被链接,但是我在cmd文件中将他包含在flashAPI域中了,且flashAPI域中其他文件都正常被包含,您知道可能原因吗,因为Fapi_UserDefinedFunctions应该是被包含在F021_API_CortexR4_LE.lib中的

,

Susan Yang:

请您参考下面帖子的回复以及之前QJ Wang给出的建议

e2echina.ti.com/…/142698

,

user6325874:

不好意思我之前一直以为Fapi_UserDefinedFunctions应该是被包含在F021_API_CortexR4_LE.lib中,现在我将Fapi_UserDefinedFunctions.c加入我的工程,链接时会报warning #10068-D: no matching section,并且发现.map文件中没有Fapi_UserDefinedFunctions符号,按照那个链接中所说没有勾选过Copy projects into workspace

,

Susan Yang:

所以现在是可以成功添加了?

,

user6325874:

您好,不能,.map文件中找不到Fapi_UserDefinedFunctions符号,我不是很明白这个warning :no matching section 是什么原因导致的,在编译信息里我可以看到Fapi_UserDefinedFunctions.c被编译为Fapi_UserDefinedFunctions.obj,可是他当中的txt段不能被链接进flashAPI域中

,

Susan Yang:

这个建议您等待一下英文论坛的回复吧,他们是更资深的专家。而且我现在不太好测试,很抱歉

,

user6325874:

好的,感谢您的回复

,

Susan Yang:

不客气,很抱歉之前未能给您提供帮助

,

user6325874:

您好,请问一下出现 Target failed to read的可能原因是什么,从memory browser窗口也读不到数据

,

user6325874:

您好,有个问题想请教一下,我在BOOT中使用FLASH API对FLASH内容进行更新时,FLASH ECC区是由CPU来完成更新的吗,因为手册中我好像没有看到能操作FLASH ECC区的API,FEE好像只支持BANK7地址

,

Susan Yang:

若是其他相关问题,请您重新发帖询问,谢谢

另外图片的话,请您以附件形式上传,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 在使用f021 flash api烧写flash时程序跑到Fapi_issueProgrammingCommand就会跳到prefetchEntry
分享到: 更多 (0)