- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HPI自举实验
实验三 HPI自举实验
一 实验目的
1. 了解DSP的各种bootload方式;
2. 熟悉HPI接口;
3. 掌握HPI bootload方法;
二 实验内容
编写DSP程序,调试成功后,将程序存储在DSP实验板的STC89LE58RD+单片机上,在上电或复位时,通过HPI bootload的方式将用户程序从外部加载至程序存储器(片内RAM)中,以便实现高速运行。
三 实验背景知识
1. 自举引导程序
Bootlooader(自举引导程序,也称引导装载程序)是在出厂前固化在DSP芯片内ROM中的一段程序代码,其主要功能是在上电或复位时将用户程序从外部加载至程序存储器(片内RAM或扩展的RAM)中,以便实现高速运行。因此,用这种方法可以以较低成本实现高速运行。不同型号的DSP,其Bootlooader也不同。
由表1可见,从片内ROM的0FF80h地址开始存放的是中断向量表,它实为一条分支转移指令(BD 0F800h)。该指令使程序跳转至0F800h,并从此开始执行自举引导程序
表1 DSP程序存储器地址分配
起始地址 内? 容 F000h 预留 F800h 自举引导程序 FC00h 256字μ律扩充表 FD00h 256字A律扩充表 FE00h 256字正弦查找表 FF00h 预留 FF80h 中断向量表 在执行自举引导搬移程序之前,首先进行初始化,其程序片段如下:
SSBX INTM ;INTM=1,使中断失效
STM #0FFFFh,IFR ;清除IFR标志
LD #0h,DP ;DP=0,数据存储器页指针为0
ORM #02B00h,ST1 ; XF=INTM=OVM=SXM=1
ORM #020h,PMST ;OVLY=1
STM #07FFFh,SWWSR ;SWWSR=07FFFh
STM #07Dh,SP ; SP=07Dh
初始化的内容主要包括:
①关闭所有可屏蔽中断(INTM=1);
②将片内DARAM映射至程序/数据存储空间(OVLY=1);
③将程序、数据及I/O存储空间均设置为7个等待状态(SWWSR=07FFFh)。
初始化完成后,根据外部设定的条件,选择不同的自举引导方式 。TMS320VC5402自举引导方式有以下几种。
● HPI启动模式:由外部处理器(即主机)将执行代码通过C5000的HPI口搬移到其片内RAM。当主机搬移完所有程序代码,还要将程序入口地址写入C5000数据空间007Fh内。这样,C5000一旦检测到007Fh处不再为0值,即判断为代码转移完毕,并跳转到007Fh里存放的地址去执行,从而完成启动;
● 8bit/16bit的并行启动模式:在这种模式下,C5000通过其数据和地址总线从数据空间读取启动表(Boot Table)。启动表内容包括:需要搬移的代码段,每个段的目的地址,程序入口地址和其他配置信息。
?● 8bit/16bit的标准串口启动模式:在这种模式下,C5000通过工作在标准模式的多通道缓冲串口(McBSP)接收启动表,并根据启动表中的信息装载代码; ??● 8bit串行EEPROM启动模式:在这种模式下,C5000通过工作在SPI模式的McBSP1接收来自外部串行的EEPROM中的启动表,并根据启动表中的信息装载代码。
???● 8bit/16bit的I/O启动模式:在这种模式下,C5000使用XF和BIO引脚,与外部设备达成异步握手协议,从地址0h处的I/O端口读取启动表。
DSP上电复位后,首先检查其MP/MC引脚,如果该引脚为高电平,说明DSP被设置为微处理器工作方式,即从外部程序存储器0FF80h地址开始执行用户程序;若该引脚为低电平说明DSP被设置为微计算机工作方式,即从片内ROM的0FF80h起执行程序 。
BD 0F800h
各种自举方式的选择如下图1和图2所示:
图 1 5402DSP自举方式选择
图 2 5402DSP自举方式选择(续)
2、5402的主机接口(HPI)
5402的主机接口(HPI)是一个8位并行口,用来实现与主设备或主处理器的通信。当5402与主机传送数据时,HPI能自动地将外部接口连续传来的8位数组成16位数,并传送至5402。相反亦然。HPI有三个寄存器HPIC(控制寄存器),HPIA (地址寄存器),HPID (数据寄存器),通过对这三个寄存器的读写实现DSP内部RAM指定单元的访问。(1)写HPIC(2)写HPIA(片内RAM地址)(3)读/写HPID,从而访问指定的存储单元
文档评论(0)