- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
1.绪论 1
2. TMS320VC5402的Bootloader原理 2
3.16位Flash并行引导模式分析 3
4.系统硬件电路设计 4
4.1闪烁存储器SST39VF200A简介 4
4. 2系统硬件电路 5
4.3硬件系统工作原理 6
5. 系统软件设计 7
5.1程序的编写 7
5.2引导表 9
5.3引导实现 10
6.总结 11
7.参考文献 12
1.绪论
作为计算机接口之一的USB(Universal Serial Bus)口具有势插拔、速度快(包括低、中、高模式)和外设容量大(理论上可挂接127个设备)的特性,使其成为PC机的外围设备扩展中应用日益广泛的接口标准。基于DSP的USB口数据采集分析系统,该系统的DSP负责数据的采集和运算处理,处理结果通过USB口送计算机显示分析,其结构如所示。
图1 USB口数据采集分析系统C5402为脱机运行提供了五种启动装载模式:HPI端口启动模式、标准串口启动模式、I/O口启动模式、串口EEPROM启动模式和并行启动方式。对于以C5402为核心的独立系统中,并口加载方案被认为是最佳的。因为前三种方案只适用于由其它处理器为C5402提供运行代码的多处理器系统中,后两种方案虽然都可以适应以C5402为核心的独立系统,但是串口EEPROM启动模式中只支持价格偏高的SPI端口EEPROM,而并口启动模式却可以采用EPROM,而且并行EPROM和FLASH种类很多,有的价格较低,因而可以充分体现系统的性价比优势。
C5402的Bootloader原理 TMS320VC5402的Bootloader在系统加电时把外部源程序传送到内部存储器或内部程序空间。它允许程序被存放在外部慢速的存储器中,并调到高速的存储器中运行。这可大大减小C5402内部RAM掩模的需要,降低电路设计的成本。C5402的内部ROM中有固化好的加载程序。如果DSP的MP/MC管脚接低,在DSP加电RESET时,程序就从内部ROM的FF80H地址开始行运行。在FF80H处,有一条跳转到BOOT程序的指令,执行内部固化好的BOOT程序。BOOT程序在运行搬移程序之前,首先进行初始化,工作包括关闭中断、将内部RAM映射在程序/数据空间,以及为访问数据和程序空间设置的七个软件等待等;然后根据设计完成不同方式下程序的搬移。C5402共有上面讲述的5种加载方式。这里只讨论并口加载方案的设计,其流程如图1所示。在判断前几种加载方式无效后,Bootloader从I/O空间0FFFFH处读取一个16位的程序起始地址。然后根据这个地址从外部数据区读入一个字,判断是否为10AAH。如果是,就采用16位的搬移方式;否则,就判断读入的字的低位字节和下一个地址读入的字的低字节组成的16位字。如果是08AAH,就采用8位并行加载方式;否则,就在外部数据空间的0FFFFH读取一个16位的程序起始地址,然后重复上面的检测方法。本文采用在外部数据空间0FFFFH处存放程序起始地址的方案。
Bootloader首先从I/O空间地址FFFFH处读取一个字的数据,并将该数据做为自举表在数据空间的真实地址。我们不采用这种方式,程序继续运行直到从数据空间FFFFH地址读入一个地址数据,此数据为用户自举表的入口地址。这时,片内引导程序开始执行Flash中的用户自举表。若自举表的第一个字是10AAH,则表示是16位并行引导方式;如果bootloader在自举表的起始地址没有得到上述关键字,则会转到数据空间0FFFH处,再去读取一个字的数据,继续尝试通过该起始地址去读上述关键字。其处理流程如图3所示。
图2 Bootloader模式选择流程
4.系统硬件电路设计
表1 FLASH中的数据结构
4. 2系统硬件电路
图3 硬件系统的原理图
图4 2032VE型CPLD的内部逻辑编程
4.3硬件系统工作原理
编程SST39VF200A时,在程序中设置XF为高电平,C5402所寻址数据区的低32K(0000H-7FFFH)对应于DSP片内DRAM(0000H-3FFFH)和外部SRAM(4000H-7FFFFH)区,高32K(08000H-0FFFFH)对应于FLASH(08000H-0FFFFH),此时,可以将C5402所寻址的低32K数据编程烧到FLASH中。
C5402上电复位装载时,由于bootloader程序在初始化时设置XF为高电平,在系统进入并行引导装载模式后,C5402从数据寻址为0FFFFH单元(A15=1,选中FLASH)中读取将要载入的程序存储区首地址,再按表1所示的格式开始载入数据(表1假设程序存储区首地址为08000H)。此时,C5402可以将SST39VF200A中的地址08000H-0FFFFH
文档评论(0)