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.

[参考译文] TMS320F28379D:SCI 闪存内核程序错误

Guru**** 2472420 points
Other Parts Discussed in Thread: TMS320F28379D, TMS320F28377S

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1014963/tms320f28379d-sci-flash-kernel-program-error

器件型号:TMS320F28379D
主题中讨论的其他器件: TMS320F28377S

我想为 TMS320F28377S 创建定制引导加载程序、但我使用 TMS320F28379D LaunchXL 进行开发。

目前、我已将 TI 的示例代码"F2837xD_sci_flash_kernel"放入闪存(跳转至闪存引导模式)而不是 RAM -因此 SCI 闪存内核代码将在首次加电时从闪存执行。

我已经通过 "#pragma CODE_SECTION ( 、".TI.ramfunc");"

当处于仿真器模式时、只要主机软件发送应用固件映像、我就可以在内存浏览器中看到相应的目标闪存发生变化。 引导加载程序代码被编程到闪存扇区 B-E 应用固件映像被编程到闪存扇区 F-J

引导加载过程完成、我得到以下错误:program_error、Address = 0x7C02。

我查看0x7C02处的位置、并看到以下"GpioCtrlRegs_GPAQSEL1":

是否有人可以就如何解决此问题提供建议?

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

    Daniel、您好!

    您是否有任何已初始化的段或变量映射到应用程序中的地址0x7C02?  检查映射文件。  内核表示您要求它在非闪存位置进行编程。

    谢谢、此致、

    Vamsi

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

    具体来说、不是在0x7C02、而是在0x7C00

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

    Daniel:

    这是一个未初始化的段。  这不应该是一个问题。

    请向我发送应用程序的链接器 cmd 文件和映射文件。  我将请我们的内核专家来看看。

    谢谢、此致、

    Vamsi

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

    刚刚向您发送了一条包含引导加载程序链接器/CMD 文件以及应用程序映像(要引导加载的固件)链接器/CMD 文件的私人消息

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

    Daniel:

    我收到了您的 cmd 文件、但没有收到映射文件。  我特意要求提供映射文件、因为寄存器空间地址0x7C00不会是用户连接器 cmd 文件的一部分。  它将是 F2837xD_Headers_nonBIOS_CPUx.cmd 的一部分-希望您未编辑此内容。   

    请注意: 我可能在接下来的两周内不可用。  因此、我要将其分配给我的同事。   

    谢谢、此致、
    Vamsi

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

    我刚刚检查了我与您的私人消息对话。 我看到我确实附加了映射文件-"Blinky Map.txt"和"Bootloader Map.txt"

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

    Daniel:

    尽管名称显示为 map、但它们是链接器 cmd 文件。

    看起来您在几分钟前发送了地图文件、而您在上面发送了最新消息。  让我检查一下它们。

    谢谢、此致、
    Vamsi

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

    Daniel:

    对于您通过私人聊天发送给我的消息、今天发送给我们的电子邮件通知似乎有一些延迟。  我几分钟前就拿到了您的文件、而不是更早的文件。

    关于映射文件: 我看不到根据映射文件映射的任何内容。  我将此分配给 SCI 内核所有者-她目前不可用。  她将于下周星期二回到办公室。  请在下周中旬之前回复。

    谢谢、此致、
    Vamsi

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

    Daniel、您能否在 shared_Boot.c 中的此代码段的第二行设置断点、并告诉我在执行期间遇到断点时 oReturnCheck 的值是多少?

     

    谢谢、  

    Anu

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

    我自己解决了这个问题。 事实证明、hex2000的输出.txt 文件试图以非128位边界写入闪存。 我还使用了较旧版本的 Code Composer Studio。 不确定是 hex2000程序还是 CCS。