EDN China > 设计实例 > 微处理器与DSP > 多媒体处理器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

DSP器件的现场可编程技术

来源:单片机与嵌入式系统应用?? 2006年10月13日 ?? 收藏0

4 现场可编程的实现方法

??? 由于DSP的程序一般存储在外部存储器之中,因此,现场可编程的实现就是要将新程序通过DSP写入存储器。在以前,由于存储器的烧写电压普遍高于其工作电压,只能通过编程器烧写.随着技术的发展,现在许多E2PROM、Flash存储器等都可进行电擦写,擦写电压和工作电压一致,因此完全可以进行工作电压下的编程。

??? 对DSP进行现场编程,需要用到的器材有计算机和DSP仿真器;需要用到的软件有CCS集成开发平台、UltraEdit-32程序和DSP现场编程程序。具体操作步骤如下:
??? ①在CCS集成开发环境下,将程序编译完成,并在目标板上运行通过。
??? ②打开程序存储器窗口,根据程序的起始、结束地址,将整个程序代码存储为一个数据文件(dat文件)。
??? ③生成hex文件。
??? ④用UltraEdit-32程序打开hex文件,找出程序人口值和程序长度值以及程序开始地址值.
??? ⑤调入烧写程序,并装载入系统芯片.
??? ⑥将程序入口值、程序长度值

、程序开始地址值填人现场编程程序中并编译通过。
??? ⑦将存储的程序代码调入数据空间的适当位置(存放位置自定)。
??? ⑧运行现场编程程序,通过DSP将代码写入外部程序存储器。
??? 以上步骤仅在编程开始时进行,一旦编程开始,就可以连续对多个器件现场编程。

??? DSP现场编程程序的编制也很简单。下面的参考程序是根据前面的命令文件参数编写的,并经仿真验证通过。设定Mc·BSP2口以SPI方式引导串行E2PROM。
.text
…… ;McBSP2口SPI初始化,主动方式
STM #1000H,ARl;从1000H开始10个字为程序
;代码前的数据
ST #08AAH,* ARl+ ;引导头
ST #0018H,* ARl+
ST #O003H,* ARl+
ST #0800H,* ARl+
ST #D010H,* ARl+ ;不重要
ST #000lH,* ARl+
ST #0C428H,* ARl+ ;主程序人口为1C428H
ST #2340H,* ARl+ ;程序代码总字数2340H
ST #000lH,* ARI+
ST #0C000H,* ARl+;程序开始地址1C000H
STM #(1000H+0AH+2340H),ARl
ST #O,* ARl;最后放结束标志#0000H
STM #O,ADDRESS ;地址寄存器清零
STM #1000H,AR2 ;程序代码开始地址
STM #(0AH+2340H+1),BRC
RPTB LOOP ;写循环
LDM ADDRESS,A
SFTL A,-8
AND #OOFFH,A
OR #0200H,A
STLM A,AR3 ;写指令+地址高位
LDM ADDRESS,A
SFTL A,8
AND #OFF00H,A
LD * AR2,B

SFTL B.-8
AND #0FFH,B
ADD B.A
STLM A,AR4 ;地址低位+数据字节
LDM ADDRESS.A
ADD #1.A
STLM A,ADDRESS ;E2PROM地址+1
CALL WRITE ;写E2PROM子程序
LDM ADDRESS,A
SFTL A,-8
AND #00FFH,A
OR #0200H,A
STLM A,AR3 ;写指令+地址高位
LDM ADDRESS,A
SFTL A,8
AND #0FFOOH,A
LD *AR2+.B;程序代码地址+1
AND #0FFH,B
ADD B.A
STLM A,AR4 ;地址低位+数据字节
LDM ADDRESS,A
ADD #1,A
STLM A,ADDRESS ;EOPROM地址+1
CALL WRITE;写EOPROM子程序
LOOP:NOP
.end


结 语

??? 本文介绍的DSP现场可编程方法,经实际应用效果良好,其方便灵活的特点增强了现场处理问题的能力。由于其完全由软件实现,因此这种方法同样也适用于其他品牌的DSP产品。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

可编程? DSP? FPGA?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈