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**** 2595805 points
Other Parts Discussed in Thread: C2000WARE, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1073521/tms320f28379d-sci-flash-programming-on-custom-made-hardware

部件号:TMS320F28379D
《线程》中讨论的其他部件:C2000WAREUNIFLASH

尊敬的团队:

我正在尝试使用 SCI boot 使用 c2Prog_v1.0.6实用程序在目标板上刻录/刷新十六进制文件。 我已将启动选择引脚 GPIO72和 GPIO84分别设置为1和0。 我正在使用 SCIA 进行闪烁(GPOI28-Rx,GPIO29-Tx)。 请大家帮助我以正确,简明的程序开始。 我是否需要对我的代码进行特殊更改才能实现此目的?  

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

    普拉文

    对于 SCI 启动, GPIO72应为0,GPIO84应为1 (您以另一种方式执行了操作-请检查)。

    关于用于闪存的 SCI:  默认情况下,F2837x SCI 引导加载程序使用 GPIO84/85进行 SCI 引导通信。  如果您想将 GPIO28/29用于 SCI Boot,则需要在 OTP 中对 BOOTCTRL 寄存器的 BMODE 位字段进行相应的编程(详细信息可在 TRM 的引导章节4.4.6中找到)。  此外,您还需要从 Codeskin 获取定制的 C2Prog 配置。  请直接通过 info@codeskin.com 与 Codeskin 联系

    谢谢,此致,
    瓦姆西

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

    感谢 Vamsi 的回复。 是的,bootpins 的状态是 typo。 TI 是否有任何实用程序可用于在没有任何特殊配置的情况下使用 SCIA 引脚进行闪存(与 Codeskin 不同)? 此外,OTP 一旦编程为 SCIA 启动,就无法重新编程,对吗? 供参考,我使用的是 CCS7。

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

    更新:我考虑使用 serial_flash_programr.exe (位于 C:\ti\c2000\C2000Ware_4_00_00\utilities\flash_programmer \serial_flash_programmer)尝试 F2837xD 控制卡 R1.3上的 SCI 启动过程,以简化我们双方的操作。 此外,我还在同一个文件夹中找到了经过详细解释的文档。 默认情况下为  

    [引用 userid="16728" url="~/support/icros/c2000微控制器-组/CC2000 /f/c2000 -微控制器-论坛/1073521/tms320f28379d-sci-flash-programme-On-custom-made -硬件/3973218#3973218"] F2837x SCI bootloader 使用 GPIO854[引用 GPIO85]用于启动通信。

    我知道我需要使用串行电缆将控制卡连接到我的笔记本电脑。 但是,我看不到控制卡坞站上的 GPIO 84可用.....请帮助我了解详细的连接图以进行刷新。

    请用最简单,最详细的信息回答我的问题,因为我在与 TI C2000 DSP 和 CCS7合作的短短5天时间内。  

    谢谢。

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

    普拉文

    一旦编程,OTP 将无法再次修改-您是正确的。

    TI 提供 SCI 闪存内核-请阅读以下内容: https://www.ti.com/lit/sprabv4 

    以下快照来自此应用程序注释:

    关于需要使用的 CCS 版本,请查看: [FAQ]产品变更通知(PCN) 20180523001.1和  PCN 20200115000.2  (用于 TMS320F2837x 和 TMS320F2807x 器件): https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/729543?-FAQ-Product-Change-Notice-PCN-20180523001-1-for-TMS320F2837x-and-TMS320F2807x-devices

    关于您的其他问题,我将请我们的内核专家为您提供帮助。

    谢谢,此致,

    瓦姆西

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

    普拉文  

    controlCARD 将通过将 mini-USB 电缆连接到 A:J1端口来与闪存内核示例配合使用。 您不需要将任何东西连接到坞站上的插针上。 请按照上述闪存内核应用程序注释屏幕截图中概述的步骤在 controlCARD 上运行示例。  

    谢谢,

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

    感谢 Vamsi 和 Anu 的回复。

    1.我已经按照文档中提到的步骤操作了。但在命令终端中,我的屏幕被卡在-

    通常,内核下载需要多长时间?

    此外,当我在 CCS7中连接 CPU1并在内存窗口中手动将0xD00的内容更改为0x815A 时,它会在内存视图中反映出来。 但是,当我断开连接时,内容将重置为0x035A。 CPU 2也会发生同样的情况。

    3.我觉得1是因为2而发生的,对吗?  

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

    我可以通过阅读其他主题来解决上述问题。 我在将0xD00内容设置为0x815A 时执行了错误的步骤。 但是,我还没有成功完成 SCI 的闪存,我有一些疑问,以后我会在继续进行时提出。 现在让我们保持线程打开。 你们给了我急需的突破。 谢谢。

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

    普拉文

    很高兴您能够取得进展,当您有其他问题时,请告诉我们。

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

    Anu,

    1.我可以分别使用 CPU1_FLASE_ONUSICAL_CPU2_FLASH 和 CPU2_FLASH 成功刷新 CPU1和 CPU2。 但是,始终只有 CPU1的 LED 闪烁,CPU2上的 LED 持续亮起。 我遵循了线程,但这并没有给我一个解决方案。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/724821/ccs-launchxl-f28379d-unable-to-make-cpu2-boot-from-flash-f28377d

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/925450/ccs-launchxl-f28379d-cpu2-not-booting-from-flash-after-reset

    我已升级到 CCS9.2.0和编译器21.6.0.LTS。 有什么解决方案?

    2.请指导我如何在 CCS7.0.0和 CCS9.2.0中更改 SCIA 启动的 BOOTCTRL 值。

    3.一旦 SCIA 启动的 BOOTCTRL 值发生变化,TI XDS100V2调试探头是否可以在同一台设备上工作?

    4.我可以使用 TI Uniflash 实用程序来刷新 SCIA (替换 Codeskin - C2Prog),对吗?

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

    普拉文  

    您是否修改了链接程序命令文件以获取这些不常见的示例? 两个 CCS 版本的 BOOTCTRL 值更改应该相同。 调试探测器仍应与设备配合使用,您需要在写入 BOOTCTRL 值后按 CCS 中的 RESET。 我会检查 Uniflash 问题并回复您。  

    谢谢

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

    Anu,

    1.不,我没有修改链接程序命令文件。它是用的。 我需要修改它吗? 此外,我还将 Z1_BOOTCTRL (0x7801E)的值修改为0x0000815A (使用 SCI 启动模式)。 但在修改后,我会遵循以下行为:

    2. 当 CPU1_RAM 和 CPU1_flash 通过 TI XDS 调试端口调试时,CPU1上的 LED 指示灯闪烁(按预期)。 如果我重置电源,控制 卡 LED 指示灯将不会闪烁。 这是预料中的吗?

    3.为什么程序无法从闪存执行?

    此外,我注意到 CCS 和内存映射中0x7801E 位置(在下图中被包围)的值差异,您能解释一下吗?

    5.我能够用开关位置1.0和1.1执行 SCI 闪烁(通过 codeskin c2Prog 实用程序);这是否意味着 CPU1不会从 GetMode 启动中退出?

    请优先帮助我。 我已经没有时间了。

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

    普拉文  

    首先,关于 Uniflash 问题,您不能将其用于 SCI 闪烁。  

    关于您的其他问题-

    如果您希望设备在重置后进入闪存,则需要对 OTP 进行编程以转至闪存启动-您当前已将其设置为 SCI 启动。 SCI 引导模式用于通过 SCI 引导加载程序将闪存内核下载到 RAM。 该设备很可能要使用 SCI 引导加载程序,因此您看不到从 Flash 执行的示例。 由于您无法在此处修改 OTP,为了退出 SCI bootloader,您需要向其发送错误的密钥,任何值(0x08AA 除外)-请参阅以下 F2837xD TRM 启动章节的屏幕截图:   

    进入 Flash 模式后,如果图像已正确编程,您将看到 LED 闪烁。  

    我将请科德斯金专家就你的最后一个问题发表评论。  

    谢谢

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

    尊敬的 Anu:

    1.即使我认为 DSP 始终处于 SCI 引导状态,也无法从闪存运行代码。 您建议通过发送错误的密钥使其进入闪存启动模式。 可以通过编辑从.out 文件生成的.txt 文件来完成,对吗?

    2.通过 C2Prog 实用程序加载程序时如何更改密钥。

    重要 的是要清楚说明,让我用这种方式来阐述我的任务声明。 请确认我是否正在采取正确 的方法(直到现在为止,这一主题都是如此)来完成这项任务。

    任务:我的服务工程师应该能够 通过 SCI 接口(SCIA 针脚编号)更新 F28378D 的固件 28和29)在现场使用 C2Prog 等实用工具。 更新并重置后,f28379D 应通过闪存运行更新的固件。

    4.如果我采取了任何错误的方法,请纠正我。

    请尽快让 codeskin 专家参与这条线程,我的时间实在太短了。 此外,请提供印度支持团队的联系信息,以加快解决问题的速度。

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

    尊敬的 Anu/Vamsi:

    为了更新你的信息,我在上次答复中找到了对 Q 1的回答。 请在2,3,4上等候您的回复。

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

    普拉文  

    您可以执行以下操作-将“Get Mode to Flash Boot”(进入闪存引导模式)编程,并尽可能使用默认的 SCI 引脚(84/85)-这样,您只需将引导模式引脚更改为 SCI 执行固件升级,然后返回“Flash Boot”运行应用程序。

    如果您希望使用备用 SCI 引脚,则需要使用备用 SCI 引脚对 Get Boot to SCI Boot 进行编程-为此,您可以直接通过 info@codeskin.com 联系 Codeskin 以获得解决方案,并回答您的 C2Prog 问题。  

    谢谢

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

    谢谢 Anu,

    [引用 userid="453770" url="~/support/microsoftware/CC2000 -微控制器组/CC2000 /f/C2000 -微控制器-论坛/1073521/tms320f28379d-sci-flash-programming-On-custom-made hardware/3982490#3982490"]如果您希望使用备用 SCI Boot 引导解决方案, info@codeskin.com 请直接与 SCI Prog 联系,以获取相关问题。  [/引用]

    您的意思是“让模式进入 SCI 启动”吗? 请通过引用之前的线程帖子来确认我是否也这样做了。

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

    是的,您在先前的回复,仿真寄存器和 OTP 中使用备用引脚对 Get Mode to SCI boot 进行了编程。

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

    好的。 使用此“Get Mode to SCI boot (获取模式至 SCI 启动)”,我可以 使用 C2Prog 实用程序(在 Z1_BOOTCTRL 寄存器中修改后)刷新控制卡,但无法 确定如何使 F28379D 启动闪存模式并运行闪存固件?  

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

    如上所述,重置时需要向 SCI 引导加载程序抛出错误的密钥。 Codeskin 可以帮助开发解决方案,请联系他们。  

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="453770" url="~ë/support/icns/c2000-icroms-group/c2f/c2000-microms-forum/1073521/tms320f28379d-sci-flash-programming-On-custom-made hardware/3982983#3982983"]您需要将错误的密钥抛出以重置为上述 SCI/bootloader [

    是的,这在本次讨论中适用于此特定控制卡。 但请回复我的以下问题,因为我将使用新设备(其 OTP 在生命周期中从未修改)

    1.您是否可以建议使用 SCI 引脚28和29在 F28379D 上加载固件,然后从新设备上的闪存启动固件(其 OTP 在生命周期中从未修改过)的替代方法(C2Prog 除外)?

    2.我总是需要使用 GPIO84和85进行 SCI 闪存以完成我提到的任务?

    3.

    [引用 userid="453770" url="~/support/microsoftware/CC2000微控制器-组/CC2000 /f/C2000微控制器-论坛/1073521/tms320f28379d-sci-flash-programming-On-custom-made hardware/3982490#3982490"]您可以执行以下操作-程序获取闪存模式升级,并使用默认的 SCI/84启动模式,如果可能的话,可以使用该模式启动模式,并使用该模式。

    如果我的硬件上只能访问 SCI 引脚28和29,该怎么办?

    我知道,在第三季度,我必须使用0x815A 对 Z1_BOOTCTRL 进行编程,但如果加载后无法从闪存运行固件,那么它的用途是什么,只是将固件复制到闪存中?

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

    普拉文  

    1.您可以将 C2000的闪存内核嵌入到应用程序中, 每次需要固件更新时,都可以跳转到该位置-您需要某种类型的主机实用程序,该实用程序会向应用程序发送固件更新信号-然后使用引脚28和29更新固件。 如果您保持 OTP 不变,并且两个启动引脚都很高,则每次都将引导至 Flash。  

    2.如果您只想使用启动引脚而不使用 OTP 在 SCI Boot 和 Flash Boot 之间切换,那么您需要使用84和85。  

    3.您可以参考#1中列出的解决方案。 如果要通过引导引脚使用带有引脚28和29的 SCI 引导加载程序,则需要按照这种方式进行操作。  

    谢谢

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

    谢谢你的回复 Anu,

    GPIO 84用作启动选择引脚和 SCITXD。 因此,为了能够将其用于 SCI 闪存(使用 codeskin),我需要如何配置引脚84?

    请提供一些参考电路以供参考。

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

    普拉文  

    我会在几天内回来。  

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

    普拉文  

    如果您使用 SCI 引脚上的拉杆,则应该能够使用引脚84来选择 SCI 和引导模式。 请参阅以下帖子:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/815705/tms320f28379d-the-boot-mode-pin-is-conflicted-with-sci-boot-gpio

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/782715/tms320f28377s-using-sci-boot-mode

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

    Anu,

    感谢您的解决方案,因为这需要修改硬件,可能需要很长时间。 因此,请您保持线程打开以进行任何进一步查询。