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:SCI编程在尝试自动波特时卡住

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1098009/tms320f28379d-sci-programming-stuck-on-attempting-autobaud

部件号:TMS320F2.8379万D
主题中讨论的其他部件:C2000WARE

您好,

我正在测试用于F2.8379万D controlCARD R R 1.3 和controlCARD对接站R 4.1 的sci闪存编程器。

我正在使用C2000Ware/utilities/flash_programers/sserial_flash_programmer中的3.4 和预编译可执行文件及.txt十六进制文件

我已通过USB到UART FTDI转换器电缆将win10主机连接到GPIO84/85。 我已使用c2000ware sci echoback示例测试了此串行连接,并进行了必要的针mux更改。 我可以使用连接到COM端口的PuTTY成功回显字符。

我尝试通过controlCARD上的DIP开关A:SW1将卡置于SCI引导模式。它设置为01。  

为了进行编程,我在控制台中运行以下命令,自动波特无法锁定

我在该主板上看到了许多其他问题,这些问题通常是由于串行连接不良或想要使用GPIO28/29进行连接。 我知道我的串行连接工作正常,我正在尝试使用默认PIN。 什么可能是自动波特率不锁定?

我用信号分析仪探测实验器套件上的针脚。 我可以看到主机发送'A'一次,然后两条串行线路上都没有其他活动。

请给出建议!

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

    您好,  

    使用controlCARD时,您需要使用备用SCI引导引脚来下载闪存内核。 请参阅以下应用手册的常见问题解答的F2837x部分: https://www.ti.com/lit/an/sprabv4e/sprabv4e.pdf 

    下面的屏幕截图显示了如何使用F2837x controlCARD运行示例:  

    谢谢!

    Anu

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

    Anu,

    这确实解决了我的问题。感谢您向我指出勘误表。 但是,F2837xD的技术参考手册说SCI从GPIO28/29启动仅允许CPU1支持。是否有使用这些GPIO刷新CPU2的已知方法。

    接下来,如果我要实施自己的闪存内核,可以使用任何一组GPIO对两个CPU进行串行闪存,或者是否存在硬件限制,限制基于串行配置的闪存的使用。 我知道我必须通过输入sci boot,重置和使用GPIO 28/29将内核刷新到设备。 但是,我的内核是否可以接收数据,以便通过另一个sci接口刷新新新程序? 此架构的最终结果是将自定义闪存内核嵌入到现有程序中,该程序将接收串行命令分支到内核,在内核中等待两个内核的固件更新,然后重置两个内核。

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

    已使用gpio28/29和alt内核将CPU2写入闪存。 流程与sprabv4e.pdf中详述的流程略有不同,基于我对TRM的理解,不应该起作用。

    1.将A:SW1设置为开,开;SW1设置为0,1

    2.在CCS中连接CPU1,在CCS中连接CPU2

    3.在CPU1中将0xD00修改为0x815A。 在CPU2中将0xD00修改为0x815A

    4.重置CPU1,重置CPU2

    5.恢复CPU2。 等待0x3FE44E处的紧急停止,再次恢复CPU2。

    6.恢复CPU1

    7.运行serial_flash_programr.exe -d f2837xD -k kernel_01_alt.txt -a blinky_01.txt -m kernel_02.txt -n blinky_02.txt -p COM14 -b 9600

    8. DFU CPU1;运行CPU1并引导CPU2;DFU CPU2;运行CPU2