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:引导加载程序无法正常工作?验证写入是否成功?

Guru**** 2398695 points
Other Parts Discussed in Thread: TMS570LS1114

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/662333/tms570ls1114-bootloader-can-not-work-well-the-way-to-verify-write-successfully

器件型号:TMS570LS1114

尊敬的专家:

     我正在开发 TMS570LS11x 和 TMS570LS12x 引导加载程序。现在、我确保 PC 端代码运行良好、并将代码移植到我自己的基于 VS2010设计的超级终端中。 我仍有一些问题需要验证我的引导加载程序功能。

        例如、我的器件是 TMS570LS1114、硬件平台是我自己设计的电路板。

现在、我已正确生成了一个文件、其格式为 PRJ_DCAN 测试.bin。 但为什么我发现我的 PC 在60秒以上的时间内大量转换以加载数据? 我找到的图像(APP BIN 文件)仅为29K。

        实际上、我的程序仍然在同一位置停止。


能否在下一条指令之后添加断点以验证我的引导加载程序是否接收到数据?

        现在我将向您显示主要的修改部分,请给我一些建议,以解决接口问题。

代码是

1 bl_config.h

#define CAN_BIT  500000  /*可以是125K、250K、500K、750K、1000K。 默认值为125K*/

#define SYS_CLK_FREQ           160//MHz            

2 flash_defines.h

#define TMS570LS11

3 BL_DCAN.c


G_ulForced =1;

因为我的硬件平台没有测试引脚 Porta 7、所以 我很努力

通过更改标志阀来更新数据。

 

执行上述步骤后,我看到“Memory Broler 0x00010000”,找不到数据?

我是否无效操作?

此致

秋奇

 

 

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

    您的 PC 端代码无法正确传输 CAN 消息包。
    1.打开二进制文件,将文件读取到缓冲区
    2.配置与 USB-CAN 适配器的 CAN 接口、并打开 CAN 网络接口对象(RX 和 TX)。 确保此初始化成功(API 应返回状态)
    3.发送 CAN 消息到 ping MCU:网格 ID 为 CAN_COMMAND_ping。 如果 ping 失败、则 CAN 接口配置不正确。

    您的 PCB 板上有多少个 CAN 通道和 CAN 收发器? 如果电路板上有2个 CAN 收发器、则可以使用这2个 CAN 来测试代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 QJ Wang:

    1我  确保第一点没有问题。

    以下是 Prj_DCAN_TEST.bin 文件

    缓冲阀如下所示:

    #2  我的超级终端可以在其他应用程序中恢复数据、我是否应该在引导加载程序应用程序中添加要测试的代码以进行测试?

    实际上,您的示例代码我只 修改了我的 POST。因此,如果 引导加载程序代码或 PC 端代码中仍有问题?

    现在、我将测试 Hyper trminal 上修复的接口问题。发送消息 ID CAN_COMMAND_PING.由于 我将代码移植为密钥加载、我仍然感到困惑。

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

    尊敬的 QJ Wang

    我添加了两个断点进行测试

    第一个断点 dwRel=0xffffffff;第二 个断点 dwRel=0x00000018

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

    什么是 transmit (..)的返回值 和 receive(.) 是否成功发送或接收了该消息? 我认为您得到的值(0xFFFFFFFF 和 OX018)不正确。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我找到错误.transmit (...)和 Receive (...) 使用相同的缓冲区、现在我尝试修改
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 QJ Wang
    我认为有几个变量是不正确的。 rcvID、rcvData.transmit (...)和 receive (...) 可能仍然有问题。
    我仍在调试。
    感谢你的建议。
    秋奇