第6章 构建嵌入式Linux开发平台.ppt_第1页
第6章 构建嵌入式Linux开发平台.ppt_第2页
第6章 构建嵌入式Linux开发平台.ppt_第3页
第6章 构建嵌入式Linux开发平台.ppt_第4页
第6章 构建嵌入式Linux开发平台.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章构建了一个嵌入式Linux开发平台,6.1构建了一个嵌入式交叉编译环境。交叉编译的含义是在一个平台和另一个平台上生成可执行的目标代码。平台的意义:处理器的体系结构;正在运行的操作系统。注意:不同的操作系统或处理器架构是不同的平台。嵌入式交叉编译,在嵌入式系统开发过程中,一般指作为主机进行交叉编译的主机,即通用计算机,而指作为目标机的程序的实际操作环境,即嵌入式系统环境。编译过程包括编译、汇编和链接等几个阶段。因此,嵌入式交叉编译还包括交叉编译、交叉组装和交叉链接。嵌入式交叉编译器环境模型,交叉编译器安装过程1)在/usr/local/directory下新建arm目录,并进入该目录。root VM-dev local# mkdirrmroot VM-dev local# cdar m2)使用cp命令将cross_3.3.2.tar.bz2复制到新建立的/usr/local/arm目录。3)解压缩交叉编译器安装文件(cross_3.3.2.tar.bz2)。描述:在执行上述命令后,文件夹3.3.2将被添加到当前目录,即交叉编译器所在的目录。4)增加编译器路径。root VM-dev arm# VI/etc/profile.# PathManageionif id-u =0;thepath unge/sbinpathange/usr/sbinpathange/usr/local/sbinpathange/usr/local/arm/3.3.2/binfi描述:编译路径保存在/etc/的配置文件中,因此配置文件被打开,并且/3 . 3 . 2/bin被添加到path字段中,在示例中是带下划线的语句。您还可以使用环境变量添加编译器路径。在6.2U引导迁移中,系统引导加载程序是在操作系统内核运行之前运行的程序,类似于通用计算机中的基本输入输出系统程序。通过该程序,可以完成硬件设备的初始化,并且可以建立存储器空间的映射映射功能,从而将系统的软件和硬件环境带到合适的状态,并且为操作系统内核(通常称为引导系统)的最终调用做准备。6.2.1引导系统简介,引导加载程序是一个在操作系统内核运行之前运行的小程序。通过初始化硬件设备并通过这个小程序建立存储空间映射,使系统的软件和硬件环境处于适当的状态,从而为调用操作系统的内核准备一个正确的环境。大多数引导系统分为阶段1和阶段2。阶段1:取决于处理器架构和在板级初始化的代码。它通常放在阶段1,用汇编语言实现。Stage2:通常用C语言实现,可以实现更复杂的功能,具有更好的可读性和可移植性。引导由系统阶段1(按顺序)实现的功能:硬件设备初始化;为加载引导系统的阶段2准备内存空间;将引导系统的第二阶段程序复制到内存空间;设置堆栈;跳到阶段2的c程序入口点。引导由系统阶段2(按顺序)实现的功能:初始化将在该阶段中使用的硬件设备;检测系统内存映射;从闪存向内存空间读取操作系统内核映像和根文件系统映像;为操作系统内核设置启动参数;调用操作系统内核。因为引导系统完全由硬件实现,所以不同类型的处理器具有不同的汇编语言,不同的开发平台具有不同的硬件资源。因此,在嵌入式世界中构建一个通用的引导程序几乎是不可能的。尽管如此,我们仍然可以归纳一些关于引导加载程序的一般概念,以指导特定引导加载程序的设计和实现。引导加载程序通用性分析,1)中央处理器体系结构:每种体系结构的处理器都广泛可用。2)引导加载程序的安装介质:处理器的复位地址基本一致。3)引导加载程序可分为单阶段和多阶段引导过程。4)4)引导加载程序的操作模式。引导加载模式下载模式5)引导加载程序刻录加载:统一使用JTAG接口。6.2.2U引导概述,U引导(UniversalBootLoader)是一个符合GPL条款的开源项目。它的源代码目录和编译形式非常类似于Linux内核。事实上,许多引导源代码都是相应的Linux内核源代码的简化,尤其是一些设备的驱动程序。U-Boot支持各种类型的嵌入式操作系统的引导。U-Boot支持多系列处理器架构。优步的前身是PPCBOOT。由德国DENX软件工程中心的WolfgangDenk发起并完善。1的主要特点。U-Boot开放源代码支持各种嵌入式操作系统内核:如Linux、NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxOS;支持多处理器系列:如PowerPC、ARM、x86、MIPS、XScale;高可靠性和稳定性;高度灵活的功能设置,适用于u盘调试,不同的操作系统启动要求,产品发布等。丰富的设备驱动程序源代码,如串口,以太网,软件无线电,闪存,液晶显示器,非易失性存储器,可编程只读存储器,实时通信,键盘等。丰富的开发调试文档和强大的网络技术支持。u盘主目录结构板:目标板相关文件,主要包括SDRAM、FLASH驱动等。通用:独立于处理器架构的通用代码;中央处理器:中央处理器相关文件;驱动程序:通用设备驱动程序,如CFIFLASH驱动程序;文档:文档文档:引导;示例:可以在U引导下运行的示例程序;Lib_xxx:与处理器体系结构相关的库文件;网络:与网络功能相关的文件目录;帖子:开机自检文件目录;Rtc:RTC驱动程序;工具:用于创建U-BootS-RECORD和BIN图像文件的工具;3。主功能系统引导:支持NFS挂载,内存磁盘(压缩或未压缩)形式的根文件系统。基本辅助功能:强大的操作系统界面功能;可以灵活地设置多个关键参数并传递给操作系统;支持目标板环境参数的多种存储方式,如闪存、非易失性存储器、可编程只读存储器;CRC32检查可以检查闪存中的内核和内存镜像文件是否完好。设备驱动程序:串口,软件无线电,闪存,以太网,液晶显示器,非易失性存储器,可编程只读存储器,键盘,USB,PCMCIA,PCI,RTC和其他驱动程序支持。开机自检功能:特别提款权,闪存大小自动检测;软件无线电存储器故障检测;中央处理器型号。6 . 2 . 3引导迁移过程。1.获取从优步官方网站直接下载的源码包。作者下载的源包版本是1.3.2。将源包u-boot-1.3.2.tar.bz2复制到您的工作目录,并解压缩源包。root VM-dev 2410-s# tarjxvfu-boot-1 . 3 . 2 . tar . bz2root VM-dev 2410-s# CDU-boot . 1 . 3 . 2描述:解压缩后,当前目录将生成u-boot.1.3.2的子目录,可以访问该子目录以查看相关信息。2.建立板级支持包。在板目录下,每个开发板都有相应的目录;需要为您的开发板设置一个目录;root VM-devu-boot-1 . 3 . 2# cdboard/root VM-dev board# mkdirup 2410root VM-dev board# CP。/smdk2410/*。/up 2410/根虚拟机-设备板 #光盘.描述:为了反映开发板使用的S3C2410处理器,将其命名为up2410,并创建相应的文件。/smdk2410/是专为S3C2410处理器设计的U-Boot。在U-Boot源代码中,为S3C2410处理器的开发板专门建立了一个名为smdk2410的目录,并提供了相关的文件支持。U-Boot为每个开发板提供一个单独的配置文件,smdk2410的配置文件是include/configs/smdk2410.h。用户建立的开发板up2410的配置文件可以直接从smdk2410开发板的配置文件中修改。复制操作如下:根 VM-devu-boot-1.3.2 # CP。/include/configs/smdk2410.h,/include/configs/up2410.h .修改Makefile。以便您可以配置自己的开发板:root VM-devu-boot-1 . 3 . 2# VI Makefile在Makefile中找到smdk2400的配置项。详细信息如下:smdk2400 _ config : unconfig $(mkconfig)$( : _ config=)armrm 920 ts mdk 2400 null 3c 24x 0在smdk 2400配置项下添加用户的开发板配置。添加以下内容:up 2410 _ config : unconfig $(mkconfig)$( : _ config=)armar m 920 tup 2410 null s3c 24 x 0,以便构建用户自己的板级支持包。3。添加代码以支持从NandFlash S3C2410开发板开始通常没有NorFlash,只从NanFlash开始。但是,默认情况下,U-Boot不支持从NandFlash启动。您需要添加自己的代码来从NandFlash开始。1)修改开始。s文件。开始。位于cpu/arm920t/目录中的s文件是开发板通电后运行的第一个代码。向start.s文件中添加支持从NandFlash启动的代码。NandFlash中的代码被复制到软件无线电内存中,但是U-Boot本身并没有实现这个功能。因此,需要编写一段代码来实现程序的拷贝。开始的时候。s文件支持并使用nandflash,因此有必要确保nandflash能够正常工作。它相当于正常的nandflash驱动功能。开始。s在nandflash上的操作包括初始化和数据读取。添加nandflash初始化和数据读取功能代码。文件是一个新添加的文件,它没有包含在原始的U-Boot项目管理器中,所以Makefile文件需要修改。2)添加nand.c文件。新添加的nand.c文件通常涉及一些宏定义、全局变量、系统参数和其他系统信息。该系统信息通常由头文件定义,因此nand.c程序中使用的一些宏被添加到头文件up2410中。注意:具体的增加是根据程序员编写的代码来决定的。3)修改up2410.h文件。up2410.h是开发板的配置文件,U-Boot的一个重要功能是基本的硬件初始化。因此,需要将一些初始化配置信息添加到up2410.h文件中。1)网卡配置(U-Boot自身支持CS8900网卡芯片)2)添加命令以方便调试和使用3)修改环境变量主要包括启动延迟、串口波特率、媒体访问控制地址、传输控制协议/协议属性等。4)目标机器开机后,修改命令提示符的提示信息。5)修改默认下载地址需要与开发板硬件的软件无线电内存地址一致。6)修改闪存中环境变量的存储地址,4。配置开发板的硬件,5。在支持光盘中修改网卡驱动程序开发板制造商通常提供的网卡芯片驱动程序。例如,支持光盘的MagicARM2410开发板提供dm9000 x.c和DM 9000 x.h。将这两个文件复制到u-boot源代码目录下的驱动程序/网络,以替换U-Boot自己的网卡驱动程序文件。编译U-Boot首先,创建开发板的配置文件:root VM-DevU-Boot-1 . 3 . 2# make up 2410 _ config configuringforup 2410板.root VM-devU-Boot-1.3.2 #然后运行用于U-Boot编译的make命令:root VM-devu-boot-1.3.2 #编译完成后,u-boot.bin文件将在u-boot的源代码目录下生成。该文件是最终的引导加载程序目标文件。7.加载引导用JTAG加载器连接主机和目标计算机,并连接目标计算机的电源。在windows环境下,将编译后的u盘和写入文件sjf2410-s.exe(通常包含在附带于开发板的光盘中,即使光盘中没有这样的文件,也可以通过安装givieo获得)复制到指定的位置(如磁盘E)。在windows环境下,打开一个DOS对话框,输入u-boot.bin和sjf2410-s.exe的存储位置,并运行sjf2410-s.exe程序加载u-boot.bin。测试u-boot既然u-boot已经加载到开发板上,您可以启动开发板检查它是否加载正确。连接开发板和主机之间的串口;断开开发板JTAG下载线;打开windows系统提供的超级终端软件;设置串行端口连接参数。包括波特率、每帧数据位、奇偶校验模式、停止位、数据流控制模式等。启动开发板。U-boot 1 . 3 . 2(dec 52010-103:35:38)dram :64 mblash :512 kband336064 MB * * *警告-错误和,使用默认环境:串行输出:串行错误:串行HitanyKeyToTopAutoBoot :XCH-2410-S #。如果加载成功,超级终端界面上将出现以下内容:描述:警告的原因主要是环境变量未写入闪存。6.3Linux内核移植、6.3.1概述、嵌入式系统启动过程、典型的闪存存储空间分配操作系统作为一组软硬件资源管理程序,它可以管理内存、确定系统资源分配、控制输入/输出设备和管理网络文件等。是系统软件和硬件之间的纽带,其典型,6 . 3 . 2内核移植过程,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论