欢迎来到天天文库
浏览记录
ID:59414369
大小:296.50 KB
页数:38页
时间:2020-09-19
《uestc嵌入式系统设计与pca技术+第三章+嵌入式开发环境的建立及BSP包ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章嵌入式开发环境的建立及BSP包宿主机-目标机开发模式PXA255开发板目标机环境宿主机环境设备抽象层(BSP包)3.1宿主机-目标机开发模式3.2.1JTAG接口简介3.2PXA255开发板目标机环境3.2.2BootLoader(引导装载程序)LILOGrubU-Boot0x0000HBootLoader因为系统在启动过程中,BIOS会把BootLoader读入内存,并把控制权交给它。MBR(零柱面零磁道1扇区)(针对硬盘启动)内的代码就是BootLoader或者它的一部分,为了说明Bootloader的
2、实现,先解释磁盘结构。BootLoader一个硬盘在DOS文件系统下可被分为四个基本分区,可以把一个基本分区定义为一个扩展分区,然后再把这个基本分区分为一个或多个逻辑分区。整个硬盘的分区表存放在硬盘的第一个扇区(MBR),每个扩展分区也对应一个分区表,它存放在该扩展分区对应的第一个扇区里。除主引导扇区外,每个基本分区和扩展分区也有自己的引导扇区,结构与MBR相同,但逻辑分区的引导扇区不能用于启动。BootLoader如果是硬盘启动,BootLoader将查找主分区表中标记为活动分区的表项,把该表项对应的分区的引导
3、扇区读入,然后将控制权交给该扇区内的引导程序。BootLoader如果计算机上装有不只一个操作系统,仅仅MS-DOS的BootLoader无法完成这种工作,需要一个可以多重起动的工具(如LILO,GRUB),下面介绍Linux下较常用的LILO.LILO实际上是一个在Linux环境下编写的BootLoader程序,主要功能是引导Linux操作系统的启动。LILO的功能实际上是有几个程序共同实现的,它们是:(1)MapInstaller这是LILO用于管理启动文件的程序。它将bootloader写入引导分区,创建纪
4、录文件以映射内核的启动。(2)Thebootloader它负责把Linux内核或其他操作系统的引导分区读入内存。还提供命令行接口,让用户选择从哪个操作系统启动和加入启动参数。(3)其他文件:主要包括用于存放MapInstaller记录的map文件和存放LILO配置信息的配置文件。BootLoader开发步骤:一般分两个阶段BoodLoader阶段1一般包括以下步骤:硬件设备初始化为加载BootLoader第二阶段准备RAM空间拷贝BootLoader的阶段到RAM空间中设置好堆栈跳转到阶段2的C入口点BoodLo
5、ader阶段2一般包括以下步骤:初始化本阶段硬件设备要使用的硬件设备检测系统内存映射(MemoryMap)将Kernel映像和根文件系统的映像从Flash中读到RAM空间中为内核设置启动参数3.3宿主机环境BOOTP协议TFTP协议交叉编译Make工具BOOTP协议BOOTP服务的全称是BootStrapProtocol使用TCP/IP网络协议中的UDP协议常用的DHCP服务就是从BOOTP服务发展而来BOOTP协议处理步骤第一步,在目标板由BootLoader启动BootP,此时目标板上没有IP地址,它先用广播
6、的形式以IP地址0.0.0.0向网络中发送查询IP地址请求信号,这个请求帧中包含了客户机的网卡MAC地址等信息。第二步,主机平台运行BOOTP服务的服务器接收到这个请求帧,根据帧中的MAC地址在Bootptab启动数据库中查找这个MAC的纪录,如果没有此MAC地址的纪录则不响应这个请求,如果有则将FOUND帧发送回目标板。FOUND帧中包含的主要信息有目标板的IP地址、目标板MAC地址和启动映像文件文件名。第三步,目标板就根据FOUND帧中的信息通过TFTP服务器下载启动映像文件。TFTP协议TFTP协议全称Tr
7、ivialFileTransferProtocol,简单文件传输协议。是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。TFTP协议可看成简化的FTP协议TFTP安装时需要建立一个单独的目录则为TFTP的根目录,以减少安全隐患交叉编译交叉编译就是在一个框架下编译另一个框架的目标文件采用何种交叉编译器产生何种格式的目标文件取决于目标机所采用的操作系统Make工具—用于解释makefile中指令的命令工具Makefile或makefile:可
8、实现“自动化编译”,告诉make维护一个大型程序该做什么。Makefile说明了组成程序的各模块间的相互关系及更新模块时必须进行的动作,make按照这些说明自动地维护这些模块。MakeFile作用MakeFile示例Netdefs.h头文件Subrs.cnetwork.c源文件编译Subrs.onetwork.o目标文件连接Network可执行文件在makefile(Ma
此文档下载收益归作者所有