英飞凌
直播中

刘刚

8年用户 1120经验值
私信 关注

TC375对pflash进行擦除和写入操作时出现上下文管理错误怎么解决?

我正在研究 TC375 中的引导加载器概念,Pf0(前 3Mb)被划分为引导加载器和应用程序代码,根据引导加载器和应用程序代码更改链接器脚本,因为两者是不同的项目。
启动程序启动地址为 0xA0000000。
应用程序代码起始地址为 0xA00A0000。

我能够通过 CAN 接口接收新固件,该接口已在引导加载程序中启用,并将其存储在 Pf1 地址 0xA0400000 中,而且能够对其进行验证。

当我尝试在验证后将代码移到 0xA00A0000 时,它停在了陷阱错误处。
3 班,ID 4。

回帖(1)

郭大

2024-5-29 16:39:44
看起来你在尝试将新固件从Pf1(地址0xA0400000)移动到应用程序代码区域(地址0xA00A0000)时遇到了上下文管理错误。以下是一些建议,帮助你解决这个问题:

1. 检查擦除和写入操作的代码:确保你的代码正确地执行了擦除和写入操作。检查是否有任何语法错误或逻辑错误。

2. 验证链接器脚本:确保你的链接器脚本正确地将引导加载器和应用程序代码映射到适当的内存区域。检查起始地址和大小是否正确。

3. 检查引导加载器和应用程序代码的内存保护设置:确保引导加载器和应用程序代码的内存保护设置允许擦除和写入操作。你可能需要调整内存保护单元(MPU)或内存管理单元(MMU)的设置。

4. 检查中断和异常处理:确保你的代码正确处理了中断和异常。在执行擦除和写入操作时,可能会出现中断或异常,需要正确处理。

5. 使用调试工具:使用调试工具(如GDB或IDA Pro)来检查程序的执行过程。这可以帮助你找到导致上下文管理错误的原因。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分