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.

[参考译文] TMS320F280021:独立代码在没有 ERTM 的情况下无法运行

Guru**** 2537350 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1123529/tms320f280021-standalone-code-not-running-without-ertm

器件型号:TMS320F280021

大家好、

在定制独立电路板上使用我们设计的固件时遇到问题。  我们的固件使用 JTAG 调试仿真器正确加电、在该仿真器中、我们可以单步执行代码。  

我们目前正在使用 DCSM、因此在 OTP 中设置 DCSM 密码和安全区域。 解锁 OTP 后、我们可以每次刷写芯片。 这不是问题。

我们的代码使用 ECAP、ePWM、ADC_C 和 GPIO 等多个属性、每个外设时钟在 SYSCTRL.C 中设置 我们使用内部 RC 振荡器 INT_OSC2。 看门狗在引导时被禁用、就像在 codestart 分支中完成的那样、并在启动时进行设置。 此外、一些外设使用中断。 我们有一个指定的闪存扇区、该扇区仅用于使用 FAPI 的虚拟 EEPROM、在运行时偶尔编写。 早期固件版本在独立电路板上运行完美。 我们对代码进行了一些微小的更改、并遇到了问题。

在我们的定制板上闪烁后、代码会运行并可 在运行时写入闪存。 复位后不再工作。

我们已将问题解决到 ERTM 上一版本中集成到固件中。 在新固件版本 中省略了它、导致代码在 首次写入闪存虚拟 EEPROM 扇区(直接在启动后)后、在复位或新加电后完全不能独立工作。 执行64位对齐写入、并且在调试时工作正常、因此写入闪存不会成为问题。 如前所述、它在以前的版本中工作正常。 在将 ERTM 重新引入代码后、它还在较新版本中以独立模式工作。

但是、  

我的问题是、如果 ERTM 仅用于调试目的、为什么会影响独立运行、或者我是否遗漏了这一点? 或者问题是否与 ERTM 无关? 在这种情况下、为什么重新引入 ERTM 可以解决该问题?

谢谢、

丰富

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

    您好、Rich、

    我们将在下周早些时候(8月9日)进行回顾并与您再次进行讨论。

    谢谢、此致、

    Vamsi

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

    你好、Rich、 这听起来很奇怪。   您能否确认 TMS 引脚上是否有上拉电阻器来在正常运行期间使 JTAG 保持复位状态?  数据表建议使用一个2.2k Ω 电阻器。