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.

[参考译文] TMS570LS0914:在 FreeRTOS 任务中写入 ECKL-GIO 时、数据中止异常

Guru**** 1839620 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/1383382/tms570ls0914-data-abort-exception-when-writing-to-eckl-gio-in-freertos-task

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

工具与软件:

您好!

我将用于 TMS570LS0714PGE 的 FreeRTOS HalCoGen 项目移植到了 TMS570LS0914PGE 。 运行正常、示例任务启动并切换 GIOB.3。 我还将 ECLK 配置为用作 GIO。 在启动调度程序之前切换调度程序会正常工作。 在示例任务中切换 ECLK 会导致数据中止异常。 我想知道作为 GIO 的 ECLK 有什么特别之处、我缺少什么? 这是由 MPU 引起的吗?

这是我修改后的链接器脚本:

小程序

  VECTORS (X):origin=0x00000000 length=0x00000020
   内核(RX):origin=0x00000020 length=0x00008000
   FLASH0 (RX):origin=0x00008020 length=(0x00100000 - 0x8000 - 0x20)
   堆栈(RW):origin=0x08000000 length=0x00000800
   KRAM (RW):origin=0x08000800 length=0x00000800
   RAM (RW):origin=0x08001000 length=(0x00020000 - 0x800 - 0x800)
}

部分中)

.    intvecs :{}>向量
   kernelTEXT :{}> kernel
   .cinit :{}>内核
   .pinit :{}>内核
   .text :{}> FLASH0
   .const :{}> FLASH0
   .kernelBSS :{}>克拉姆
   .kernelHEAP :{}>RAM.
   .bss :{}>RAM.
   .data :{}>RAM.
}