多片TSl01S的加载引导设计分析及实现
[10-10 20:38:44] 来源:http://www.88dzw.com 单片机学习 阅读:8184次
文章摘要: 需要注意的是,每片ADSP-TSlOlS在给后面的ADSP-TSlOlS进行程序加载时,都需要预先计算好后面的ADSP-TSl01S程序的长度,在进行用户程序传输时,需要用到这个值。因此,如果这个值计算错误,则将会引起ADSP-TSl01S程序加载的错误。4 结束语 如果在系统中没有使用SDRAM,则只需对ADI提供的标准加载核源程序进行少量修改,然后重新编译链接即可使用。而如果系统中有SDRAM,还需在标准加载核源程序的起始处加入对SDRAM的初始化。www.88dzw.com 具体加载时,首先应由DSPl通过FLASH程序加载方式进行程序加载。即在DSPl程序加载完毕后
多片TSl01S的加载引导设计分析及实现,标签:单片机开发,单片机原理,http://www.88dzw.com
需要注意的是,每片ADSP-TSlOlS在给后面的ADSP-TSlOlS进行程序加载时,都需要预先计算好后面的ADSP-TSl01S程序的长度,在进行用户程序传输时,需要用到这个值。因此,如果这个值计算错误,则将会引起ADSP-TSl01S程序加载的错误。
4 结束语
如果在系统中没有使用SDRAM,则只需对ADI提供的标准加载核源程序进行少量修改,然后重新编译链接即可使用。而如果系统中有SDRAM,还需在标准加载核源程序的起始处加入对SDRAM的初始化。
具体加载时,首先应由DSPl通过FLASH程序加载方式进行程序加载。即在DSPl程序加载完毕后,由DSPl再从FLASH中读出第二片,使DSP2(或者DSP4)的程序通过链路口。之后,再采用路口加载方式加载DSP2(或者DSP4),DSP1在等待DSP2加载完毕后,又从FLASH中读取DSP3的程序,并将DSP3的程序通过链路口DMA方式发送到DSP2(或者DSP4)中,而DSP2(或者DSP4)在收到第三片DSP3的程序后,同样通过链路口加载方式加载DSP3;……以此类推,直到完成所有的ADSP-TSlOlS的加载。
采用这种结构的多ADSP-TSl01S系统,应将每片ADSP-TSl01S的程序分开放置在FLASH的不同的地址段中。第一片ADSP-TSlOlS的程序存放在FLASH的从0开始的第一段地址中,第二片ADSP-TSl01S存放在接着第一段地址后面的第二段地址空间中,第三片ADSP-TSlOlS存放在接着第二段地址后面的第三段地址空间中……以此类推。就可将不同的ADSP-TSl01S的程序放置在相应的地址空间中。但应该注意的是,每一片AD-SP-TSl01S程序存放的实际地址必须是16的倍数,因为ADSP-TSl01S的链路口每次必须传输4字(4*32 bits),而FLASH是8位的,所以每次将读取128位的程序代码,即16个FLASH的地址数据。图2所示是多ADSP-TSl01S的程序在FLASH中的存放情况。
本设计中,FLASH选用的是Atmel公司的AT49BV322D,并将其设置成4 M×8模式,因此,其byte管脚需要拉低,具体和DSP之间的硬件接
口电路如图3所示。
TigerSHARC处理器可支持8位、16位、32位、64位配置,这为不同类型的外部存储器接口带来了方便。选择FLASH器件实现系统加载的时候,使用TigerSHARC处理器向FLASH中执行写操作,不会自动把数据打包成字节,因此,当给FLASH写一个字时,这个字将驱动到外部总线[31:0]上。而FLASH存储器只连接TigerSHARC外部数据总线的低8位,因此只写入数据最低的一个字节,其数据的预备格式如图4所示。
3 自动引导的软件设计
由于采用EPROM和链路口相结合的方法来进行多DSP的程序加载,所以,除了最后一片DSP (DSP3)外,均要在没一个DSP程序的开始地方添加链路口加载程序。在VisualDSP++安装目录的ldr子目录下,ADI公司提供了标准加载核文件及相应的源程序(.ASM),同时也给出了链接描
述文件。一般可直接使用提供的标准加载核文件或对其相应的源程序进行简单修改(修改当前的DSP的接收链路口号即可),重新编译链接生成所需的加载核文件。
《多片TSl01S的加载引导设计分析及实现》相关文章
- › 多片TSl01S的加载引导设计分析及实现
- 在百度中搜索相关文章:多片TSl01S的加载引导设计分析及实现
- 在谷歌中搜索相关文章:多片TSl01S的加载引导设计分析及实现
- 在soso中搜索相关文章:多片TSl01S的加载引导设计分析及实现
- 在搜狗中搜索相关文章:多片TSl01S的加载引导设计分析及实现