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.

请问如何给TMS320F28027通过串口烧写程序

Other Parts Discussed in Thread: TMS320F28027, CONTROLSUITE

感谢大家支持!我用C2prog通过SCI给TMS320F28027烧写程序发现烧不进去,请问有没有人做过,能否给予解答!

感谢!

  • http://www.ti.com/lit/ug/sprufn6a/sprufn6a.pdf 请参考这个文件,注意先设置好进入SCI模式的GPIO状态.

  • 你说的是BOOT选择吧   

    他这个是烧写到内部flash中   然后上电可能没执行代码

  • 有没有提示什么错误?

  • 你好!我设置了28027的GPIO管脚状态后,串口烧写程序出现了下图中的错误。

    我的烧写步骤是这样的,麻烦大家能帮我看看哪里出错了,谢谢!

    1.先将28027目标办串口连接到电脑,在CCS5平台上,使用28027_RAM link.CMD,调试了

    一个SCI程序(GPIO28,29管脚),通信正常。

    2.将上面程序中的28027_RAM link.CMD替换成28027.CMD,且在程序中添加了

       MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
       InitFlash();

    经过编译生成了.HEX文件。

    3.按照bootrom中的资料,通过外部连线,将TDO管脚和TRST管脚接到GND上,把GPIO34

    管脚接到3.3V上。

    4.打开C2PROG软件置参数如下图所示:

    4.打开28027目标板电源,点击program后的结果是:autobaud ok了,但是接下来的

    擦除烧写工作就不执行了,请问这是什么原因?请大家指教!

  • 麻烦帮忙解答一下,谢谢!

  • 麻烦帮忙解答一下!

  • 你用TI的例程生成一个intel hex 的文件

    C:\ti\controlSUITE\device_support\f2802x\v230\f2802x_examples_structs\flash_f2802x

    然后将TDO拉低,连上电脑,芯片才上电,再试一下。

    如果不行,更新一下c2prog。

    我之前烧写过,没问题。

    ERIC

  • 谢谢Eric Ma!问题已经解决了,是电路板的问题,换了个电路板就可以了。

    不过我还有几个问题想请教下你。

    1.

    上图是28027的boot ROM中启动图表,要把TDO 拉低,GPIO34置高,TRST拉低。但是实际中,我只要把TDO拉低,就可以

    把程序烧写进去了,请问这是为什么,其他两个管脚不需要按照图标中的要求设置电平吗?

    2.

     上图是28035的boot ROM中启动图表,我看了TI controlsuit里面的28035的电路,它是通过切换GPIO34和TDO两个

    管脚的电平来实现SCI和JTAG程序的烧写的。但是我发现28035的table表和28027的table表是一样的。按照28027的

    启动模式做法,也只要下拉TDO管脚的电平,不需要管GPIO34的电平了吧?

     

    3.用串口把程序烧写进去后,要使得程序能在DSP28027中正常运行,是不是要把TDO的外部下拉去掉。这样重新上电

    程序就从flash中正常运行程序了?

    4.接着第3个问题,用串口烧写程序,需要外部调整TDO的电平。但是电路板一旦

    放在盒子里时,不打开盒子的情况下就不能改变TDO的电平,这样串口烧写就不能

    实现了。请问,有什么具体方法可以做到不改变TDO的电平,就可以实现串口烧写

    程序,实现程序的更新??

    感谢您能在百忙中抽出时间帮我解决。谢谢!

  • 问题1,GPIO引脚内部有上拉电阻,除了PWM引脚外,其他默认上拉使能,所以不需要配置GPIO34。

    问题2, 02x,03x,06x等系列都是相通的。

    问题3,烧写完后,将TDO下拉去掉,重新上电即可运行在flash.

    问题4,如果是裸片烧写,相信不会安装到盒子后才烧写吧,一般可以通过量产工具烧写或是JTAG烧写或是SCI烧写。

    如果是芯片已经有程序了,想升级代码的情况,这就需要你应用程序在接到升级命令后跳转到升级代码(也称bootloader),这个升级代码可以自己写好放在某一个flash扇区,或是也可以利用ROM中的bootloader代码。前者可以搜一下我以前发过的关于升级的帖子,后者可以看一下下面的例程。

    C:\ti\controlSUITE\device_support\f2802x\v230\f2802x_examples_structs\f28027_flash_kernel

    ERIC