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.
您好,
我正在测试用于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