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.

[参考译文] CCS/TMS320F2.8377万D:CPU2闪存OTP ZX_bootmode

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/576079/ccs-tms320f28377d-cpu2-flash-otp-zx_bootmode

部件号:TMS320F2.8377万D

工具/软件:Code Composer Studio

您好,

我们的目标是使两个内核在启动时从闪存启动,而无需将仿真器安装在自定义板上。  在连接仿真器时,两者都显示为加载和运行。  我认为我们需要将0x0万B5A写入CPU2的ZX_BOOTCTRL寄存器。  我尝试过CCS调试设置和使用最新的cmd和*_ZoneSelectBlock.asm文件。  这些值似乎未被写入(通过在调试会话期间检查内存中的寄存器和0x78x00)。  

我已经注意到使用了最新的V21.0283万7xD_DCSM_Lnk_CPU2.cmd文件。  我还尝试使用来自最新CPU1 Blinky和DCSM示例的DCSM cmd文件。  我看到寄存器将其输入到生成的*.map文件中。  

这里可能会出什么问题?

谢谢!

斯蒂芬

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

    要从闪存引导,您不必在OTP中对BOOTCTRL位置进行编程。 您所参考的是哪份文档?

    Vivek Singh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Vivek,
    感谢您的快速回复。 我在这里一直提及TRM和各种帖子。
    在这种情况下,我有两个问题。
    1)在何种情况下,CPU2会在仿真器连接的情况下从闪存连接到main(),而在仿真器未连接的情况下无法访问main()?
    2)我需要知道如何写入ZX_BOOTCTRL。 您能告诉您如何成功写入ZX_BOOTCTRL吗?

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

    您可以通过IPC命令让CPU1从闪存引导CPU2。
    查看此帖子- e2e.ti.com/.../46.2637万

    关于编程ZX_BOOTCTRL,您正在尝试正确的方法。 您可以通过Flash插件或在.out文件中包含此文件来对其进行编程。 如果无法正常工作,请确保您已在CCS中获得所有最新更新。 您可以通过单击Help (帮助)-> Check for update in CCS (在CCS中检查更新)来检查更新。

    此致,

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

    Vivek,

    感谢您回复我。  我在引用的帖子中遇到该症状。  我正在使用IPC启动CPU2。  我后来发现CPU2内部版本缺少启动代码,看门狗正在重置CPU2。  但这些并不是唯一的问题。  它的运作方式一定是一些CCS voodoo。  我的意思是说这是最好的方式。  

    这里的困难在于似乎无法看到CPU2实际在做什么。  为了了解CPU2正在执行的操作,我将打开设备电源,然后连接JTAG,然后进行调试。  然后,该问题变为仿真器在连接时将重置CPU。  我认为我已经设置了一个调试配置,只能连接到已经运行的二进制文件(而不是重置内核)。  它似乎不再起作用。  所以,要么我感到困惑,要么我改变了其中一个创造魔法组合的设置。  您是否可以建议一种方法来设置调试配置,以便在TMS320F2.8377万D上为CPU2执行此操作?  或者至少说是否可能?

    此外,我记得您提到过更新时,过去有问题。  此后,我已经测试了6.2 安装,并安装了7.0。  不幸的是,我们在几天前需要工作代码。  因此,我仅针对CPU1进行了恢复和构建。  我将检查我们何时需要再次沿着这条道路前进,并尝试记住向我们报告。  

    斯蒂芬

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

    要避免连接时重置,您需要注释掉"GEL_Reset(); 在CPU2 Gel文件中的"OnTargetConnect()"函数内/*重置DSP */"函数调用。 这是你尝试过的吗?

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

    斯蒂芬,我希望你能把这个工作做得好。 如果您对此有任何疑问,请告知我们。