FM18L08在DSP系统中的应用
图1 硬件系统原理图
4系统软件设计
这个系统中,软件编程的核心在于按照特定的格式将数据写到FM18L08 FRAM中,下面具体介绍软件系统的设计方法。在TI公司的软件开发工具CCS(Code Composer Studio)中,汇编器和连接器创建的目标文件采用COFF(Common Object File Format)格式,代码和数据都按段(Section)来组织设计。先通过CCS将程序下载到硬件系统的C5402的片内DARAM中,再运行程序将所需数据及程序按照表1的格式写到FM18L08 FRAM(对应于DSP数据寻址的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段为上电引导程序提供了需要加载的各代码段的长度、源地址和目的地址这几个参数。其中,代码段长度既可以根据载入DSP系统后在CCS反汇编窗口算得,也可以从连接生成的映像文件(后缀为.map)中得到。
5 结束语
本文介绍的基于铁电存储器FM18L08的DSP 并行引导装载方案,可以在无需专用烧写器的情况下,实现DSP脱机独立运行系统的设计,并且该方案已成功的应用到一种语音门锁系统中。实验结果表明,该方法具有简化接口电路、节省系统资源、性价比高的优点。但是,如果脱机独立运行系统程序超过了64K字节,只能采用另外的替代方法,这是在一些电路设计方案论证时需要考虑的问题。
- 铁电存储器FM18L08在DSP系统中的应用(07-01)
- DSP概述(07-23)
- 一种具备远程多加载的DSP系统方案设计(02-05)
- 可高效再配置DSP系统的动态加载技术(01-27)
- 基于Nand+Flash存储管理在DSP系统中的实现(03-17)
- 多路测量信号扩频传输的DSP系统(03-18)