欢迎来到天天文库
浏览记录
ID:25215387
大小:203.00 KB
页数:49页
时间:2018-11-17
《1 构建嵌入式linux系统-bootloader》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、嵌入式Linux移植广东省嵌入式软件公共技术中心2007年7月14日课程介绍主要介绍嵌入式系统结构嵌入式软件开发Bootloader设计一嵌入式系统结构嵌入式系统是一个计算机系统;嵌入式系统一般包括硬件和软件两部分这里的硬件是以一个高性能的处理器(通常是32位处理器)为基础;软件是以一个多任务操作系统为基础的综合平台;这样一个软、硬件平台是单片机无法比拟的,可称之为“嵌入式系统”。(1)嵌入式硬件平台其他外设SDRAMFlash外部总线控制器SDRAM控制器时钟复位中断控制器处理器核片上系统(2)嵌入式系统软件嵌入式软件可以分为两大类:系统软件:控制和管理嵌入式系统资源,一般是内核。应用
2、软件:在系统软件之上,如GUI(图形界面),网络服务器软件等。(2)嵌入式软件结构应用程序硬件平台嵌入式软件内核子程序(进程调度、内存管理、文件系统、网络、进程间通信)动态库BSP包(驱动程序)系统调用内核软件嵌入式软件开发嵌入式应用开发过程一个嵌入式应用项目的开发过程是一个硬件和软件设计的综合过程,是一个系统设计过程,主要经历以下步骤:硬件设计与实现引导加载程序的设计操作系统的移植(主要是驱动程序移植)应用程序的设计系统调试,样机交付其中,引导加载程序,操作系统移植,应用程序设计是软件设计,具有自己的特点。嵌入式软件开发的特点需要交叉编译硬件平台处理器较慢,内存和外存容量小等等;把软件
3、开发放在高性能的PC机上进行;PC机上CPU指令集与嵌入式CPU的指令集是不同的,因此,在PC机上开发嵌入式软件需要交叉编译。需要移植由于嵌入式系统是一个软硬件定制的系统,硬件平台各不相同,软件设计需要根据不同的硬件设备来添加或修改相应的代码,这就是移植。基于linux的嵌入式软件设计在一个硬件平台上设计一个基于linux的软件系统,需要的工作可以分为以下三部分:Bootloader设计Linux内核的定制移植,驱动程序的开发应用程序的设计根据GEC2410开发板,构建嵌入式linux系统接下来,我们以gec2410开发板为硬件平台,介绍构建一个嵌入式linux系统的原理和过程。系统软件
4、有以下部分组成Bootloader为u-bootLinux内核的版本为2.6.14应用程序由busybox、bash等构成Bootloader设计Bootloader介绍Bootloader程序是系统加电后运行的第一段代码;通常嵌入式CPU上电或者复位时都会跳到一个特定的地址开始执行;如:ARM是0x0地址;通常用某种类型的固态存储设备(FLASH)映射到这个预先安排的地址上;因此在系统加电后,CPU将首先执行的是这个特定地址上的BootLoader程序。Bootloader依赖于硬件平台,因此bootloader程序一般都需要移植。Bootloader程序结构Bootloader程序的
5、结构一般分为两个阶段:Stage1:汇编语言编写,达到短小精悍的目的;Stage2:C语言编写,实现更加复杂的功能;实验:结合gec2410的bootloader程序分析bootloader程序的结构;U-boot的介绍Uboot是德国DENX软件工程小组开发的、支持多种嵌入式CPU的bootloader程序。可引导的嵌入式操作系统:UBoot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD,VxWorks,QNX,RTEMS,ARTOS,LynxOS嵌入式操作系统。支持的处理器:UBoot支持PowerPC、MIPS、x86、ARM、NIOS、XScale等诸多常用系列
6、的处理器。特点:功能多、灵活性强、开发积极、开放源代码、属于“monitor”U-boot的介绍uboot的获得:从下面地址下载uboot的源代码。http://sourceforge.net/projects/uboot邮件列表:http://lists.sourceforge.net/lists/listinfo/u-boot-users/U-boot的源码结构uboot的目录结构顶层有18个子目录,分别存放和管理不同的源代码。这些目录分三类:与处理器体系结构或者开发板硬件直接相关存放通用的函数或者驱动程序的目录存放uboot的应用程序、工具、文档的目录U-boot的源码结构uboo
7、t的目录结构board:存放与开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中。如smdk2410common:实现uboot支持的命令,每一条命令都对应一个文件。例如bootm命令->cmd_bootm.c。cpu:与特定CPU架构相关目录,每一款Uboot下支持的CPU在该目录下对应一个子目录,比如有子目录arm920t等。doc:文档目录。Uboot有非常完善的文档,推荐大家参考阅读。drivers:Uboot支持
此文档下载收益归作者所有