BootLoader相关知识笔记1

  • Eagleson
  • LV5工程师
  • |      2016-03-23 19:09:11
  • 浏览量 895
  • 回复:2

串口通讯是最简单也是最廉价的一种双机通讯设备,所以往往在BootLoader中主机和目标机之间都通过串口建立连接,BootLoader 程序在执行时通常会通过串口来进行 I/O,比如:输出打印信息到串口,从串口读取用户控制字符等。当然如果认为串口通讯速度不够,也可以采用网络或者USB通讯,那么相应的在BootLoader中就需要编写各自的驱动。

 

Boot Loader 的操作模式

 

启动加载模式:这种模式也称为"自主"Autonomous)模式。也即BootLoader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是BootLoader的正常工作模式。

下载模式:在这种模式下,目标机上的BootLoader将通过串口连接或网络连接等通信手段从主机下载文件,比如:下载应用程序、数据文件、内核映像等。从主机下载的文件通常首先被BootLoader保存到目标机的RAM中,然后再被 BootLoader写到目标机上的固态存储设备中。BootLoader 的这种模式通常在系统更新时使用。工作于这种模式下的 BootLoader 通常都会向它的终端用户提供一个简单的命令行接口。

 

BootLoader与主机间文件传输的通信设备及协议

 

最常见的情况就是,目标机上的 Boot Loader 通过串口与主机之间进行文件传输,传输可以简单的采用直接数据收发,当然在串口上也可以采用xmodemymodemzmodem 协议以及在以太网上采用TFTP协议。

 

 

为了兼容不同系统需求,C2000提供很多种启动模式,包括:

HPI启动模式

由外部处理器(即主机)将执行代码通过C2000HPI口搬移到C2000片内RAM

当主机搬移完所有程序代码,还要将程序入口地址写入C2000数据空间007Fh内。

C2000一旦检测到007Fh处不再为0值,即判断为代码转移完毕,并跳转到007Fh里存放的地址去执行,从而完成启动;

 

8bit/16bit的并行启动模式

C2000通过其数据和地址总线从数据空间读取启动表(Boot Table)。

启动表内容包括:需要搬移的代码段,每个段的目的地址,程序入口地址和其他配置信息。启动表具体内容将在下文介绍。

 

8bit/16bit的标准串口启动模式

C2000通过工作在标准模式的多通道缓冲串口(McBSP)接收启动表,并根据启动表中的信息装载代码。

McBSP0支持8bit模式,McBSP1支持16bit模式;

 

8bit串行EEPROM启动模式

C2000通过工作在SPI模式的McBSP1接收来自外部串行的EEPROM中的启动表,并根据启动表中的信息装载代码。

 

8bit/16bitI/O启动模式

C2000使用XFBIO引脚,与外部设备达成异步握手协议

从地址0h处的I/O端口读取启动表。

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子