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.

[参考译文] TMS320F28035:TMS320F28035 中的 MCU 在下电上电后复位问题

Guru**** 2939240 points

Other Parts Discussed in Thread: TMS320F28035, C2000WARE, LP-XDS110ET

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1649231/tms320f28035-issue-with-mcu-reset-after-power-cycle-in-tms320f28035

器件型号: TMS320F28035
Thread 中讨论的其他器件: C2000WARELP-XDS110ET

尊敬的 TI 团队:

刷写固件后、我遇到了 TMS320F28035 MCU 问题。

目前、我正在通过 JTAG 刷写 MCU。 在调试期间以及刷写后立即运行、MCU 正常工作。 但是、在执行电源复位后、MCU 没有响应、并且没有执行任何操作。

下电上电后 MCU 似乎无法正常引导。 请帮助我尽快解决这个问题。

谢谢。此致  

Shahajahan

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

    Shahajahan,

    这通常是由基本工程中不正确/不存在的引导矢量引起的。

    请在 C2000Ware C:\ti\c2000\C2000Ware_26_01_00_00\device_support\F2803x\examples\c28\flash_F28035 中查看此示例

    我会将.cmd 文件和 main.c 与您自己的文件进行比较。  另外、请注意首先调用的 code_start_branch.asm 文件的包含。  如果代码在运行时重定位到 RAM、还需要 memcopy 函数调用。

    另一个常见问题是未正确设置引导引脚以启用闪存引导;您需要确保为闪存引导将这些引脚拉至高电平。

    最后、为了进行调试、我们有一个 EMUBOOT 选项、当连接调试器时、将读取 RAM 中的一个位置与引导引脚中的位置以确定引导模式。  在 CCS 菜单中应该有一个用于此目的的脚本;实际上、您要加载代码、通过 CCS 执行器件复位、然后为闪存设置 EMUBOOT 并运行。  如果此操作失败、则表示独立启动将无法正常工作;我们必须解决这些问题。

    此致、

    Matthew

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

    尊敬的 Matthewpate:

    电源复位后仍然遇到问题、无法正常工作  

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

    尊敬的 Shahajahan:

    Matthew 目前不在办公室、请期待收到延迟的回复。

    此致、

    Delaney

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

    尊敬的 Delaney:

    您能帮我解决这个问题吗?

    谢谢你

    Shahajahan

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

    尊敬的 Shahajahan:

    马修是这个主题的专家,所以他是合适的人来帮助。 他应该很快回来,并在 1-2 天内作出答复。

    此致、

    Delaney  

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

    Shahajahan,

    如果您比较了 resources(.cmd 文件、memcopy 用法 on main.c 等)并且没有发现区别、那么我不确定哪些内容可能不正确。  您是否尝试加载 FLASH_28035 工程并观察它是否在独立引导模式下按预期工作?

    另一个想法是使用我们的仿真启动功能来模拟未连接仿真器时闪存启动的样子。

    为此、请执行以下操作:

    1) 使用 JTAG 连接到器件并启动 Code Composer

    2) 通过 CCS 加载您的输出文件。

    2a) 在代码开头附近设置断点

    3) 在工具栏中的“运行“选项卡下、选择“重置“->“ CPU 重置“

    4) 在“Scripts:(脚本:)“选项卡下、转到“Emu Boot Mode Select“->“EMUFLASHBOOT“

    5) 然后运行设备(播放按钮)。

    这将模拟基于 XRSn 的启动、经过 Brom 并最终执行您的源代码。  您应该会看到 CCS 遇到断点、以确保一切正常工作。

    如果此操作有效、则表示在我上次开机自检时未正确设置引导插针。  如果这不起作用、则可能意味着您尚未添加 code_start_branch.asm、或通过链接器正确放置代码。

    您可以使用我上面提到的示例尝试此操作、它应该开箱即用正确。

    此致、

    Matthew

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

    您好、Matthew Pate、

    电路板现在正常工作;但是、我在 TRSTn 引脚配置方面遇到问题。 为了在刷写后正常运行、TRSTn 由一个 2.2kΩ 电阻下拉。 在刷写过程中、TRSTn 必须通过 10kΩ 电阻上拉至 3.3V、并且需要移除 R17。

    请参阅随附的原理图进行参考。

    谢谢、此致

    Shahajahandrive.google.com/.../view

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

    您好 Matthew、

    我使用 LP-XDS110ET 进行刷写

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

    Shahajahan,

    如您所述、 LP-XDS110ET 没有本机 TRSTn 信号来连接到 F28035。  

    建议用于生产/部署、以防止 JTAG 抽头因噪声或环境因素而意外退出复位状态。  但是、要通过 JTAG 连接到 F28035、您需要在 TMS/TCK/TDI 上的 JTAG 连接序列开始之前将此引脚拉至高电平。   

    几种选择;

    1) https://www.ti.com/tool/TMDSEMU110-U 确实支持 TRSTn 信号、并且可以使 2.2kPD 过驱以自动连接

    2) 如果您要使用 LP-XDS110ET、则需要手动将 TRSTn 拉至高电平、但仅在需要连接时才需要。  从这个意义上讲、静态电阻不会是理想选择(加上 10k Ω 太弱、无法过驱 2.2k Ω PD)。  您可以用一个开关来将 TRSTn 直接连接到 3.3V、并在有 JTAG 接头并准备好连接时翻转开关...或者在需要连接时可以用一根导线连接到电路板上的 3.3V 信号。

    对于开发、您可以恢复 2.2k Ω PD、以便您可以使用更小的上拉电阻、也许可以切换到使用 10kPD、然后使用 2.2kPU、方法详见上文第 2 部分。

    此致、

    Matthew