新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 铁电存储器FM18L08在DSP系统中的应用

铁电存储器FM18L08在DSP系统中的应用

作者:时间:2011-08-11来源:网络收藏
3 C5402并行引导装载模式设计

本文引用地址:http://www.eepw.com.cn/article/150363.htm

  3.1 C5402的程序引导装载模式类型:

  C5402提供以下几种引导装载模式类型: ① HPI(主机接口)引导装载模式欲执行的程序代码通过主机接口总线由外部处理器加载至片内中。当外部处理器将被加载代码的起始地址(C5402片内地址007FH)的内容改变,便开始执行引导装载程序。 ② 8位/16位并行引导装载模式引导装载程序通过外部并行接口总线读取存放在外部数据存储单元中的数据。外部数据单元中的数据是按照一定格式存储的,其信息包括:欲加载的各段程序代码、各段程序代码长度、各段程序代码存放的目标地址、程序代码的入口地址以及其他配置信息。 ③ 8位/16位标准串行口引导装载模式引导装载程序通过被设置为标准模式的多通道缓冲串口(McBSP)读取存放在外部数据存储单元中的数据。多通道缓冲串口1(McBSP1)支持8位串行接收方式,多通道缓冲串口0(McBSP0)支持16位串行接收方式。 ④ 8位串行EEPROM引导装载模式引导装载程序通过一串联的EEPROM读取存放在外部数据存储单元中的数据。在此种方式中,EEPROM与设置为SPI工作模式的McBSP1相连接。 ⑤I/O引导装载模式引导装载程序通过外部并行接口总线地址为00H的I/O口读取数据。该外部并口接口总线使用异步握手协议(使用C5402的XF和BIO引脚),使数据传输速度可按外部设备的要求执行。

  3.2 C5402并行引导装载模式设计

  当C5402工作在微计算机模式(MP/MC=0)时,上电后自动运行Bootloader程序,按照HPI引导装载模式串行EEPROM引导装载模式 并行引导装载模式 标准串行口引导装载模式 I/O口引导装载模式的顺序循环检测,以决定执行哪种启动模式。对于以C5402为核心的数字信号处理来说,并行引导装载模式被认为是最适用的。因为HPI引导装载模式、标准串行口引导装载模式和I/O口引导装载模式只适用于由其它处理器为C5402提供运行代码的多处理器中,串行EEPROM引导装载模式只支持价格偏高的SPI端口EEPROM,而并行引导装载模式可采用的并行EEPROM和Flash种类很多,有的价格比较低,操作起来比较简单,因而并行引导加载方案是最佳选择。

  为使C5402能有效地把外扩FRAM中的程序引导到芯片内RAM,需要编制一个引导表。引导表定位于数据空间的4000h~FFFFh段,引导表的内容包含如下几个方面:(1)引导方式的标识;(2)程序存放的目标首地址;(3)程序执行的入口址址;(4)用户程序代码;(5)用户程序块长度。引导表结构如表1所示。数据区地址(H) 内容(H) 含义 8000,8001 8002,8003 8004,8005 8006,8007 8008,8009 800A,800B 800C,800D 800E,800F 8010,8011 8012,8013 …… 8030,8053 8054,8055 …… FFFE,FFFF 08,AA 7F,FF 88,06 00,00 00,80 00,44 00,00 00,80 F6,BD F0,70 …… F4,95 00,00 …… 80,00 8位引导标志 SWWSR寄存器初值BSCR寄存器初值 程序入口XPC 程序入口地址 程序段长度 程序存放目标XPC 程序存放目标地址 程序代码1 程序代码2 …… 程序代码N 程序块结束标志 …… 程序存储首地址 表1并行引导装载模式引导表片内ROM的引导程序首先读取I/O空间的FFFFh地址内容(指定为8000h)作为引导表的起始地址,通过判别引导表起始地址内的引导标识来确定是8位并行还是16位并行引导方式。若引导标识是10AAh,则是16位的并行引导方式;若引导标识是08AAh,则是8位的并行引导方式。当从I/O空间FFFFh地址读取不到有效的引导标识时,片内ROM的引导程序即读取数据空间FFFFh的内容作为引导表的起始地址。同样通过判别引导表起始地址内的引导标识来确定是8位并行还是16位并行引导方式。当EPROM数据位宽是8bit时,则要读取数据空间FFFFh地址的内容(低字节)和FFFEh地址的内容(高字节)作为引导表的起始地址。 8bit 并行引导装载的实现电路如图1所示。其中A15经过非门与/MSTRB相或是为了防止C5402的内部16K DARAM(0000H-3FFFH)与外部FRAM冲突,同时,对应上并行引导装载模式的引导表设置相对应。

  

  图1 硬件系统原理图

  4系统软件设计

  这个系统中,软件编程的核心在于按照特定的格式将数据写到 FRAM中,下面具体介绍软件系统的设计方法。在TI公司的软件开发工具CCS(Code Composer Studio)中,汇编器和连接器创建的目标文件采用COFF(Common Object File Format)格式,代码和数据都按段(Section)来组织设计。先通过CCS将程序下载到硬件系统的C5402的片内DARAM中,再运行程序将所需数据及程序按照表1的格式写到 FRAM(对应于数据寻址的08000h—0FFFFh)中,断开硬件系统与CCS环境的联系,重新上电或复位C5402,将看到灯在闪烁,此时硬件系统已经可以脱机独立运行了。 .mmregs .data table:.word 08aah ;16位引导标志 .word 7fffh,8806h ;SWWSR寄存器初值和BSCR寄存器初值 .word 0000h,080h,00044h ;程序入口XPC、程序入口地址和程序段长度 .word 0000h,080h ;存放目标XPC和存放目标地址 .global main .text main: stm #07fh,sp stm #0fffeh,ar1 ;向FRAM的07FFEh单元写入80h st #080h,*ar1+ nop st #00h,*ar1 ;向FRAM的07FFFh单元写入00h nop stm #table,ar1 ;向FRAM的0000h开始单元依次写入引导表要求的内容 stm #07h,brc stm #8000h,ar2 rptb loopa ld *ar1+,a nop stl a,*ar2+ ld a,-8,a stl a,*ar2+ loopa: nop nop stm #start,ar1 ;向FRAM中写入运行程序代码 stm #21h,brc nop ld *ar1+,a stl a,*ar2+ ld a,-8,a stl a,*ar2+ loopb: nop nop ld #00h,a nop stl a,*ar2+ stl a,*ar2 b $ .sect chengxu ;脱机独立运行系统程序 start: rsbx xf ;灯亮 …… ssbx xf ;灯灭 …… b start ret .end 主程序中,data段为上电引导程序提供了需要加载的各代码段的长度、源地址和目的地址这几个参数。其中,代码段长度既可以根据载入系统后在CCS反汇编窗口算得,也可以从连接生成的映像文件(后缀为.map)中得到。

  5 结束语

  本文介绍的基于铁电的DSP 并行引导装载方案,可以在无需专用烧写器的情况下,实现DSP脱机独立运行系统的设计,并且该方案已成功的到一种语音门锁系统中。实验结果表明,该方法具有简化接口电路、节省系统资源、性价比高的优点。但是,如果脱机独立运行系统程序超过了64K字节,只能采用另外的替代方法,这是在一些电路设计方案论证时需要考虑的问题。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭