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.

[参考译文] LAUNCHXL-F2800157:无法通过 F2800157 LaunchPad 上的 CAN 刷写闪烁的 LED 编程

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1463096/launchxl-f2800157-unable-to-flash-blinking-led-program-via-can-on-f2800157-launchpad

器件型号:LAUNCHXL-F2800157

工具与软件:

您好!

我正在尝试通过 CAN 将一个"闪烁 LED"程序刷写到我的 LaunchPad F2800157中。 我已经执行了文档中给出的步骤:"C2000微控制器的 CAN 闪存编程"、但未刷写程序。 我遵循了以下步骤:

1.通过设置 GPIO32 (下)->0和 GPIO24 (上)->1来设置正确的引导模式
2.将 S4设置为 XCVR。
3.将 LaunchPad J14处收发器的 HI / LO 引脚连接到 PCAN-USB Pro 的通道1。
4.导入"flash_kernel_ex5_dcan_flash_kernel.c"工程、并在 C2000编译器属性中添加预定义的符号"_LAUNCHXL_F2800157"。
5.将  "${CG_TOOL_HEX}""${BuildArtifactFileName}"-boot -sci8 -a -o "${BuildArtifactFileBaseName}.txt"添加到"flash_kernel_ex5_dcan_flash_kernel.c" 项目中。
6.启用 C2000 Hex Utility 并在 "flash_kernel_ex5_dcan_flash_kernel.c" 项目中添加以下标志:--diag_wrap=off --boot --sci8 --ascii。
7.将 "${CG_TOOL_HEX}""${BuildArtifactFileName}"-boot -sci8 -a -o "${BuildArtifactFileBaseName}.txt"添加到闪烁 LED 项目。
8. 启用 C2000 Hex Utility 并在  闪烁 LED 项目中添加以下标志:--diag_wrap=off --boot --sci8 --ascii。
9.将生成的两个 txt 文件复制到 "dcan_flash_programmer"目录并运行命令: dcan_flash_programr.exe -d f280015x -k dcan_flash_kernel.txt -a application_firmware.txt -v
10. cmd 窗口显示"Kernel loaded"和"Application Load completed"消息、但未加载 led 应用程序。

要排除故障并检查硬件连接:

1.在接收模式和发送模式下都尝试了"can_ex5_transmit_receive"示例。 Peak-USB Pro 和 LaunchPad 之间的连接与上述连接相同。 在发送模式下使用 LaunchPad 时、我可以在 PCAN-View 中看到这些消息。  
2.当在接收模式下使用 LaunchPad 并从 PCAN-View 软件发送消息时、我可以在 CCS 监视窗口中看到这些消息。
3.我比较了 PIN 配置、并决定在 DCAN_Boot.c 中进行以下更改:

    外壳 can_boot:
    case CAN_BOOT_SENDTEST:
    默认值
      //
      // gpio4 = CANATX
      // GPIO5 = CANARX
      //
      gpioTx = 4U//从7更改为4
      gpioRx = 5u
      gpioTxPinConfig = GPIO_4_CANA_TX;//从 GPIO_7_CANA_TX 更改为
      gpioRxPinConfig = GPIO_5_CANA_RX;

仍然无法正常工作:我正在使用具有以下配置的 API:

EntryAddr = DCAN_Boot (CAN_BOOT、0、1、20、
           WE_Protection_A_Mask、WE_Protection_B_Mask、WE_Protection_UO_Mask);


注意:当内核和应用程序映像下载到 LaunchPad 中时、CAN1 LED 变为"红色"并一直闪烁、直到 显示"应用程序加载已完成"消息(可能建议 CAN 有问题?)

是否还有其他调试步骤或可能缺失的配置?

 

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

    您好!

    这是 DCAN 或闪存编程的问题吗?

    此致、

    Anand

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

    尊敬的 Anand:  

    非常感谢您的答复。 我的目标是使用 DCAN 实用程序刷写程序(我目前已选择闪烁的 LED 程序)。 我已经按照我在问题中概述的步骤进行了操作。 能否详细介绍一下 DCAN 或闪存编程的含义? 因为正如我理解的那样、我想对闪存进行编程、但使用 DCAN。

    我不确定这是 DCAN 通信问题(例如、引脚映射、波特率等)还是闪存编程/引导加载程序问题(例如、代码未写入正确的闪存扇区、或者器件之后未从闪存引导)。 您能否说明一下在这种情况下具体指向 DCAN 问题和闪存编程问题的方面?

    此致、
    Taif

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

    您好!

    您可以将断点放在 main()函数中、并能执行到断点?

    此致、

    Anand

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

    尊敬的 Anand:

    感谢您的答复。 您能否说明一下,在我们处理多个文件时,您指的是哪个 main()函数。 此外、应该在运行 dcan_flash_programmer.exe 命令后执行此操作吗?

    我期待着你的答复。

    此致、  
    Taif

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

    Anand、您好、如果您能对我的最后一个问题提供一些指导、那将非常感谢。 谢谢!

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

    尊敬的 Taif:

    您刷写的示例将有一个 entry 函数、您可以放置断点并观察是否命中该断点吗?

    这是为了确保正确刷写示例。

    此致、

    Anand  

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

    您好!

    此问题已通过以下方式解决:

    e2e.ti.com/.../launchxl-f2800157-can-flash-programming-issues---bitrate-sleep_time-and-entryaddr-configuration---peak-pcan-usb-pro-error-status-red-led