基于单片机的Flash在系统编程方法
一个完整的嵌入式系统必须要有一个合适的存储器存放用户代码。
Flash是一种非易失性存储器,而且具有电可擦写、容量大、价格便宜等特点,通常可
用于在DSP系统中存放用户代码。
Flash在正常使用前要进行编程,即将用户
代码写入Flash。
在系统编程方法不需要其他编程设备和编程电源,只借助于仿真器,可直接通过DSP烧写程序对Flash进行编程。
本文所使用的编程方法就属于在系统编程。
本文首先介绍常见的Flash编程方法。
然后详细介绍本文方
法的原理,以及DSP系统上电加载原理,最后给出整个实现过程并分析了Flash变成时需要注意的一些问题。
Flash编程方法常见的Flash编程方式Flash 在正常使用前必须写入用户程序,传统上有3种编程方法:由供应商出货前把
程序代码写入Flash,编程器编程和在系统编程。
第1种方法不能满足用户更改代码的需求,所以在开发阶段不宜采用。
当使用编程器编程时,要求Flash固
定在PCB板前必须把用户程序写入片内。
因此,现在一般都优先考虑在系统编程方法,首先应确定所选的DSP是否支持在系统编程。
现行的在系统编程的方法一般是先把待加载程序(用户程序)的.out文件(COFF格式)转成HEX格式,然后去掉HEX格式文件的文件头,再通过烧写程序写到Flash里去,也可以不进行COFF格式到HEX格式的转换这一步,把COFF文件作为源文件,
去除文件头信息后将其写入Flash。
本文方法的编程原理本文的实现方法比较简单,首先把用户程序映射到系统RAM,再把用户程序作为数据直接从RAM搬
入Flash中。
首先在CCS上完成用户程序,生成可执行的.out文件,将该文件设为文件1进行加载;然后加载烧写程序的.out文件,将其设为文件2;最后
运行文件2,通过它把文件1烧入Flash。
操作步骤非常简单,这里要说明几点,首先,2个.out文件各自独立,文件2加载后,文件1成为数据,CCS在运行。