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.

[参考译文] TMS570LS1224:引导加载后的预取中止

Guru**** 2481465 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/692996/tms570ls1224-prefetch-abort-after-bootloading

器件型号:TMS570LS1224
主题中讨论的其他器件:HALCOGEN

尊敬的支持:

我的一位同事为 TMS 创建了一个代码。 如果我不使用引导加载程序、则运行良好、但当我使用引导加载程序进行上载时、我收到了预取中止。 我在其他代码或以前的代码中没有看到此问题。 我可以收集一些有关预取中止的信息。 指令故障寄存器为0x00000000、指令故障地址为0x00045F34、这是 MPU_xTaskGetTickCount (我正在使用 SafeRTOS)的起始地址。 我找不到这种行为的原因。 可以帮帮我吗? 谢谢!

此致、

Keno

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

    您好、Keno、

    请检查 CP15中的寄存器 FSR。 存储寄存器可能受 MPU 保护。

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

    您好 QJ、

    正如我在上一个帖子中提到的、FSR 为0x00000000。

    有什么想法吗? 谢谢!

    此致、

    Keno

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

    您是否已解决问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Keno、

    我通过 HALCoGen 生成了 FreeRTOS、并使用 UART 引导加载程序将 FreeRTOS 项目编程到闪存中。 对我来说还行。

    我假设您已经解决了这个问题。 如果此问题仍然困扰您、请打开主题并发布您的代码。 谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 QJ、

    正如我提到过的、我使用的是 SAFERTOS (我在 FreeRTOS 方面没有遇到任何问题)、其中 MPU 非常重要。 我认为问题与 MPU 配置有关。 很遗憾、我无法共享我的代码。 谢谢!

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

    您好、Keno、

    如何在引导加载程序中配置异常矢量表? 异常向量表(预取中止、数据中止、SVC、……) 位于闪存存储器的起始地址0x00。

    第一个条目、复位矢量、必须始终指向引导加载程序中的主硬件初始化例程、因为它必须在任何复位后立即执行。 最后两个条目用于将矢量中断管理器(VIM)中的中断矢量地址加载到 PC 寄存器(LDR PC、[PC、#-0x1b0])中。  由于 IRQ 和 FIQ 中断处理程序的向量通常由 VIM 发送、因此无需重新定位这些向量。  

    SVC、中止等的其他矢量需要重定位到应用程序。