




免费预览已结束,剩余3页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TMS320C54x的加载引导 TMS320C5402文章发布人:gxy共53人阅读文字大小: 大 中 小 文字背景色: 摘 要:加载引导是TI公司的DSPs系统设计中必不可少的重要环节。文章对TMS320C54x加载引导的概念、方法及特点做了详细的阐述,同时以TMS320C5402的16位并行加载引导方式为例,给出了加载引导设置文件的程序代码和所生成的引导表文件。 关键词:加载引导;数字信号处理;TMS320C54x 1前言TMS320C54x是TI公司推出的定点系列数字信号处理芯片,它具有运算速度高、CPU结构优化、功耗低和智能化外设等特点,特别适用于实时嵌入式系统的开发,因此,它已成为数字产品设计中低成本,低功耗、高性能的数字信号处理芯片的首选,在便携式仪器、消费类电子、医疗设备等领域得到广泛的应用。TMS320C54x的加载引导(BOOTLOAD)方式可使系统在上电时将代码从片外加载到程序区,从而允许开发者事先将程序代码放在外部低速的非易失性存储器件中以便快速取址、译址和执行。开发设计人员可以用不同的控制信号(如中断、外部标志(XF)、通用输出(BIO)等)来选择不同的加载引导方式以满足设计需求。2加载引导(BOOTLOAD)方式在上电复位后,DSP只有处于微计算机状态即MP/MC为零时才能进入加载引导过程。TI公司已在DSP芯片内部ROM的OF800H-OFCOOh中固化了一段加载引导程序(BOOTLOADER),其作用是先根据相关控制信号的不同状态来确定采用何种加载引导方式,然后将代码从外部加载到程序区,最后再将程序入口地址赋给程序指针。在这段程序的开始,还应对CPU状态寄存器进行初始化设置,包括屏蔽中断(INTM1)、内部DARAM映射到程序/数据区(OVLY1)、程序/数据区读写加7个等待周期等设置。为了满足不同系统的需求,TMS320C54x有多种加载引导方式。各种加载引导的功能如下:主机接口引导主机接口(HPI)是TI公司DSP的特色之一,即DSP作为协处理器将片内DRAM共享以便让其它智能器件(比如单片机或另外的DSP)作为主机访问,从而提供一种方便快捷的通讯联系方式。在主机接口引导方式下,首先将代码通过主机接口下载到DSP片内存储器中,然后,DSP再从数据区007FH提供的地址开始执行程序。8位/16位并行引导并行引导就是以并行方式从外部读取引导表数据,同时根据该表的内容加载代码并执行。并行引导表中通常包括要下载的代码段、各代码段的目的地址、下载完成后程序执行的起始地址以及其它一些设置信息。8位/16位标准串行引导 串行引导就是通过DSP的多通道缓冲串口(McBSP)在标准模式下从外部读取引导表数据同时根据该表的内容加载代码然后执行。其中McBSP0支持16位,McBSP1支持8位。8位串行EEPROM引导该模式通过DSP的McBSP1在时钟停止模式(SPI)下从串行EEPROM中读取引导表数据,同时根据该表的内容下载代码然后执行。8位/16位IO引导在IO引导模式下,加载引导程序首先通过外部标志(XF)和通用输出来(BIO)实现并行的异步握手协议,然后再从IO端口0000h读取引导表数据,同时根据该表的内容下载代码并执行。加载引导程序(BOOTLOADER)允许多代码段加载,且该加载不占用连续地址空间。另外,在并口和IO加载引导方式下,加载引导程序(BOOTLOADER)还会根据引导表的设置对DSP的SWWSR、BSCR寄存器进行设定。3加载引导(BOOTLOAD)的执行当加载引导程序完成初始化后,便可执行一系列的检测操作以确定采用哪种加载引导方式。其检测顺序如下: (1)主机接口加载引导方式; (2)8位串行EEPROM加载引导方式; (3)16位并行加载引导方式; (4)8位并行加载引导方式; (5)MCBSP1标准串行加载引导方式(8位); (6)MCBSP0标准串行加载引导方式(16位);(7)IO加载引导方式;(8)主机接口加载引导方式。图1给出了DSP加载引导方式的检测过程。当系统检测一遍后,若无有效加载引导方式被选中,加载引导程序将重新启动并继续检测,但此时是从标准串行加载引导方式开始而并不是检测所有的引导方式。31主机接口加载引导一般在DSP芯片复位后,首先判断是否选择主机接口引导方式。具体方式是加载引导程序先将数据区007Fh清零并发出主机中断,然后监测中断标志寄存器(IFR)中的外部中断2(INT2),此时若有INT2发生,则认为主机接口引导方式被唯一选中并进入该引导方式。否则,加载引导程序还会检查其它引导方式,包括主机方式。为了适时地触发INT2外部中断,可以将主机中断(HINT)和外部中断2(INT2)直接连在一起,或者在DSP复位30个时钟周期内触发一个有效的外部中断(INT2)。进入主机接口引导方式后,主机就可以向DSP加载代码,直到加载结束,同时在DSP数据区的007Fh写入DSP程序开始执行位置。而加载引导程序则一直监测007Fh的数据是否有改变,如果数据发生非零改变,则结束加载引导,同时将程序指针设为该非零值以作为程序起始地址。32串行EEPROM加载引导若未进入主机接口引导方式,加载引导程序会通过检测外部中断3(INT3)来判断是否选择串行EEPROM方式。若发现中断标志位(IFR)中的外部中断3(INT3)有效,则进入串行EEPROM加载引导方式。也就是说,在DSP复位30个时钟周期内,如有外部中断3(INT3)被触发,则选择这种加载引导方式。为了产生有效的外部中断3(INT3),可以将多通道缓冲串口(McBSP1)的传输引脚(BDX1)与外部中断3(INT3)直接联接起来。具体的连接方式如图2中的虚线所示。有一点需要注意:那就是并非所有版本的TMS320C5402都完全支持这种加载引导方式。33并行加载引导并行加载引导方式支持8位和16位数据宽度,也就是说外部非易失性存储设备可以是8位或16位。在加载过程中,软件等待寄存器(SWWSR)和边界切换控制寄存器会依据引导表中的设置进行配置,但此设置只有在引导加载结束时才起作用。 首先,加载引导程序可从IO空间或数据空间的0FFFFh读取引导表的地址(范围为04000h0FFFFh)。相比而言,从数据空间读取更为方便,因为可以将引导表数据和它的起始地址放在一个外部非易失性存储设备中。然后按照得到的引导表起始地址读取数据。如果读到10AAh则是16位数据宽度,并开始加载引导;而如果读到xx08h则是8位数据宽度,此时系统将继续读下一个数据,只有读到xxAAh才能进入加载引导。34标准串口加载引导实际上,TI公司的DSP也可以通过多通道缓冲串口(McBSP)的标准模式来加载引导,其中McBSP0是8位数据宽度,McBSP1是16位数据宽度。当判断是否选择标准串口引导方式时,加载引导程序先将串口配置为TMS320C54的标准串口,并将DSP的外部标志位(XF)置低以等待接收数据,然后监测中断标志寄存器,看是否有串口中断发生,同时判断是哪个串口(BRINT0或BRINT1)。若是串口1中断,则读取串口数据接收寄存器的值以进一步判断,如果第一个字节是08h,第二个字节是AAh则进入8位串口引导方式,否则判断是否是串口0中断。若是串口0中断,同样读取串口数据接收寄存器的值并进一步判断,如果是10AAh则进入16位串口引导方式,否则继续判断是否是IO方式。35 IO加载引导由于在标准串行方式中,加载引导程序已经把外部标志位(XF)置低,因此,若无串口中断发生,DSP将判断是否选择IO方式。IO方式是利用外部标志位(XF)和通用输入引脚(BIO)通过握手信号来传输数据的。当XF保持“0”状态时,表示DSP已准备好进入IO引导方式,此时若外部主机将通用输入引脚(BIO)置“0”,则表示要求IO方式引导,之后,通过DSP读取IO地址0000h的数据,并将XF置“1”以表示数据接收成功,随后主机再将BIO置“1”,则表示一次数据传输的结束;若还有数据需要传输,可使XF再次置“0”以表示准备接收数据,然后由主机将数据准备好后将BIO置“0”,以使得DSP能够再次读取IO地址0000h的数据,之后,系统再将XF置“1”,随之主机再次将BIO置“1”,则表示又完成一次数据传输;此过程周而复始,直到引导表的数据全部传输完毕。DSP从IO读回的第一个数据如果是10AAh,则以16位数据宽度传输引导表;如果第一个是08h,第二个是AAh,则以8位数据宽度传输引导表。4加载引导表加载引导表是将通用目标文件(OUT)按照加载引导方式设置生成十六进制文件(HEX),也就是生成固定格式的数据流。表1给出了16位模式时源程序数据流的生成结构。加载引导表的生成步骤如下:(1)编译程序代码,生成目标文件。应当注意:对于TMS320C5402,需加编译选项v548,否则最后生成的将是早期TMS320C54x的引导表。(2)链接目标文件,生成通用目标文件(COFF)。 (3)根据加载引导设置生成十六进制文件。实际上,有时也可将加载引导设置成一个文件。5应用举例下面给出TMS320C5402通过16位并口方式从FLASH(AT29LV1024)中加载引导程序的应用举例,其编译链接的细节这里不再赘述。假设已经生成了通用目标文件MAINOUT,则加载引导设置文件OUT2HEXCMD如下:这样利用十六进制转化工具在命令格式下执行:HEX500 OUT2HEXCMD,即可生成加载引导表文件MAINHEX。图3所示是生成的引导表文件。它的数据流结构符合前面所说的格式。应当注意:在调试阶段,程序入口地址每编译一次都有可能发生变化,所以每次编译完都应根据编译生成的存储映射文件(MAP)来更改加载引导设置文件(CMD)中e选项后的程序入口参数。实际上,如果中断向量表不放在与片上ROM可能重叠的存储区域(比如E000h),那么,利用RESET中断时,程序也会跳至程序入口,因此,可在加载引导设置文件中将程序入口参数设为E000h而不必再更改。在完成上述工作后,便可以用编程器将这个十六进制的文件烧写到FLASH里进行加载引导了。另外,如果FLASH支持在线编程,可以先将十六进制文件(HEX)转化为二进制文件(BIN),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第一专题研讨发言稿
- 幼儿保育课件
- 形象塑造课程课件
- 2025版住宅小区智能化改造物业合作协议
- 2025版节能环保型建筑玻璃贴膜施工服务合同
- 二零二五年度环保设备销售台账合同及环保技术研发服务协议
- 2025版互联网企业员工安全责任与培训合同
- 二零二五年度土壤污染修复地质勘察合同范本
- 2025版企业员工职业生涯规划与培养协议下载
- 二零二五年度钢管租赁及项目管理服务合同
- ISO14001环境内审检查表
- 国际烟花爆竹市场竞争态势分析
- 垃圾中转站运营管理投标方案
- 终身学习的课件
- 样品不合格分析及改良流程图
- 黄土湿陷性计算模板(自带计算公式)
- 供应商评价表模板
- 云南省安全员A证考试题库及答案
- 病理组织的脱水改
- 安徽万合佳尔生物科技有限公司年产6000吨胍基乙酸、28500吨二甲酸钾、5000吨三甲胺乙内酯及三甲胺乙内酯盐酸盐、15000吨复合制剂项目环境影响报告书
- 《网络传播概论》考试复习题库(重点160题)
评论
0/150
提交评论