详解FlashBurn的hex文件烧写,dm6437平台

2019-07-23 15:33发布

首先介绍一下FlashBurn软件,它是TI的第三方软件公司为TI的DSP编写的Flash烧写软件,和CCS软件配合使用,通过DSP内部运行的FBTC实现Flash的读写和擦除。       在这里很有必要说一下DM6437从外部Flash启动的整个过程。首先,当系统加电或复位之后,DSP内核被锁住,暂停工作,EDMA自动的从外部Flash的首地址(基地址)搬运1KB的内容到内部cache的首地址,搬运完成之后,启动DSP内核,CPU运行这1KB的程序,这个程序的作用相当于一个bootloader的作用,完成二次启动,从外部Flash预先设定好的地址开始将真正要运行的程序搬运至DSP的cache中,搬运完毕后,运行_c_int00,进入到真正程序运行。这样就实现了DSP内核的启动。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
白丁野老
2019-07-24 06:41
在整个环节中,有两个个概念需要澄清,即Flash的基地址和二次搬移(引导地址),以及这两个地址是如何确定的:Flash的基地址就是你的目标板上Flash的物理地址,确定方法:由开发板的连接图可知,Flash被连接到CS2上,看其芯片资料可知CS2的物理地址范围为0x42000000到0x42FFFFFF,共16M的范围,所以Flash的基地址为0x42000000;而二次引导地址怎么确定呢,即从哪个地址开始引导的问题,前面提到DSP内核上电之后EDMA自动将低1KB的内容加载到cache中,所以这个地址的偏移地址最好要大于1KB(实际上只要大于开始引导程序的长度就可以,但是为了保险起见,一般都设置的大于1KB),在上面的cmd参数文件中,我们设定的二次引导地址为0x4200400h,为什么要设定成这个地址呢?这就牵涉到DSP引导程序中的Flash的二次搬运地址是如何设定的,这两个值一定要对应起来,也就是说,只有你引导程序是从hex文件烧写的起始地址开始搬运的,才能保证程序内容不会“丢失”。查看引导代码

      

一周热门 更多>