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.

[参考译文] LAUNCHXL2-570LC43:FreeRTOS、PrefetchEntry TMS570lc43

Guru**** 2465890 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/666083/launchxl2-570lc43-freertos-prefetchentry-tms570lc43

器件型号:LAUNCHXL2-570LC43

你好。 我有疑问。

IM 对我的小型项目使用 FreeRTOS。 当我运行主文件中使用 FreeRTOS API 的每个任务或函数时、一切都正常。
当我尝试将任务或函数移动到另一个目录中的另一个文件并运行它们时、当它转到 xQueueReceivive 或 xEventGroupSetBits 等时、我会获得 prefetchEntry (调度程序启动时不会出现任何问题、我将头文件包含在原型中、 和 FreeRTOS 文件)。  
我注意到的是,例如,xQueueReceive 执行其任务(DataObject Received,CCS 调试器显示该任务),但是- prefetchEntry。

那么问题是什么? 我吃不到。  
那么、prefetchEntry 到底意味着什么?  

IM 有点 Java 程序员和错误 statckTrace 无法正常运行、但此处... 我不明白这是什么...)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    预取指 CPU 收集运算代码块的情况。 如果尝试从受限区域收集指令、则会有例外情况。

    这些是一些经常重复出现的问题的症状。
    1)。 您的源代码与库不匹配(库中函数的调用转到错误的位置)。
    2)。 您的编译器未按预期方式创建指令(错误的选项或该编译器的库错误)。
    3)。 您尚未定义允许访问重要代码或库的存储器区域。

    预取掩盖了确切的问题、因为存储器块的描述性较低(其中确切的是该块中的函数调用、而编号是地址)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Roman、

    您还可以使用 CP15故障状态寄存器来查看有关异常的信息、例如异常发生在哪个域中以及引起异常的地址是什么。 这通常有助于确定根本原因。 数据和指令故障状态寄存器可通过 CCS 中的寄存器窗口查看。 Cortex-R5F 的 ARM 用户指南中定义了位定义(搜索 DFSR 和/或 IFSR)。

    ARM 网站上以在线手册或可下载 PDF 的形式提供 ARM 用户指南。

    对于可下载的 PDF 版本: infocenter.arm.com/.../DDI0460D_cortex_r5_r1p2_trm.pdf

    在线版本: infocenter.arm.com/.../index.html