(4)AT25F1024支持单字节编程模式和256字节的页编程模式。芯片内部每页256字节,一条编程指令可以在一页内烧写1到256个连续的字节。烧写的起始地址可以在一页内的任意位置,连续烧写时地址自动增加,但是当地址到达本页的最后时会自动跳到本页首地址。这一点在在线编程烧写时要十分注意。
(5)在内部写操作周期内,其它操作命令都将被忽略,但是RDSR(读状态寄存器)指令除外。状态寄存器的/RDY位表示芯片内部写周期是否就绪。因此,Flash器件内部编程就绪与否就可以通过判断状态寄存器的这一标志位来确定。AT25F1024的状态寄存器格式见表2。
表2 AT25F1024的状态寄存器格式
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
WPEN
X
X
X
BP1
BP0
WEN
/RDY
Bit0=0表示器件处于就绪状态;Bit0=1表示写周期正在进行中。同时,在内部写操作的周期内,Bit0~Bit7全部为1。
5.TMS320VC5509引导表
所谓引导表,就是在DSP芯片上电复位后由Bootloader从外部存储器装入片内RAM的一个数据块,这个数据块包括用户程序的数据段和代码段,还包括程序入口地址、寄存器设置、可编程延时等信息。
在用编程器直接烧写的方法中,引导表可由“HEX转换应用程序”(C55x汇编语言工具CCS中自带的hex55.exe)根据.out文件生成,并直接生成写片文件,再由编程器自动写入Flash中。但是在在线系统编程烧写的过程中,并不考虑.out文件和写片文件中的附加信息,而是直接将符合引导表格式要求的数据内容通过一段独立的用户程序连续完整的写入Flash中。TMS320C55X系列DSP芯片的引导表结构如表3所示。
表3.引导表结构
字节地址+0
字节地址+1
字节地址+2
字节地址+3
32位入口点字节地址
字节地址+4
32位寄存器配置数量
字节地址+8
16位寄存器地址
16位寄存器内容
16位延迟标志
16位延迟计数值
32位段字节计数值
32位段字节开始地址
数据字节
数据字节
数据字节
数据字节
数据字节
数据字节
数据字节
数据字节
32位0字节计数值(引导表结束)
其中,入口点字节地址是引导结束后,用户程序开始执行的首地址;32位寄存器配置数量决定后面有多少个32位是作为寄存器设置值或者作为延时等待;16位延时标志恒为0XFFFF,以区别于16位寄存器的地址;段长、段起始地址和数据是用户程序中定义的各个段的内容;最后以32位个0作为引导表的结束标志。
无论是用编程器直接烧写,还是在线系统编程烧写,实质上都是要在片外存储器(如Flash)存放整个引导表的内容。DSP芯片在上电复位后会自动运行ROM中固化的Bootloader引导程序,引导程序会根据片外存储器中存放的引导表的信息,将用户程序的各个段引导到片内RAM的相应位置,然后从入口地址开始执行。这样就完成了整个加载引导的过程。
6.串行引导的原理及实现
TMS320VC5509A芯片自带的Bootloader程序支持11种引导模式,本文所做的工作中根据片外Flash的特性要求选择从多通道缓冲串口0(McBSP0)引导、支持24位地址的SPI串行引导模式。
● 模式选择
VC5509A引导模式的选择是通过四个模式选择引脚BOOTM[3:0]完成的。BOOTM0~3引脚与芯片的通用输入输出引脚GPIO1、2、3、0相对应。这里选择SPI的引导模式,BOOTM[3:0]=0001,在实际的电路连接上是将芯片引脚通过上拉或下拉电阻接地或接电源来实现。
● SPI引导模式
本文关键字:测量 综合-其它,单片机-工控设备 - 综合-其它