网站大量收购独家精品文档,联系QQ:2885784924

基于dsp的tms320vc5402的bootloader技术(汇编语言).doc

基于dsp的tms320vc5402的bootloader技术(汇编语言).doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于dsp的tms320vc5402的bootloader技术(汇编语言)

基于TMS320VC5402的BOOTLOADER技术 一、实验目的 1.掌握Bootloader 的概念与基本原理; 2.掌握Bootloader 的具体工程实现; 3.能够熟练在CCS 环境下编程与调试,会用汇编指令和标准C 语言编写程序; 4.了解TMS320VC5402 片上外设及其存储器结构; 5.会使用通用 EEPROM 编程器烧制EERPOM 芯片; 二、实验原理 1. 为什么需要 Bootloader 在CCS 开发环境下,PC 机通过不同类型的JTAG 电缆与用户目标系统中的DSP 通信,帮助用户完成调试工作。当用户在CCS 环境下完成开发任务,编写完成用户软件之后,需要脱离依赖PC 机的CCS 环境,并要求目标系统上电后可自行启动并执行用户软件代码,这就需要用到Bootloader 技术。同时Bootloader 也指由TI 在生产芯片时预先烧制在TMS320VC5402 片内ROM 中,完成该功能的一段代码名称。 2. Bootloader 的基本原理与模式 本实验主要介绍 TMS320VC5402 中的Bootloader 技术(以下简称C5402),但仍可应用于更高版本的DSP 芯片中。因为C5402 是RAM 型器件,掉电后不能保持任何用户信息,所以需要用户把执行代码存放在外部的无挥发存储器内,在系统上电时,通过Bootloader 将存储在外部媒介中的代码搬移到C5402 高速的片内存储器或系统中的扩展存储器内,搬移成功后自动去执行代码,完成自启动。 Bootloader 技术提供很多种不同的启动模式,包括并行8bit/16bit 的总线型启动、串口型启动和HPI 口启动等模式,兼容多种不同系统需求。当C5402 芯片复位时,如果其处于微计算机模式(MP/MC 引脚为逻辑0),那么复位后在C5402 程序空间地址为0F800h处,可以通过CCS 看到TI 预先烧制在其片内ROM 的Bootloader 这段代码。C5402 复位后,程序指针指向0FF80h 处的中断向量表,执行指令“BD 0F800h”,即跳至Bootloader入口,开始执行Bootloader 代码。在搬移用户代码之前,Bootloader 会设置C5402 的状态寄存器,包括将INTM 位置1,禁止全局中断;OVLY 置1,将片内DARAM 映射到程序/数据空间;和设置整个程序/数据空间均插入7 个等待状态,以适应可能慢速的EEPROM。为了兼容不同系统需求,C5402 提供很多种启动模式,包括: a. HPI 启动模式:由外部处理器(即主机)将执行代码通过C5402 的HPI 口搬移到C5402 片内RAM。当主机搬移完所有程序代码,还要将程序入口地址写入C5402数据空间007Fh 内。这样,C5402 一旦检测到007Fh 处不再为0 值,即判断为代码转移完毕,并跳转到007Fh 里存放的地址去执行,从而完成启动。 b. 8bit/16bit 的并行启动模式:在这种模式下,C5402 通过其数据和地址总线从数据空间读取启动表(Boot Table)。启动表内容包括:需要搬移的代码段,每个段的目的地址,程序入口地址和其他配置信息。启动表具体内容将在下文介绍。 c. 8bit/16bit 的标准串口启动模式:在这种模式下,C5402 通过工作在标准模式的多通道缓冲串口(McBSP)接收启动表,并根据启动表中的信息装载代码。McBSP0 支持8bit 模式,McBSP1 支持16bit 模式。 d. 8bit 串行EEPROM 启动模式:在这种模式下,C5402 通过工作在SPI 模式的McBSP1接收来自外部串行的EEPROM 中的启动表,并根据启动表中的信息装载代码。 e. 8bit/16bit 的I/O 启动模式:在这种模式下,C5402 使用XF 和BIO 引脚,与外部设备达成异步握手协议,从地址0h 处的I/O 端口读取启动表。 一旦 C5402 复位,Bootloader 会做循环检测操作,以决定执行哪种启动模式。Bootloader首先检测HPI 启动模式条件是否成立,如果条件不满足,则继续检测下一种,直到找到一种满足条件的启动模式。它检测的顺序如下: a. HPI 启动模式第一次检测:通过检测INT2 引脚是否有中断发生来判断是否进入HPI启动模式。 b. 串行 EEPROM 模式。 c. 并行模式。 d. 通过 McBSP1 的标准(8bit)串口启动。 e. 通过 McBSP0 的标准(16bit)串口启动。 f. I/O 启动模式。 g. HPI 启动模式第二次检测:通过检测数据空间007Fh 是否为非0 值来决定程序入口点。 需要注意的是,当 Bootloader 检测完所有可能的启动模式后,而没有发

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档