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.

[参考译文] TMS320F28069M:闪存编程过程

Guru**** 2391415 points
Other Parts Discussed in Thread: TMS320F28069M

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1170342/tms320f28069m-flash-programming-procedure

器件型号:TMS320F28069M

您好! 我在进行闪存编程 TMS320F28069M 时遇到一些困难。 所以我最后采用了示例 Example_2806xFlash、并尝试对 UC 进行闪存编程->无效。 我的板基于 LAUNCHXL-F28069M。 那么、我有3个开关密钥->在 TRST、SDO 和 GPIO34上。 `ve、我尝试了这些开关的多个组合->程序在连接探针的情况下运行、但当我断开连接时、不会发生任何情况。 该精确控制器是否有特定的过程? 例如、将控制器置于等待状态、接下来要转换为仿真启动? 链接器文件默认为 F28069.cmd。 I`ve 对程序所做的唯一更改是、我使用我的...切换 GPIO 引脚。

谢谢!

PP:我的探针是 XDS100v3!

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

    您好!  

    请参阅此帖子并查看它是否有用

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/678976/launchxl-f28069m-running-from-flash-on-f28069m

    此致

    Siddharth

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

    执行代码时唯一的关键位置是 TRST 连接到探针、SDO 和 GPIO34连接到 GND。 我可以n`t 其他组合加载程序、但它不会使用探针运行、也不会没有探针运行。 我将 SDO 和 GPIO34上的上拉电阻器更改为220欧姆、以获得更好的"1"电压电平。 还有其他建议吗?

    当我将 SDO 和 GPIO34设置为高电平、将 TRST 设置为低电平/高电平(尝试 TRST 开关的两个位置)时、我可以对 uC 进行编程、它开始执行程序、 但是、当我移除探头并回收电源时、uC 运行的开关没有位置...

    谢谢!

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

    您好!

    将您的查询转发给 Flash 专家。

    此致

    Siddharth

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

    谢谢! 小更新! 我`ve 到、当我将程序加载到 uC 时、LED 开始闪烁、但几秒钟后它停止。 我不n`t 这n`t 重要,但我不认为 它应该停止!

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

    再更新一次! 当我尝试上传 Flash_28069示例时、 EMU_KEY 的值为 0x55AA、 EMU_BMODE 为0。 我是否必须更改.gel 文件才能更改 EMU_BMODE 值? 我尝试启用 EMU_BOOT_FLASH ();我欺骗了另一个 UC... 我很奇怪、因为根据数据表、当 TRST 为0时、如果我将  EMU_BMODE 设置为 B、它应该从闪存引导、但是...

    我刚意识到的一件事! 我使用了 xds110作为编程探针、具有电容隔离功能。 由于隔离、我认为我打开电源时 TRST=1、并允许我控制引导模式。 但现在我使用的是没有任何隔离的 xds100v3。 它不n`t 它。 因此、由于我在 TRST 上有一个下拉电阻器、因此我的 uC 永远不会根据 SDO 和 GPIO34引脚更改引导模式。 因此、如果我们假设 TRST=0、我应该能够在软件中选择某种方式的闪存启动。

    正如我所说的启用 EMU_BOOT_FLASH ()、使我的 UC 感到惊慌。 您的硬件开发人员说我的原理图是可以的,但是...

    我在这里真的需要帮助...  

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

    Pavlin、

    您能否附加.map 文件(应与.out 文件位于同一目录中)和链接器.cmd 文件。  我想确保您已将初始指令放在闪存插入点。  

    您应该在链接器文件中包含此内容

      begin      :origin = 0x3F7FF6,length = 0x000002/*    FLASHA 的一部分。  用于"引导至闪存"引导加载程序模式。 *

    然后在这里进行 codestart。

    我不确定如何使用 EMUBOOT 模式使器件砖型、如果您已经刷写了代码、则在连接仿真器时、EMUBOOT 用于模拟引导模式。  

    如果代码正在写入闪存、或者您已经使用 CCS 将.out 加载到闪存并尝试使其运行独立/闪存引导、您能评论一下吗?

    最棒的

    Matthew

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

    以下是我的映射文件:

    e2e.ti.com/.../Example_5F00_2806xFlash.rar

    是的! 我有这一行。 因此我在  .gel 文件中取消了 EMU_BOOT_FLASH ();但我认为我应该取消注释 EMU_BOOT_SARAM ();。 我不确定它的使用情况。 当我连接探针时 、EMU_KEY 中的初始值为 0x55AA、 而 EMU_BMODE 中的初始值为0。 那么、在这种情况下、我应该再次按 RESET 来更改 EMU_BMODE 中的值吗? 我的探针(XDS100v3)保持引脚 TRST 始终为0。 因此 、这意味着(根据图2-6)我应该处于独立引导中。 但是、如果我上拉 TDO、我的探针根本就n`t 连接。 我只能上拉 GPIO34、它将我的 uC 设置为 SCI 模式。 那么、我该怎么办?

    您能否写下这种情况下的确切步骤?

    谢谢!

    PP:在我取消注释 EMU_BOOT_FLASH ()之后、它似乎会更改中断表、这就是它如何欺骗 UC...

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

    Pavlin、

    很抱歉耽误你的时间、请给我另外一天时间回答这个问题。

    最棒的

    Matthew

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

    别着急,慢慢来!

    谢谢!

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

    Pavlin、

    我将您发送的.map 文件与我在编译/编译相同工程并将其加载到 launchpad 时获得的.map 文件进行了比较、但我看不到任何显著差异。  我能够在连接仿真器和独立运行时运行它、并且仍然可以看到 LED 闪存作为该示例的一部分。  对于启动开关 S1、您能否确认所有开关都处于"向上"位置?

    最棒的

    Matthew