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.

[参考译文] 模拟时引导、但不能单独使用。

Guru**** 2398695 points
Other Parts Discussed in Thread: LAUNCHXL-F280039C, TMS320F280034, TMS320F280039C, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1318386/boots-when-emulating-but-not-in-stand-alone

器件型号:TMS320F280034
主题中讨论的其他器件: TMS320F280039CSysConfig

我使用 LAUNCHXL-F280039C 开发套件编写了功能代码。  此代码在模拟时和独立运行时均可引导。  我将这些代码移植到使用 TMS320F280034处理器的生产板上。  我必须更改闪存映射和 codestart 地址"开始"以匹配。  具体来说、TMS320F280034上没有0x80000的闪存、因此我将 codestart 地址更改为0x88000。

这些代码连接到 XDS110仿真器时可正常引导和运行、但在独立运行时无法引导。  根据阅读您的应用手册、我认为 OTP 中的一个位置需要更改、以便引导 ROM 在引导时查找0x88000?  需要更改什么 OTP 寄存器以及更改什么值?

我还注意到、我可以读取 LaunchPad (TMS320F280039C)上不提供的 TMS320F280034生产电路板上的安全位置。  我假设 Launch Pad 已编程为"安全"?

如何为 TMS320F280034添加安全性、还能对器件进行编程?

谢谢。

杰瑞

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

    Jerry、

      我正在研究 OTP 值、但在此期间会回答您的其他问题。

    Unknown 说:
    我还注意到我可以读取 TMS320F280034生产电路板上没有在 LaunchPad (TMS320F280039C)上提供的安全位置。  我假设 Launch Pad 已编程为"安全"?

    否、出厂时未对安全设置进行编程。

    [quote userid="590948" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1318386/boots-when-emulating-but-not-in-stand-alone 如何为 TMS320F280034添加安全性并能继续对该器件进行编程?

    添加安全性的最简单方法是使用 SysConfig 生成所需的 dcsm.asm 和 dcsm.cmd 文件。 可以、即使添加了安全性、您也可以对器件进行重新编程。

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

    Hareesh、

    当我在复位后单步执行引导 ROM 时、我会找到一个检查 RESC 位5 (HWBISTn)状态的例程。  如果设置该位、则表示 HWBIST 进行了复位。  我可以通过向 ACC 写入0x20来对其进行仿真。  然后、该例程将0x703EC 加载到 XAR4中、该位置在 TI OTP 中。  然后、XAR5被载入这个地址的内容、但是它显示为0xFFFFFFFF。  我认为是因为这是一个安全的位置、而且我连接了仿真器。  如果我将 TMS320F280034 codestart 地址(0x88000)写入 XAR5、处理器启动。

    我想我需要使用0x88000对 TI OTP 地址0x703EC、0x703ED 进行编程。  请确认。

    谢谢。

    杰瑞·雷卡德

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

    Jerry、

       假设您正在试验一个尚未启用密码锁定的新设备。 如果是、则不能仅通过连接 JTAG 调试探针确保器件安全。 在您对密码进行编程并启用密码锁定之前、器件不会变得安全。 一些 OTP 位置发货时将具有0xFFFFFFFF。

    不需要对入口点进行编程。

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

    Hareesh、

    我还没有对任何密码进行编程、正在使用两个同样问题的处理器。  与 XDS110仿真器断开连接时、无法引导。

    因此、不需要对 codestart (开始)地址进行编程?  这将解释 LaunchPad TMS320F280039C 启动的原因、假设它在出厂时没有更改...

    回到与仿真器断开连接时、什么可能导致 TMS320F280034挂起?  引导时没有任何活动、两个处理器上的端口引脚保持复位状态。

    谢谢。

    杰瑞·雷卡德

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

    Jerry 提供的关于生产板硬件配置的其他信息。

    在我们的生产板上、我们使用的是 F280034SPM。  我将引导引脚 GPIO24 (引脚35)和 GPIO32 (引脚40)通过2.2K 上拉电阻器连接到3.3V。  我们在用于振荡器的 X1和 X2上有一个10.0MHz 晶体、我已经验证处理器是否在100MHz 上运行。  为了将软件移动到生产板、我更改了闪存存储器映射、因为 TMS320F280034没有闪存组0 secotrs 0-7、闪存组1 sectros 8-15或闪存组2。  由于闪存发生更改、我将 codestart 地址移到了0x88000、而不是0x80000。

    XDS110仿真器用于4线模式。

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

    这是大约一年前发布的,这是我的确切问题:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1200046/tms320f280034-tms320f280034-booting-from-flash-in-a-standalone-operation-without-a-debugger

    请告诉我做了什么来解决这个 Joao Peter ...

    谢谢。

    杰瑞·雷卡德

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

    Jerry、

       我联系了我的同事、他向我指出了 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1206580/tms320f280034-otp-program-feature。 这有什么用吗?

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

    Hareesh、

    感谢您发送编修。  我使用的是 CCS v12.4.0、因此它应支持 OTP 编程。  下一个问题是、鉴于 F280034的 codestart 地址为0x88000、需要修改哪个 OTP 和哪个寄存器才能使其启动、并且似乎已为0x80000设置出厂引导 ROM 和 OTP。

    在单步执行引导 ROM 时、我发现当处理器尝试从 F280034上的0x80000引导时、它会命中陷阱并卡在 Estop 环路中(应有的)。

    谢谢。

    杰瑞·雷卡德

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

    Jerry、

       0x7800C 中的编程0x00000023应使器件分支至0x88000。  

    我认为我需要使用0x88000对 TI OTP 地址0x703EC、0x703ED 进行编程。  [/报价]

    您不会在 OTP 中对分支地址本身进行编程。

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

    Hareesh、

    这应该能解决我的问题。  感谢您的帮助!

    此致、

    杰瑞·雷卡德

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

    Jerry、

       很抱歉耽误你的时间。 如果您遇到任何进一步的问题、请告知我们。 如果需要、您可以重新打开同一帖子。