Other Parts Discussed in Thread: C2000WARE
我想要基于SCI进行串行编程,这样用户可以快速验证而不需要XDS下载器。
然后我找到了一篇指导如何使用 “serial_flash_programmer” 进行SCI串行编程的文章:Serial Flash Programming of C2000 Microcontrollers (Rev. H)
按照文章的说明,我将路径下:D:\TI\C2000\C2000Ware_5_04_00_00\driverlib\f28p55x\examples\flash 的 flash_kernel_ex3_sci_flash_kernel 工程导入 CCS 20.1.1 中直接编译,将该工程下的 CPU1_RAM 文件夹中生成的 flash_kernel_ex3_sci_flash_kernel.txt 保存。
我编写了一个LED闪烁的案例,根据案例 flash_kernel_ex3_sci_flash_kernel 的HEX配置,重新配置了我LED闪烁的HEX配置,然后编译生成了 led.txt 文件。
接着,我将F28P550SJ9PZ芯片进入了Boot form SCI 模式,即GPIO32=1,GPIO24=0。
操作完成后,我来到:..\C2000Ware_5_04_00_00\utilities\flash_programmers\serial_flash_programmer ,在该文件夹下通过命令行CMD执行
serial_flash_programmer.exe -d f28p55x -k flash_kernel_ex3_sci_flash_kernel.txt -a led.txt -p COM81 -b 9600
> 这里我确保我的端口是没有问题,毕竟尝试过了很多次。
我看到在输出 x==x 格式的数据,说明 flash_kernel_ex3_sci_flash_kernel.txt 文件正在烧录,我等待了很久,当它出现选项时,我选择了 1-DFU CPU1。
我看到它正在烧录 led.txt 文件到device,但是到最后确失败了?我还尝试了将led.txt改为编译到CPI1_FLASH,但是还是失败。
请问还有什么方法能够不使用XDS下载器的情况下,将固件烧录到芯片中执行?无论是RAM还是FLASH。