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.

[参考译文] TMS320F2.8379万D:串行闪存编程

Guru**** 2606725 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/658255/tms320f28379d-serial-flash-programming

部件号:TMS320F2.8379万D

尊敬的团队:

我的客户有以下问题, 如果您能提供以下建议,请不胜感激:

根据Delfino GPIO 84的数据表,GPIO72 用于引导配置。

另一方面,GPIO84和GPIO85被默认引脚用于 UART通信,用于引导SCI…。 如何实现?

您能在何时向我解释一下吗?  

此外 ,他们还在以下链接中找到了有关启动选项的E2E开机自检:

https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/603388?tisearch=e2e-quicksearch&keymatch=320f2837xd%20gpio<xmt-block0>60.3388万85 %283785 % 20and %20boot%20loader%20配置

因此,有一个寄存器(spuhm8g TRM中的第405页) 可以 为 引导选项配置其他引脚:

但仍有一些不明确的地方。 根据SPRABV4B -串行闪存编程C2000微控制器文档

在配置GPIO之后,必须重置DSP,以便在SCI引导模式中唤醒DSP。 但是,当我配置此寄存器时,重置后它将返回到初始状态,不是吗? 那么如何才能处理呢?  

提前感谢。

此致,

Shai Berman   

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

    是的,GPIO72=0和GPIO 84=1为我们提供SCI_boot默认启动选项。 您可以通过将GPIO72通过电阻器接地,并将GPIO84通过电阻器拉高。 这将允许SCI引导引脚(GPIO84 (SCITXA)/GPIO85 (SCIARX))按预期作为SCI引脚工作。

    Z1_BOOTCTRL寄存器可用于OTP。 此寄存器只能编程一次。 编程后,可将引脚修改为其他引脚。 一旦在每个通电启动引脚上编程,引导引脚将不是默认引导引脚,而是使用Z1_BOOTTRL寄存器中配置的新引导引脚。

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

    您好Manoj,

    谢谢您,如果可以从TI获得已根据客户的工厂需求编程的芯片,而不是在他们的一侧进行重新编程,请您告诉我。
    即使需要一些额外的费用。
    客户考虑DSP的几项操作,他希望添加SDRAM并远程对DSP进行编程(而不是通过JTAG)。
    问题是多个GPIO具有不同的功能,但共享相同的引脚。 因此,它们应用于SDRAM线路或用于引导控制引脚和SCI通信。

    KR,
    Shai

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

    Shai,

    仅当客户希望更改引导码时,才需要对Z1_BOOTCTRL寄存器可用OTP进行编程。

    如果客户可以使用默认引导模式PIN和默认SCI引导选项。 他们不需要编程任何内容。

    此致,
    Manoj

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

    尊敬的Manoj:

    感谢您的意见。

    另一个问题是,其中一条SDRAM线路共用SCIXDA GPIO引脚。

    请参阅下表(摘自SPRUHM8G,第614页)此引脚是默认引脚,由芯片的TI内部内核使用,以便与外部端口进行通信以进行远程编程。   

    一方面,GPIO85用于远程编程过程中的UART RX,另一方面,它用于EMIF1,数据线0 (摘自TMS320F2.8379万D数据表,第29页)

    因此,总结一下:

    1.是否可以从TI预编程启动引脚配置? 是的,其中一个默认引导针脚与SDRAM共享。  

    2.是否可以将默认的SCI-A UART引脚交换到不 会影响SDRAM连接的其它引脚(SCI-A或SCI-B)。 ? 否则,每次我想通过新版本重新编程芯片时,我都要将SDRAM之间的这个针脚切换到外部连接器。

    如果TI能够提供上述功能,所有这些都将显著减少接口和PCB布线。

    请回复,提前感谢。

    最佳,

    Shai  

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

    1)我需要与管理层核实,然后再对此做出任何承诺。 我认为您要将GPIO85用作SCI启动引脚(或) EM1D0引脚。
    由于GPIO85 (SCI引导引脚)将仅用作SCIBOOT选项中的SCI引脚。 您仍应能够使用GPIO85作为EMIF引脚。

    2) F2837xD bootloader仅支持SCI-A选项。 它不支持SCI-B

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

    TI是否有一些便携式电子器件在将装置焊接到主板上之前对其进行编程? 我的意思是,此设备将有一个用于IC,电源和串行通信的合适插座...
    主要的想法是尽量减少装置编程错误的风险,并节省更换已焊接到最终PCB上的装置的费用。

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

    答案并不能完全满足客户,因为他已经知道,他可以在远程编程期间使用GPIO85进行SCI RX通信,也可以使用EMIF引脚。 (不同时)
    请参阅以下客户回应:

    这使我制定了一个实用的电子开关解决方案,在编程(维护)期间,将此引脚一次切换到SCI RX的外部连接器,然后再切换到另一次(操作)以连接EMIF。 附近的CPLD将控制此电子开关。
    我对这种解决方案(在EMIF和通信之间切换GPIO85)感到不满意。 我想将SCI-A-RX引脚交换为EMIF未使用的其他SCI-A,并将GPIO85持续连接到EMIF。
    问题在于,IC中预装了GPI084- SCI-A_TX,GPIO85–SCI-A_RX (根据TI规范),与启动模式引脚(GPIO 72,GPIO84)不同,我找不到更改这些引脚的方法。
    您是否知道是否可以将客户现场的这些引脚重新编程到另一个SCI-A GPIO,或者只能在TI工厂进行?

    如果您能提供反馈,我将不胜感激?
    提前感谢。
    Shai
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Shai,

    在TMS320F2.8379万D中,我们有两个SCI引导模式选项。

    默认选项:SCITXDA (GPIO84)和SCIRXDA (GPIO85)

    备用选项:SCITXDA (GPIO29)和SCIRXDA (GPIO28)

    如果要使用备用SCI引导选项,则需要对Z1_BOOTCTRL寄存器= 0x5A81XXXX进行编程(0x81是BMODE值)。 此Z1_BOOTCTRL寄存器在OTP位置可用,只能编程一次,此寄存器可在客户端编程。

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

    Manoj

    谢谢,是的,我知道这个选项。 但如果连接到GPIO85,84,则可以对两个内核- CPU1和CPU2进行联合编程,但通过GPIO29,28仅CPU1。 我们还需要对CPU1和CPU2进行编程 。请参阅以下内容(SPRUHM8G,第614页)

    同样,所有这一切都是因为TI EMIF接口位于此类引脚上。

    因此,我知道不可能在同一功能中将sci-A RX,TX替换为其他一些组件?

    您是否可以向我提供有关Z1_BOOTCTRL编程的独立设备的最新信息? TI是否有一些便携式电子器件在将装置焊接到主板上之前对其进行编程? 我的意思是,此设备将有一个用于IC,电源和串行通信的合适插座...

    主要的想法是尽量减少装置编程错误的风险,并节省更换已焊接到最终PCB上的装置的费用。

    提前感谢。
    Shai

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

    很抱歉回复太晚。

    TRM描述错误。 我们已提交一个TT,以便在下一版本TRM时修复此问题。

    GPIO29,28可用于CPU2中的SCI引导。 实际上,对于CPU2,您可以使用任何提供SCIA引脚mux选项的GPIO。 这需要通过在CPU1应用程序代码中配置pinmux来实现。 CPU1代码的内容应具有以下配置:-

    1)将GPIO28,29引脚配置为SCI引脚,并将其分配给CPU2
    2)将IPC命令发送到CPU2以执行SCI引导

    此致,
    Manoj
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请通过标记回答您的主题的回复来关闭主题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    团队成员,您好!

    我想再次询问有关SCI-Boot和Boot from Flash的问题。

    您可能还记得,我需要将启动PIN更改为其它一些,以便与SDRAM互连。 它在MCU OTP的Z1_BOOTCTRL寄存器中完成。  到目前为止还可以。但此寄存器负责BMODE值。

    我的问题是:如果我希望每次都从闪存引导,但有时是SCI引导(用于外部程序加载,而不是通过JTAG),那么我应该将该值输入到此字段中? 默认情况下,此注册表为 0xFFFFFFFF。 或者我将离开FF部门?

    另一个问题是:在分配新的引导引脚后,它们是否会覆盖BMODE值?

    非常感谢。

    巴西

    Shai

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

    如果要在SCIBOOT0和Flash之间进行选择,则无需对Z1-BOOTCTRL寄存器进行编程。 这可以通过引导模式引脚选择。

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

    此问题是否已解决? 我可以关闭此线程吗?

    此致,
    Manoj
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我再次与客户确认他是否有任何未解决的问题。

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

    您可以关闭此线程,非常感谢您的时间和努力。

    此致,
    Shai