- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于TMS320VC54X的DSP
基于TMS320VC54X的DSPFPGA双芯处理平台和bootloader设计
(王占锋 通用光讯光电技术北京有限公司)
摘要:本文介绍了DSP和FPGA组建的双芯处理模块以及配套的各种bootloader方案。该模块具有运算速度快、可靠性高、处理能力强、功耗低等优点,主要应用于数据量大、算法复杂、使用I/O多的系统,可以作为处理算法研究和实时实现的通用平台
图1. DSPFPGA模块硬件系统框图
DSP
DSP采用的是TI公司TMS320VC5416,16bit定点高性能DSP,是TMS320VC54x系列中的第3代芯片。主要特性有:速率最高达160MI/s;3条16bit数据存储器总线和1条程序存储器总线;1个40bit桶形移位器和2个40bit累加器;1个17×17乘法器和1个40bit专用加法器;最大8M×16bit的扩展寻址空间,内置128k×16bit的RAM和16k×16bit的ROM;由于VC5416功耗低,性能高,其分开的数据和指令空间使该芯片具有高度的并行操作能力,在单周期内允许指令和数据同时存取,再加上高度优化的指令集,使得该芯片具有很高的运算速度,Bootloader方案
Bootloader原理
在系统加电时把源程序C5416的内部ROM中有固化好的加载程序。如果DSP的MP/MC管脚接低在DSP加电RESET时程序就从内部ROM的FF80H地址开始行运行。在FF80H处,有一条跳转到BOOT程序的指令执行内部固化好的BOOT程序。首先进行初始化工作包括关闭中断、将内部RAM映射在程序/数据空间,以及为访问数据和程序空间设置的七个软件等待等并口加载方案其流程如图所示。
( nMSTRB OR (NOT R_nW)
FLASH_nWE ( DSP_R/nW
PORTFFFF = CODE在DSP数据空间中的起始位置为使能有效地把外扩EPROM中的程序引导到芯片内RAM需要编制一个引导表。引导表内容包含如下几个方面:1)引导方式的标识2)程序存放的目标首地址3)程序执行的入口址址4)用户程序代码5)用户程序块长度。xXX08。
为了给用户程序创建引导表,需要hex500.exe把out文件转化为hex.out //用户的out文件
-i //决定输出文件格式为HEX格式
-memwidth 16 //决定产生的数据宽度为16位
-romwidth 16 //选择存储器的位宽为16位
-boot //说明产生一个Boot标识
-bootorg 0xXXXX //选择CODE在DSP数据空间中的起始位置
-e //选择程序中断向量的入口点
-o .hex //命名生成的HEX文件名
然后再DOS环境下执行Hex500 就可以完成转换。采用外部并行BOOT方式时BOOT的寻址区是在数据区因而最大的范围是。
工作程序代码 0x8000-0xdf80 工作程序的VECTOR [0xfe80-0xff00) LOADER [0xff00-0xff80) BOOT [0xff80-0xffff) 工作程序代码 [0x18000-0x1fb00) 工作程序代码 [0x28000-0x2fB00) 工作程序代码 [0x38000-0x3fB00)
硬件实现
自定义Bootloader的硬件实现也是通过VHDL语言实现的。
FLASH_nOE ( nMSTRB OR (NOT R_nW)
FLASH_nWE ( DSP_R/nW
上电初始化初始化:FLASH_A17/A16 = (00)
PORT40 = 0x60 A17=0
PORT40 = 0x61 A17=1
PORT40 = 0x62 A16 = 0
PORT40 = 0x63 A16 = 1
PORT40 = 0x64 FLASH_nCE ( DSP_nPS
PORT40 = 0x65 FLASH_nCE ( DSP_nDS
BOOTLOAD过程
自定义bootloader方案需要用户自己编写bootloader代码,此时DSP的MP/MC管脚接Xff80地址正好对应在外部flash里。用户自己编写的Bootloader就烧写在flash的0xff80—0xffff空间。Bootloader过程如下:
在DSP加电RESET时程序就从的FF80H地址开始运行.mmregs
.def boot_start
.sect .boot
.ref loader_start
boot_start:
ssbx intm
ld #0,dp
nop
orm #060h,@1dh
stm #60h,ar0
portw ar0,40h
stm #
文档评论(0)