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.

28027 SCI boot 例程【TI FAE分享】

本例程将control SUITEz中的GPIO TOGGLE通过SCI下到28027的RAM中运行。附件中有4个文件。

  1. 首先在CCS中编译目标代码生成Example_F2802xGpioToggle.map和Example_F2802xGpioToggle.out两个文件。
  2. 把这两个文件拷贝到C:\ti\ccsv5\tools\compiler\c2000_6.1.1\bin也就是hex2000.exe所在的目录下。把SCI.cmd也拷贝到这个目录下。
  3. 在命令行 输入:hex2000 SCI.cmd
  4. 生成Example_F2802xGpioToggle.hex.注意:文件的第一行和最后一行的内容无效。
  5. 用2400波特率,8数据,1停止,无校验。把单片机的复位引脚设置到SCI boot.  GPIO37=0, GPIO34=1.
  6. 先以字符方式发送“A”,C2000会自动检测波特率,返回一个ASCII“A”。
  7. 将Example_F2802xGpioToggle.hex中的以AA 08 开头的数据依次又串口发送。全部发送完成后,程序自动运行。GPIO PORTA 反转。

bin.zip
  • 新年后的大礼,收下了,谢谢!

  • 我是个新手,,,楼主能不能再把上面的步骤和程序说得再详细一点, 比如说“首先在CCS中编译目标代码生成Example_F2802xGpioToggle.map和Example_F2802xGpioToggle.out两个文件”, 请问目标代码是哪个代码,还有你给的四个文件和生成的.map和.out文件不都重复了吗?

    第二个问题是,”在命令行 输入:hex2000 SCI.cmd“,请问命令行在哪,从哪里输入呀。。。

    然后弱弱地问下“单片机的复位引脚设置到SCI boot”, 这个不太懂,,

    最后一个问题,“以字符方式发送“A”,”从哪里奖A输进去呢,又从哪里看呢?

    我是个新手,希望楼主能够帮助一下我小小的进步,非常感谢。。

     

    1. 你可以任意找一个工程的编译生成.out和.map文件。压缩包中给的两个文件是从我们的例程Example_F2802xGpioToggle生成的。
    2. 在你windows的命令行中找到编译器安装目录下的HEX2000,exe这个工具。
    3. C2000通过GPIO的电平设置启动模式。
    4. 用串口发送"A”到C2000的SCIA。

  • 你好,我按您的方法,把数据流用串口助手发送给DSP,当发送AA0时它都能正常返回值,可是之后输入8它就会直接从FLASH运行之前下载的主程序,请问这是问什么呢?

  • 我在CCS3.3模式下做的,但是没有成功,提示如下图:

    请问在CCS3.3下如何写CMD文件???

  • 2400有点低,传个文件大的速度有点久。应该可以用高速率,可以查一下手册看自动检测波特率能支持多高波特率。

    hex文件格式可以在网上查到。

     HEX格式文件以行为单位,每行由“:”(0x3a)开始,以回车键结束(0x0d,0x0a)。行内的数据都是由两个字符表示一个16进制字节,比如”01”就表示数0x01;”0a”,就表示0x0a。对于16位的地址,则高位在前低位在后,比如地址0x010a,在HEX格式文件中就表示为字符串”010a”。下面为HEX文件中的一行: 
    :10000000FF0462FF051EFF0A93FF0572FF0A93FFBC     “:”表示一行的开始。 
        “:”后的第1,2个字符“10”表示本行包含的数据的长度,这里就是0x10即16个。 
        第3,4,5,6个字符“0000”表示数据存储的起始地址,这里表示从0x0000地址开始存储16个数据,其中高位地址在前,低位地址在后。     第7,8个字符“00”表示数据的类型。该类型总共有以下几种: 00 ----数据记录        01 ----文件结束记录 02 ----扩展段地址记录 04 ----扩展线性地址记录 
    这里就是0x00即为普通数据记录。

    楼主说的以AA 08开头的数据,不知道用hex文件格式该怎么解释??

  • SCI的bootload格式,你自己好好研究下TI的文档吧,有详细的说明,自动波特率锁定也可以比较高的,我100K都可以正常锁定

  • 谢谢   帮助了我  也帮助了网友

  • 好东西,收藏下

  • TI的MCU产品相比其他还是比较出色的,一直用!

  • 好文章! 赞一个

  • 该文章太好了,不知道SCIB能用不?

  • 牛气的帖子啊!  不错!

  • 刚拿板子实测是不行的, 发 A 能正常回应 A, 发 AA 时候 DSP跑到FLASH去启动执行原来的程序去了,

    别绕弯子了, 把底层bootload串口协议公开吧.

  • 我按照介绍的方法,对28069进行在线串口升级程序,按照以下步骤操作

    1.先转化生成hex文件;

    2.删除文件的第一行和最后一行;

    3.通过SCIA发送A字符,SCIA返回A;

    4.通过串口助手,发送一行HEX文件的内容发送给SCIA,收到串口返回的数据后发送下一行,直到发完最后一行;

    5.复位运行程序。

    发现运行的还是旧的程序,新的程序没有升级成功,请问是哪里出错了?难道不是按照“行”依次发送数据吗?

    还有,怎么把程序写到FLASH中?

    请TI工程师或搞过串口升级帮忙解答下,谢谢!

  • 没有人能帮忙解答下吗?

    现在可以串口写到RAM中运行了,但怎么让串口的数据写到FLASH中运行?

    需要修改cmd文件吗?

  • 同样在弄28069的串口升级,碰到了跟你一样的问题,而且我连RAM都写不进去,请问你成功了没?如果成功了能否指导一下,谢谢