外挂Flash的引导装载设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
外挂Flash的引导装载设计

外挂Flash的引导装载设计1 Bootloader分析 ?????? TI公司的DSP芯片出厂时,在片内ROM中固化有引导装载程序Bootloader,其主要功能就是将外部的程序装载到片内RAM中运行,以提高系统的运行速度。 ?????? TMS320VC5409是TI公司的一款定点DSP芯片,其指令周期可达10ns,片内有32K×16位的RAM,性价比极高,被广泛应用在嵌入式系统、数据采集系统中。TMS320VC5409的Bootloacler程序位于片内ROM的0F800H~0FBFFH空间。系统上电时,DSP将检查外部引脚MP/MC的状态,如果该引脚为高电平,则DSP按微处理器模式启动;如果该引脚为低电平,则DSP按微计算机模式启动。此时,系统从0FF80H地址处开始执行程序,0FF80H是Bootloader的中断矢量。因此,如果系统上电时MP/MC的状态为低电平,DSP将从FF80H处跳转到F800H开始执行TI的Bootloader自动装载程序。 ?????? 进入Bootloader程序后,首先检查DSP引脚INT2的状态,如果为低电平,则进入HPI引导装载模式,如果INT2为高电平则接下来检查INT3引脚。如果INT3引脚为低电平,则进入串行EEPROM引导装载模式,如果INT3为高电平则进入并行引导装载模式。当并行引导装载模式失败后,系统会自动进入串行口引导装载模式.串行口引导装载失败后,系统又将进入I/O口引导装载模式。 ?????? 当进入并行引导装载模式后,DSl 首先读取地址为0FFFFH的I/O空间单元,并将该单元的值作为引导表的首地址.在数据地址空间中读取引导表的第一个字,如果该字的值为10AAH,则进入16位引导模式,如果低字节为08H,则再进一步读取下一个值,如果该值的低字节为AAH,则进人8位引导模式。如果从I/o地址空间中读取的引导表首地址所对应的引导表中得不到正确的引导信息,那么DSP将会从数据空间的0FFFFH地址再去读一个字作为引导表首地址,进而再从引导表首地址读取一个字。如果该字为lOAAH,则立即进入l6位引导模式,否则,将按8位方式处理:从0FFFFH读取一字节作为引导表首地址的低字节,从0FFFEH读取一字节作为引导首地址的高字节,再从引导表首地址读取一个值,如果低字节为08H,则再读引导表的下一个值,如果为AAH,则说明外部存储器是8位宽度,进入8位引导装载模式;如果以上步骤不能获取正确的引导信息,那么DSP将进人串行口引导装载模式。 ?????? 如果并行引导装载成功,DSP将从装载后新的程序开始地址执行程序。详细的并行引导流程图如图1所示。 ?????? 2 硬件设计 ?????? 在本系统中,FLASH选用的是Atmel公司的AT29LVl024,AT29LVl024容量为64K×16位,可以满足一般的应用要求,并且其工作电压为3V~3.6V,可以直接与TMS320VC5409接口而不必再使用电压接口芯片进行转接,使硬件电路更为简单。 ?????? 从TMS320VC5409的存储器空间映射得知,在MP/M C=0 时,外部存储器空间映射的地址范围为8000H-FFFFH共32K,因此Flash中的程序部分必须位于8000H~FFFFH的地址范围,才能成功引导。笔者的程序量小于32K×16位,因此可以将Flash的地址线A0-A15直接与DSP的地址线AO~Al5相连,然后将程序烧录到Flash的32K之后的位置,这样程序刚好位于DSP的8000H~FFFFH范围。如果程序量大于32K字,则可将Flash的前32K地址编码在DSP的8000H~FFFFH范围.采用分页的方式,逐步装载需要运行的程序。 本文中,采用从DATA空间引导,具体的电路连接如图2所示。 ?????? Flash的地址线AO-A15直接与DSP的低16根地址线A0-A15相连。 ?????? Flash的16位数 据线DO-D15直接接DSP的16位数据总线D0-D15。 ?????? FLASH的写信号WE直接接高电平(因为对Flash的编程采用编程器烧录)。 ?????? Flash的片选信号CE直接接低电平或者接DSP的DS引脚。 Flash的读信号OE接DSP的存储器读信号MSTRB。 ?????? DSP的MP/MC引脚接低电平。 ?????? DSP的INTl-INT3引脚通过上拉电阻接高电平。 ?????? 3 代码设计和数据转换 ?????? 硬件设计完成后,可以编写一段代码进行测试。 ?????? 在TI的DSP开发环境CCS中建立一个工程项目test pjt,包括三个文件:test_main.c、test_vector.as

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档