欢迎来到天天文库
浏览记录
ID:59294155
大小:160.00 KB
页数:36页
时间:2020-09-20
《嵌入式系统下的Bootloader---LMCBBATppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统下的BootloaderLMCBBATwindows启动流程定位引导设备→读取主引导记录→启动NTLDR→读取boot.ini→加载多重启动菜单→加载系统服务→帐户登录→加载注册表自启动程序→加载桌面→开始使用Linux启动流程第一阶段:BIOS启动引导阶段;第二阶段:GRUB启动引导阶段;第三阶段:内核阶段:第四阶段:SysVinit初始化阶段:嵌入式系统启动流程什么是bootloaderBootloaderkernelFileSystemBootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建
2、立内存空间的映射图,从而将系统的软硬件环境设置成一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。嵌入式系统中,Bootloader的意义与作用与PC上的BIOS有点类似,它对开发板上的主要部件如CPU、SDRAM、FLASH、串口等进行了初始化,可以使用Bootloader下载文件到开发板,可以浏览目录,可以烧录flash,可以启动系统等,实际上,一个功能比较强大的Bootloader已经相当于一个微型的操作系统了。Bootloader在系统中的位置在嵌入式系统中,通常没有像PC机中的BIOS那样的固件程序,因此整个系统的加载启动任务就完全由B
3、ootloader来完成。Bootloader是CPU加电后运行的第一段程序,它的作用就是对嵌入式系统中的硬件进行初始化,创建内核需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,真正起到引导和加载内核的作用固态存储设备的典型空间分配结构总体上Bootloader需要完成以下工作:初始化CPU速度;初始化内存,包括启用内存库,初始化内存配置寄存器等。初始化中断控制器,在系统启动时,关闭中断,关闭看门狗;初始化串行端口(如果在目标上有的话);启用指令/数据高速缓存;设置堆栈指针;为电源管理提供挂
4、起/恢复支持等;跳转到内核的开始启动加载方式1.启动加载(bootloading)方式。2.下载(downloading)方式1.启动加载(bootloading)方式。这种引导方式也称为“自主(autonomous)引导方式”,也即BootLoader从目标机的某个固态存储设备上将操作系统加载到RAM中并引导运行,整个过程并没有用户的介入。这种引导方式是BootLoader的正常工作模式下普遍采用的一种引导方式。因此在嵌入式产品发布的时候,BootLoader一般以这种引导方式对内核代码进行启动引导。2.下载(downloading)方式在这种引导方式下
5、目标机上的BootLoader将通过串口连接或网络连接等通信手段从主机下载文件,如下载应用程序、数据文件、内核映像等。从主机下载的文件通常首先被BootLoader保存到目标机的RAM中,然后再被BootLoader写到目标机上的固态存储设备中,其后完成内核的引导运行。BootLoader的这种引导方式通常在系统研发和更新时使用。在嵌入式系统研发阶段,现有的BootLoader下载引导方式又可根据加载途径的不同细分为以下几种: ①通过Ethernet网口从宿主机下载内核到目标板,从而实现软件系统启动; ②通过串口从宿主机下载内核到目标板从而实现
6、软件系统启动; ③直接从Flash中提取已存储的内核,从而实现软件系统的启动。我们公司选择的是通过Ethernet网口从宿主机下载内核到目标板,从而实现软件系统启动;这种方式开发板不需要配置较大的存储介质,但是使用这种启动方式之前,需要把Bootloader安装到板上的EPROM或者Flash中。Bootloader通过以太网接口远程下载Linux内核映像或者文件系统。这种方式对于嵌入式系统开发来说非常重要。使用这种方式的前提条件目标板有串口、以太网接口或者其他连接方式在服务器上配置启动相关网络服务DHCPSERVER自动分配IP地址给boardTF
7、TPSERVER是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。FTPSERVER用于Internet上的控制文件的双向传输。BootLoader的构成组件操作系统的角度看,BootLoader的总目标就是正确地调用内核来执行BootLoader主要由以下两部分组成。(1)汇编语言code(2)C语言code1.汇编语言code的功能BootLoader的阶段1通常包括以下步骤:1)硬件设备初始化。屏蔽所有的中断设置CPU的速度和时钟频率RAM初始化初始化LED关闭CPU
8、内部指令/数据Cache2)为加载阶段2准备RAM空间除了阶段2可
此文档下载收益归作者所有