用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

双核DSP片TMS320VC5421的并行引导方案

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:19:38
4.3 外总线控制权的释放

如图5所示,在GPIO控制寄存器(地址3Ch)中,XIO_GRANT位为1代表相应的DSP核取得了片外总线的控制权;而在还没有取得控制权(XIO_GRANT位为0)但在申请片外总线的控制权时,相应的XIO_REQ位应置为1;CORE_SEL位用于表示程序在哪个核上运行,当在CPU A上运行时,读A核的GPIO控制寄存器的CORE_SEL位将返回到“0”,而当同一个程序在CPU B上运行时,读B核的GPIO控制寄存器的CORE_SEL位将返回到“1”。有关GPIO控制寄存器的其它相关位,设计时可查阅有关的参考文献1。

4.4 FLASH的烧写

笔者根据SST39VF400A的资料编写了一个DSP程序,该程序可同时将A核的Boot表烧写到FLASH的第0页,而将B核的Boot表烧写到第1页。

在系统上电或复位后,A核首先运行它的Boot-loader程序(此时FLASH的第0页映射到DMA片外数据空间的0000h地址单元),A核启动后执行用户程序。用户程序首先将页选设置成第1页,这样,FLASH的第一页将被映射到DMA片外数据空间的0000h;然后,A核释放片外总线控制权,并给B核发出复位信号,此时由于只有B核复位,且A核已释放片外总线的控制权,因此,B核将申请到片外总线控制权,同时执行Bootloader程序的启动以完成整个DSP引导。完整的启动过程流程图如图6所示,下面是A核的启动测试程序代码:

·mmregs

·titlc ″testLEDA″

·global begin

·text

.............

begin stm #0x000,0x0061 ;设置页选信号

portw ox0061,00h

call wait

andm #0xffcf,3ch ;释放片外总线

call wait ; 控制权

stm #0x00410x0061 ;给B核复位信号

portw 0x0061,00hjavascript:window.open(this.src);" style="cursor:pointer;"/>

call wait

stm #0x0001,0x0061

portw 0x0061,00h

flash: rsbs 1,xf ;发光二极管亮

call wait

ssbx 1,xf ;发光二极管灭

call wait

b flash

;----Subroutine to wait for some time----

wait: stm #80,ar6

loop0: stm #30000,ar7-

loop1: nop

banz loop1,*ar7-

banz loop0,*ar6-

ret

5 实验验证

本设计中,在DSP的A_XF和B_XF脚上连接两个发光二极管,同时使被加载的用户程序通过循环来设置/清除这两个引脚以使两个发光二极管以不同的频率闪烁,以此来验证用户程序是否成功加载。系统上电后,两个发光二极管先后以不同的频率开始闪烁,说明DSP的A核、B核均成功地实现了上电自举。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:25,859.38000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号