铁电存储器FM18L08在DSP系统中的应用
.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字节,只能采用另外的替代方法,这是在一些电路设计方案论证时需要考虑的问题。