TI论坛
直播中

赵静

7年用户 174经验值
私信 关注
[问答]

3.3下TMS320C6416烧写flash不运行是为什么?

1:用合众达提供的FLASH_PRG程序,步骤是先load要下载的程序,然后LOAD flash_Prg程序,然后运行,这个程序是分段将程序烧写进入flash的,但是我不明白的是连续两次LOAD PROGRAM,text等程序段的地址应该是后一个LOAD的程序的地址吧,个人愚见。用这个方法也确实把数据写进了但是程序不运行。
2:然后我用了另一种简单粗暴的方法,LOAD 要下载的程序,然后把整个内存区(FILE-DATA-SAVE)分两部分全都存起来,再LOAD烧写flash的程序,然后再把存储起来的数据LOAD到0x80000中,然后再烧写到flash中,连续烧写两次。然后程序写进flash了,但是呢,依然上电没用。
3:考虑二次引导,二次引导用的是boot.c,以前师兄用这个成功写进,也成功启动了。。。。所以我就没办法了。
4:然后发现每次load同一个程序,内存的变化不一样。。0x400前几个数据都有细微的差别。。。我也是崩溃了。。。不知道这个是随机变化的还是怎么样。。。
5:板子的boot方式是没有问题的,和师兄用的板子boot方式已经检查过了。
6:求助,用什么方法可以观察dspboot的过程,看到底是什么地方出了错误。

回帖(1)

李波

2020-7-30 11:50:00
看不出上面的思路。
首先C641x的bootloader只能boot 1Kbyte代码,如果代码超过1K,则要用用二级boot,也就是前面的1K代码实现二级boot的功能。
至于烧写,如果按你前面的方法,即要将FLASH_PRG的代码在CMD文件里偏离被烧写文件的地址范围。
下面链接是将.out转换成boottable格式的工真,可以将.out转成.bin用file I/O读入烧写,或.h加入烧写工程,这样方便一些。
http://www.ti.com/lit/an/sprab60/sprab60.pdf
 
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

更多回帖

发帖
×
20
完善资料,
赚取积分