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.

28034 串口 烧写 上位机 协议

Other Parts Discussed in Thread: CONTROLSUITE

公司要求开发一款自己的串口烧写上位机,有没有串口烧写的过程、数据格式及通信协议介绍的文档。谢谢!

  • 您好,
    请参考TMS320x2803x Piccolo boot ROM参考指南:SPRUGO0B
    www.ti.com.cn/.../sprugo0b.pdf
  • "公司要求开发一款自己的串口烧写上位机,有没有串口烧写的过程、数据格式及通信协议介绍的文档。谢谢!"

    ERIC

    这是我之前做的回答:

    1.使用上位��软件serial_flash_programmer.exe 把TXT格式的目标文件传送到CPU里面,这种情况下,BOOT MODE是不是要配置为SCI,即GPIO72=0,GPIO84=1?如果是这样的话,不就与GPIO84、85作为SCI的RX、TX冲突了嘛?

    Eric: 不冲突,BOOT mode配置的GPIO口,只是在上电后,芯片跑到ROM里面的引导代码判断这两个脚的电平,判断过去,进入对应的引导模式,这两个脚的功能就释放了。

    2.如果我想要用F2837xD_sci_flash_kernels这个例程俩烧写程序,如何操作呢,可以列一下烧写步骤嘛?

    Eric: 查看这个路径C:\ti\controlSUITE\device_support\~Utilities\serial_flash_programmer

    这个例程是TI做的SCI bootloader算法,即利用boot mode,将芯片配置成SCI boot模式,然后通过PC端的上位机软件serial_flash_programmer.exe 将这个kernel写进RAM中,kernel接管后续flash烧写的工作, 它将烧写对应的用户程序。

    3.TI官方有提供关于bootrom例程吗?我在D:\Softwares\CCSv6.2\controlSUITE\libs\utilities\boot_rom\F2837x_revb找到的相关例程用不了,例程有错误。

    ERIC: BOOTROM例程里面,应该也只是如何利用串口,将kernel接收后放到RAM而已,然后运行。

    如果你要在线升级的功能,可以看我之间发过的F28M35的例子。如果接收BOOT MODE设置IO口这种模式的话,那就用第2点的这个就好。

    关于串口升级,也有相关的帖子,你看看:

  • Eric:
    如果你们是自己做串口升级的底层代码,包括上位机,那么协议都可以自己定义的,包括通信协议,怎么方便怎么来。
    其实就是C2000接收到串口发来的升级命令后,然后跳转到你芯片底层的升级代码,然后开始和上位机通信,接收一帧数据,然后烧写芯片,直到数据接收完。
    C:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\f2803x_flash_kernel
    C:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\flash_programming
    这两个例程是芯片默认的例程,你可以参考,但是都可以灵活改的,只要你自己写代码的话。