This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 当应用程序 FW 中发生数据中止异常时、程序卡在数据中止条目地址(0x10)中。

Guru**** 2535750 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/817691/program-stuck-in-data-abort-entry-address-0x10-when-there-is-a-data-abort-exception-happened-in-app-fw

器件型号:RM44L920

工具/软件:Code Composer Studio

您好!

 我的项目中有一个引导加载程序和一个应用程序,并且它们的中断矢量地址已使用 link.cmd 文件重新定义,例如

bootloader_vectors  (X) :origin=0x00000000 length=0x00000020

 APP_VECTORS   (X) :origin=0x00010040 length=0x00000020

现在, 如果在 CCS 中调试应用程序固件时触发数据中止异常,程序将始终跳转到0x10,这是默认情况下数据中止异常的入口地址。  

我的问题是、中断矢量已被链接 CMD 文件重新映射、为什么程序不跳转到数据中止异常的重映射条目地址0x0100。

另一方面, 如果我在调试应用程序固件时以 CCS 调试模式重置 CPU, 程序将跳转到0x00而不是0x0010040,这是复位后的应用程序条目地址。

请告诉我如何解决?

提前感谢。

凯瑟琳

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Catherine、

    请修改 sys_intvecs.asm 以跳转到应用程序异常处理程序。

    b _c_int00;0x00

    b #0x10040 - 0x8

    B #0x10040-0x8           ;0x08、软件中断

    #0x10040-0x8           ;0x0C、中止(预取)

    #0x10040 - 0x8           ;0x10、中止(数据)

    保留尝试

    b reservedEntry;0x14

    LDR PC、[PC、#-0x1b0];0x18

    LDR PC、[PC、#-0x1b0];0x1C