首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   DSP+FLASH引导装载系统的设计与实现      ★★★ 【字体: 】  
DSP+FLASH引导装载系统的设计与实现
收集整理:佚名    来源:本站整理  时间:2009-01-10 23:51:08   点击数:[]    

识别的HEX格式。

3 引导装载模型设计

3.1 引导装载原理

加电前,DSP设置为微处理器模式(MP=1)。加电后,DSP首先执行0xFF80处的中断向量表起始处的跳转命令,转向0xF800处的引导程序段并实现代码移植功能。完毕后,再次跳转到移植后的用户程序段的起始地址并执行之。

3.2 逻辑功能分块

引导装载系统包括引导程序段、用户程序段、中断向量表和连接命令文件四部分。引导程序段负责将用户程序段和中断向量表装载到目标地址,用户程序段是实现用户系统功能的核心代码,中断向量表包括加电后的跳转处理和中断服务程序的入口,连接命令文件则是分配各个程序段在DSP地址空间中的位置。

3.3 具体代码实现

引导程序段(load.asm)如下:

.def load_start

.sect "load_prg"

load_start:

ssbx intm ;关中断

rsbx sxm ;符号扩展模式设置为0

ld #0,dp ;定义数据页指针为0

nop

nop

nop

ld #0ff80h,a ;移植中断向量表,0xff80为中断向量表的旧起始地址

stm #VECT_NEW,ar1 ;VECT_NEW表示中断向量表的新起始地址

rpt #(VECT_LEN-1) ;VECT_LEN表示中断向量表的长度

reada *ar1+

nop

ld #MAIN_OLD,a ;移植用户程序段,MAIN_OLD表示用户程序段的旧起始地址

stm #MAIN_NEW,ar1 ;MAIN_NEW表示用户程序段的新起始地址

rpt #(MAIN_LEN-1) ;MAIN_LEN表示用户程序段的长度

reada *ar1+

endboot:

orm #020h,@1dh ;设置OVLY=1,使得内部RAM同时映射到DSP数据和程序空间

ld #MAIN_NEW,a

bacc a ;程序指针指向用户程序段的的起始地址

.end

用户程序段(main.asm)如下:

.def main_start

.sect "main_prg"

main_start:

USER_PRG ;此处添加用户程序段

.end

中断向量表(vect.asm)如下:

.mmregs

.ref main_start

.ref load_start

.def reset

.def nmi

.sect ".vectors"

reset: bd load_start ;加电后,跳转到自启程序段起始地址

stm #200,sp

nmi:rete ;此表中只包含NMI中断入口,也可以类似添加其它中断入口

nop

nop

nop

.end

连接命令文件(boot.cmd)的配置如下:

vect.obj

main.obj

load.obj

-o boot.out

SECTIONS

{

main_prg: load=MAIN_OLD,run=MAIN_NEW

vectors: load=0ff80h,run=VECT_NEW

load_prg: load=0f800h

}

4 写入目标代码

上述引导程序经过CCS编译及连接后,生成的目标文件boot.out是DSP能够识别的COFF格式。但是FLASH不支持这种模式,所以不能直接写入FLASH中。CCS自带有多种HEX类型的转换程序,比如常见的有Intel格式等。但是不同的HEX类型有不同的格式和头尾开销,比如Intel格式中除了数据之外还有起始符、字节个数、起始地址、类型以及校验位等各种信息,并非纯粹数据的HEX格式表示。了解了Intel格式的文件结构之后,就可以从中提取出需要写入FLASH中的代码的HEX格式有相应的地址,即对应上面提到的mydata和myaddress。然后就可以利用上面的方法,用DSP将引导系统各个部分的代码脱机运行前写入FLASH。

5 简单测试实例

利用上述方法,使得系统在脱机状态下实现引导装载,并且从DSP的XF端口输出均匀脉冲波形。直接修改用户程序段可用如下的代码取代用户程序段中的USER_PRG。

loop:rsbx xf

nop

ssbx xf

nop

b loop

经过编译、连接、格式转换以及写入FLASH之后,系统就可以实际脱机运行了。加电一段时间后,可以通过示波器测量得到XF端口的均匀脉冲波形,证明引导装载成功。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:按G.723标准设计的数字录音系统

  • 下一篇文章:HPI自举在TMS320VC5402芯片上的实现
  • 返回上一页】【打 印】【关闭窗口
    中查找“DSP+FLASH引导装载系统的设计与实现”更多相关内容 5VAR论文频道
    中查找“DSP+FLASH引导装载系统的设计与实现”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››DSP接口效率的分析与提高
  • ››DSP56362的双引导装载方法研究与实...
  • ››DSP与PC机的PCI总线高速数据传输
  • ››DSP+FLASH引导装载系统的设计与实现...
  • ››DSP编程的几个关键问题
  • ››DSP和CPLD的空间瞬态光辐射信号实时...
  • ››DSP与慢速设备接口的实现
  • ››DSP与单片机的一种高速通信实现方案...
  • ››DSP和FPGA构成的3/3相双绕组感应发...
  • ››DSP和PBL3717A构成的步进电机的控制...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .