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.

[参考译文] TMS570LS1114:引导加载程序 PC 代码@QJ Wang

Guru**** 2395875 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/669191/tms570ls1114-bootloader-pc-code-qj-wang

器件型号:TMS570LS1114
主题中讨论的其他器件:HALCOGEN

e2e.ti.com/.../3225.HyperTerminal.7z

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

    e2e.ti.com/.../0272.Prj_5F00_Bootloader_5F00_CS_5F00_01.7z

    BT 代码  

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

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

    e2e.ti.com/.../2626.VCexample.7z

    VC 示例代码

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

    e2e.ti.com/.../7802.Ecan_A8520160935E7F4F28754B628C51_5.2.pdf

    CAN  FAPI  函数  用户  指南

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wang
    谢谢你。
    谢谢、此致
    邱志
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我仍在研究您的代码。

    对于 PC 端的 ping 命令:
    数据长度为0、您无需向引导加载程序发送8字节数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是。但是、如果数据长度为0、则 Transmit 函数将返回故障值0xffffffff。 所以我问他的工厂。他们说数据长度不能为0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 QJ

    这是我的错。 DataLen 为0 没有问题。 现在、我已在我的代码中更正了它。

    谢谢、此致

    秋奇

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

    我在 PC 端读取了代码、对我来说看起来不错。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 QJ Wang:

                 那么、接下来我应该怎么做。 我仍然认为这可能是我移植的引导加载程序代码中出现的问题。 我已在此主题中发布了我的引导加载程序项目。它是否可以与我的 PC Code 或其他 PC 连接。 请给我一些建议。我可能需要重新编写

    Packetwrite()和 Packetread()?事实上,我对代码的计算有些困惑。

                 昨天、我通过 JTAG 加载了应用程序(起始地址为10100)。我的引导加载程序可以跳转到该应用程序。

        谢谢、此致

    秋奇

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对不起,王杰,我仍然被这个问题困扰
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、邱奇、

    MCU 侧的 CAN 引导加载程序工作良好。 MCU 引导后、Boatloader 会继续等待主机端发出的命令。 如果我是您、我会探测 CAN 总线以检查 CAN 总线上的数据是否正确。 这是 CAN 引导加载程序流程图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 QJ Wang:
    实际上。 我熟悉此 CAN 引导加载程序流程图。我发现您的代码是 switch 和 case 语句、它在问题上。 我认为问题是 CAN 驱动程序代码。

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

    下面 是我的修改帖子。

    e2e.ti.com/.../7183.Prj_5F00_Bootloader_5F00_CS_5F00_316.7z

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

    您好、Chi、

    我写了一个 CAN 测试用例、供您检查您的 PC 端是否传输任何数据。

    测试用例 DCAN1模块、用于接收的消息框1、用于接收 CAN 数据的 RX 中断、不使用 ID 掩码、因此它可以接收任何 ID 的数据。

    请在 sys_main.c 中的 canMessageNotification()函数中添加断点

    首先运行 MCU 代码、然后您的 PC 大小可以进行投影。 如果 MCU 代码未在断点停止、则 CAN 总线上没有数据。

    e2e.ti.com/.../3022.TMS570LS1114PGE_5F00_CAN_5F00_Test.7z

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

    尊敬的 QJ Wang:

                 感谢您热情的回答。

                 现在、我已经从 e2e.by test 下载了代码、我找到了包含数据的 CAN 总线。

    步骤1:我通过生成代码的 HalCoGen 添加硬件 LOAK。

    步骤2:运行 MCU 代码并在 sys_main.c 中添加断点

    步骤3:运行 PC 端 代码、程序在断点处停止。


     谢谢和 Regars

    秋奇

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

    尊敬的 QJ Wang:

    请为我的后续操作步骤提供一些建议。

    谢谢、此致

    秋奇

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

    干得不错。 您从 PC 获取的 ID 和数据是什么? 它们是否相互一致? 在我给您的示例代码中、ID 掩码(DCAN IF1MSK)被清除、这意味着 ID 不会被用作接受滤波器。 在引导加载程序中、ID 用于筛选即将出现的消息。 这就是我想知道 ID 和数据的原因。 谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 QJ Wang:

    现在、我测试我的 PC 代码并发布我的数据。

    我发送一条 ping 命令和 一条命令下载顺序。


    Image_size 为74a0。   CANID 从 0变为另一个值。


    所以,我不知道是哪个扇区导致了问题,也就是说,canID=0x5A0 或 0x5A4?

    在引导加载程序中、ID 用于筛选即将出现的消息?抱歉、根据我的理解、ID = 0x5Ax 是对的?

    如果我犯了错误来理解它吗?

    实际上、我的引导加载程序代码仍然是您的代码。 我熟悉使用 HalCoGen、因此我也要依赖于它、甚至修改  

    bl_can.c。这就是我这么长时间以来一直困扰这个问题的原因。原谅我的知识不足,现在我积极尝试解决这个问题。

    谢谢、此致

    秋奇

     

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

    您好、邱奇、

    您的理解是正确的。 ID 为0x5Ax、其中"x"表示"无关"。

    除 ID 外、数据看起来良好。 要获取这些数据、您是否使用示例代码或使用引导加载程序?

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

    尊敬的 QJ Wang:

       几天前我要求休假、但我没有及时回复您的帖子。 我很抱歉。

       实际上、我在一段时间前没有更改 BT 示例、我发布了一篇文章、详细介绍了这些更改。

      但该程序保留在 while 语句中。

     

    谢谢、此致

    秋奇

     

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

    有什么可以为你效劳的? 如果您有另一个具有 CAN 收发器的电路板、则可以通过 CAN 总线连接到2个电路板。 这将使测试更简单。 您是否使用 TI launchpad +您的 CAN 收发器板?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 QJ Wang:

    现在、我的 PC 端和 BT 可以相互通信。我将关闭第三个、并打开新的问题帖子。

     

    谢谢、此致

    秋奇

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