- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320C5000的bootloader技术
TMS320C5000的 Bootloader技术 电子科技大学-美国德州仪器DSPs技术中心 徐 胜 本次讲座的主要内容 1.为什么需要Bootloader 2.Bootloader的基本原理与模式 3.并行启动模式分析 4.如何建立启动表 5. 16进制转换工具hex500调用格式及常用选项 6 一个工程应用的实验 1.为什么需要Bootloader 在CCS(Code Composer Studio)下,PC机通过JTAG电缆与数字信号处理器DSP通信,帮助用户完成调试工作。 在DSP目标系统产品化阶段,需要脱离依赖PC机的CCS环境,并要求目标系统上电后可自行启动并执行用户软件代码 Bootloader也指由TI在生产DSP芯片时预先烧制其片内ROM中,完成该功能的一段代码名称。 2.Bootloader的基本原理与模式 TMS320C5000系列DSP芯片(以下简称C5000)是RAM型器件,掉电后不能保持任何用户信息,所以需要用户把执行代码存放在外部的无挥发存储器内,在系统上电时,通过Bootloader搬移代码到C5000高速的片内存储器或系统中的扩展存储器内并自动执行,完成自启动。 2.1 Bootloader的基本原理 使C5000芯片处于微计算机模式,则复位后在其程序空间地址为0F800h处,可以看到Bootloader这段代码。 C5000复位后,程序指针指向0FF80h处的中断向量表,执行指令“BD 0FF80h”,即跳至Bootloader入口,开始执行Bootloader代码。 在搬移用户代码之前,Bootloader会设置C5000的状态寄存器,包括将INTM位置1、OVLY置1、设置swwsr寄存器 2.2 Bootloader的模式 为了兼容不同系统需求,C5000提供很多种启动模式,包括: HPI启动模式 8bit/16bit的并行启动模式 8bit/16bit的标准串口启动模式 8bit串行EEPROM启动模式 8bit/16bit的I/O启动模式 HPI启动模式 由外部处理器(即主机)将执行代码通过C5000的HPI口搬移到C5000片内RAM。 当主机搬移完所有程序代码,还要将程序入口地址写入C5000数据空间007Fh内。 C5000一旦检测到007Fh处不再为0值,即判断为代码转移完毕,并跳转到007Fh里存放的地址去执行,从而完成启动; 8bit/16bit的并行启动模式 C5000通过其数据和地址总线从数据空间读取启动表(Boot Table)。 启动表内容包括:需要搬移的代码段,每个段的目的地址,程序入口地址和其他配置信息。启动表具体内容将在下文介绍。 8bit/16bit的标准串口启动模式 C5000通过工作在标准模式的多通道缓冲串口(McBSP)接收启动表,并根据启动表中的信息装载代码。 McBSP0支持8bit模式,McBSP1支持16bit模式; 8bit串行EEPROM启动模式 C5000通过工作在SPI模式的McBSP1接收来自外部串行的EEPROM中的启动表,并根据启动表中的信息装载代码。 8bit/16bit的I/O启动模式 C5000使用XF和BIO引脚,与外部设备达成异步握手协议 从地址0h处的I/O端口读取启动表。 2.3 Bootloader的检测顺序 HPI启动模式第一次检测:通过检测INT2引脚是否有中断发生来判断是否进入HPI启动模式; 串行EEPROM模式; 并行模式; 2.3 Bootloader的检测顺序(续) 通过McBSP1的标准(8bit)串口启动; 通过McBSP0的标准(16bit)串口启动; I/O启动模式; HPI启动模式第二次检测:通过检测数据空间7Fh是否为非0值来决定程序入口点; 2.3 Bootloader的检测顺序(续) Notic:当Bootloader检测完所有可能的启动模式后,没有发现有效的启动模式,则Bootloader仅会从标准串口启动模式开始重新检测启动模式,而并不重新检测所有可能的启动模式。 3.并行启动模式分析 在上述各种启动模式中,并行启动模式实现简单,速度较快,在实际系统中应用也最为广泛,本文则重点介绍这种启动模式。 当检测完毕串行EEPROM启动模式无效后,Bootloader会转入8bit/16bit并行启动模式检测。 3.并行启动模式分析(续) Bootloader首先从I/O空间地址为0FFFFh处读取一个字的数据,并将该数据作为启动表在数据空间的起始地址。 启动表起始地址处应包含用于判断8bit/16bit启动模式的关键字: 8bit启动模式关键字为08AAh,放在两个连续的8bit空间; 16bit启动
文档评论(0)