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.

[参考译文] TMS320F28388D:参考基于 CAN 的引导加载程序、适用于 F28388D 进一步查询

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1466426/tms320f28388d-reference-can-based-bootloader-for-f28388d-further-query

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARETMDSHSECDOCK

工具与软件:

您好!

参考以上主题、

我参考了 CAN 刷写应用手册。 在这种情况下、有一种方法可以将可执行文件组织到单个文件中、以刷写 CPU2的应用程序。  

这种方法是否适用于 F2838x? 我之所以提出这个问题、是因为我看到 C28P65x 和 F2838x 在硬件方面具有不同的闪存访问控制。 使用 F2838x 中的 CPU1、CPU2是否可以访问闪存位置?

谢谢!

此致、

Raghuram

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

    尊敬的 Raghuram:

    遗憾的是、F2838x 上的 IPC 机制不同、因此该方法不可行。 我还会注意到、  C200Ware 中没有针对 F2838x 器件提供的 CAN 闪存内核示例、但有一个 CPU1-CPU2 SCI 内核。  

    此致!

    Matt

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

    尊敬的 Matt:

    我将使用 TMDSHSECDOCK 和 TMDSCNCD28388D。 我已将 SCI 内核修改为 DCAN (目前仅适用于 CPU1)。 我正在使用 C2000ware 实用程序中提供的 DCAN 闪存工具。

    我看到此工具通过 CAN 总线进行 CAN 通信、但我看不到 F2838x 器件的响应。 假设根据 BootROM 代码以及闪存内核代码、在消息 ID 0x02中发送两个 CAN 帧。

    我将 GPIO37和 GPIO36用于 CANATx 和 CANARx (默认配置)

    不幸的是、该工具的实现似乎不会等待来自设备的响应消息并转储 Kernal 文件和应用程序文件。

    如何知道器件是否真正跳转到 CAN 引导模式以及器件是否正确接收到数据? 是否有调试方法?  

    顺便说一下、我按照此表进行了引导引脚配置、并将其设置为 CAN 引导。 是否还有我可能遗漏而需要处理的其他问题?

    谢谢!

    此致、

    Raghuram

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

    尊敬的  Raghuram:

    如何知道设备是否真正跳转到了 CAN 引导模式以及设备是否正确接收了数据? 是否有调试方法?  [报价]

    您可以尝试在仿真引导模式下执行 CAN 引导序列、以查看 器件是否正确接收到数据  

    1. 点击"View">"Target Configurations":
    2. 您可以将此器件的工程导入 CCS 并使用该工程连接到器件、或在此窗口中将原始目标配置从 C2000Ware 复制到"用户定义的"目标配置。 无论通过哪种方式、均可查找器件目标配置(下面的 F28377D 示例)并启动:
    3. 当它打开调试窗口时、选择器件 CPU 并连接到目标:
    4. 在"Memory Browser"中、将地址0xD00-0xD01设置为0x5AFF_FFFF、将0xD04设置为0x0002。 这将模拟引导选项0x02:CANTX=GPIO37和 CANRX=GPIO36)。
    5. 复位 CPU 并恢复调试会话以进入仿真 CAN 引导。

    您可以通过将引导 ROM 符号(.out 文件)加载到器件来单步执行器件引导 ROM。  加载符号是一种有价值的调试方法。  此选项会添加生成的项目".out"文件中提供的符号以进行调试、而不是通过 CCS 将实际的".out"程序加载到内核中-这也是您可以将此方法与引导 ROM/内 置引导加载程序一起使用以进行调试和获得可见性的原因。

    1. 导航至工具栏、并单击按钮至"Load Symbols"
    2. 加载引导 ROM .out 文件。 对于该器件、它应该位于中  
      1. C2000Ware_X_XX_XX_XX\libraries\boot_rom\f2838x\revA\rom_sources\CPU1\ccs_files\Release
      2. 如果弹出一个窗口、表明找不到源文件、可以选择"Locate File"并在 C2000Ware 中找到它
        1. 通常在此处为 C2000Ware_X_XX_XX_XX\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\f2838x_rom\bootrom\source
    3. 此文件应打开以显示您所处的引导 ROM 的位置、并且您可以单步执行/调试
    按照此表确定引导引脚配置并将其设置为 CAN 引导的方法。 我可能遗漏了哪些需要处理的其他事项?

    您采用了何种设置? 运行 DCAN 闪存编程器所需的硬件组件包括连接到 CAN 收发器的 C2000器件和 PEAK PCAN-USB FD 分析仪。 对于 ControlCARD、需要使用定制设计的 CAN 收发器板以及 HSEC-180引脚 controlCARD 集线站。 定制设计的收发器板通过四种连接方式连接到 controlCARD:接地、3.3V、CANTX 和 CANRX。

    此致!

    Matt

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

    尊敬的 Matt:

    感谢您的答复、我将尝试上述方法。  我现在有一个问题是根据你解释的以上几点。  

    要跳转到 CAN 引导模式、我们是否也需要配置 OTP 区域? 仅设置引导引脚是否不够?

    如果我们在 OTP 区域写入您提到的值、那么器件是否会始终以 CAN 模式引导?

    谢谢!

    此致、

    Raghuram

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

    尊敬的 Matt:

    关于问题:

    您采用了何种设置? 运行 DCAN 闪存编程器所需的硬件组件包括连接到 CAN 收发器的 C2000器件和 PEAK PCAN-USB FD 分析仪。 对于 ControlCARD、需要使用定制设计的 CAN 收发器板以及 HSEC-180引脚 controlCARD 集线站。 定制设计的收发器板通过四种连接方式连接到 controlCARD:接地、3.3V、CANTX 和 CANRX。

    我已经将控制卡连接到 TMDSHSECDOCK。 它应该是180个引脚。

    我已将集线站的 GPIO37和 GPIO36连接到收发器引脚的 Tx 和 Rx。 我正在使用 PeakUsb 进行通信。

    此致、

    Raghuram

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

    尊敬的  Raghuram:

    要跳转到 CAN 引导模式、我们是否还需要配置 OTP 区域? 仅设置启动引脚是否不够?[/QUOT]

    这是对的、您无需对 OTP 进行编程。 您可以使用器件默认引导模式引脚来配置 CAN 引导。  

    并且如果我们在 OTP 区域中写入了您提到的值、那么设备是否将始终以 CAN 模式启动?

    我不建议您 写入 OTP、 RAM 中的仿真启动寄存器可以在模拟 OTP 寄存器的配置和使用的同时重复进行编程。 借助仿真引导中的测试、您可以比独立引导更轻松地调试引导 ROM、如上所述。 如果您写入 OTP、那么器件将会  随时运行 执行写操作引导 。  

    [报价 userid="634965" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1466426/tms320f28388d-reference-can-based-bootloader-for-f28388d-further-query/5632299 #5632299929"]我已将集线站的 GPIO37和 GPIO36连接至收发器引脚的 Tx 和 Rx。 我正在使用 PeakUsb 进行通信。[/quote]

    您需要在 controlCARD 侧放置一个提供 CAN_H/CAN_L 的 CAN 收发器、而不是将峰值器件直接连接到 TX/RX 引脚。 LaunchPad 具有板载 CAN 收发器、可提供这些信号、但 controlCARD 没有。  

    此外、请确认您   至少在使用 PCAN-USB FD (无需是 PRO 模型)。 dcan_flash_programmer 可执行文件是为使用 FD 器件而开发的。  

    此致!

    Matt

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

    我 假设这个问题已经解决、并关闭该主题、因为它已经持续了几周、没有 回复。 如果情况并非如此、请打开新主题帖。