您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术DSP 的IC 引导装载方法的研究与实现 正文
DSP 的IC 引导装载方法的研究与实现

DSP 的IC 引导装载方法的研究与实现

点击数:7164 次   录入时间:03-04 11:45:41   整理:http://www.55dianzi.com   嵌入式系统-技术

DSP 芯片的片上引导装载程序(Bootloader) 用于在系统上电时将用户程序从外部非易失性慢速存储器(如FLASH 等)或外部控制器(如ARM 等) 中装载到片内或者片外的高速存储器中高速运行[1]。DSP 芯片一般都提供多种引导装载模式,如Host 引导装载、EMIF 引导装载、I2C 引导装载、Serial RapidIO 引导装载等。相比其它几种模式而言,I2C 引导装载具有体积小、功耗低、连接简单等优点。本文以TI 公司的DSP 芯片TMS320C6455[2](以下简称C6455)为例,详细介绍了I2C 引导装载模式的实现步骤,并构建了一个小系统验证引导装载的实现过程。1 C6455 的引导装载模式介绍

C6455 的引导装载模式由引导模式管脚BOOTMODE[3:0]决定。在DSP 复位时上述四个管脚的不同状态对应着不同的引导装载模式,具体如表1 所示。

对于主I2C 引导装载模式,DSP 作为I2C 总线上的主设备,在复位后引导装载程序会按照引导表的参数从外部I2C EEPROM 或者其它I2C 总线从设备读取数据到相应的目的地址完成引导过程。引导表指定了数据的目的地址和长度。

从I2C 引导装载与主I2C 引导装载类似,只是DSP 在复位后等待外部I2C 总线主设备按照引导表的参数将数据写入指定的地址。对于多DSP 的情况,可以用一个DSP 作为主设备,其它DSP 工作于从I2C 引导装载模式下。

本文使用主I2C 引导装载模式,构建的验证系统连接方式如图1 所示,使用的EEPROM 型号是Atmel 公司的AT24C1024B[3]。为了保证系统能够稳定的工作,SCL 和SDA 信号都需要接上拉电阻。

图 1 C6455 和EEPROM 的连接方式

为了直观地验证引导装载的结果,我们使用一个简单的DSP 程序,通过C6455 的通用输入输出管脚GPIO2 不断输出高低交替的信号驱动一个发光二极管闪烁,相应的DSP 程序代码如下:

main()

{

initial(); // 初始化DSP

for(;;) GPIO2_toggle();//GPIO2 高低变化

}

2 I2C 引导装载的流程[4]

如果在DSP 的复位过程中选择了主I2C 引导装载,也就是引导模式管脚BOOTMODE[3:0]配置为0101,那么DSP 的引导装载程序首先从外部I2C EEPROM 中读取128 个字节的引导参数。引导参数在EEPROM 中的起始偏移地址可由DSP 的配置管脚CFGGP[2:0]设定,即偏移地址为0x80×CFGGP[2:0],本文中CFGGP[2:0]是000 ,也就是引导参数的起始位置在EEPROM 的地址0 处。

引导装载程序根据读到的引导参数判断下一步该如何进行装载。引导参数表的主要内容如表2 所示,每一个参数占用两个字节,表中仅列出了主要的几个参数的定义。

Length 项指定了引导参数表的数据长度,固定为26 个字节。Checksum 项是所有26 个字节的校验和,如果是全0 表示不需要校验。Boot mode 项选择引导模式,本例中是0101, 主I2C 引导模式。


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术