欢迎来到天天文库
浏览记录
ID:39587458
大小:593.00 KB
页数:35页
时间:2019-07-06
《嵌入式系统开发环境的建立》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章 嵌入式系统开发环境的建立本章要点主机开发环境的建立嵌入式Linux系统内核的裁剪、编译嵌入式Linux系统开发板的烧写建立主机开发环境1、交叉编译什么是交叉工具链?为什么要使用交叉工具链?所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。安装进行嵌入式开发前,首先需安装交叉工具链,步骤如下:1.解压工具链到某一目录下例:tarxvzfarm-linux-gcc-4.3.2.tar.gz–C/2.修改/etc/profile,添加pathmunge/usr/local/arm/4.3.2/bin3.执行source/e
2、tc/profile使用编译器:arm-linux-gccarm-linux-gcchello.c–ohello反汇编工具:arm-linux-objdumparm-linux-objdump–D–ShelloELF文件查看工具:arm-linux-readelfarm-linux-readelf–ahelloarm-linux-readelf–dhello查看hello使用的动态库编译嵌入式Linux内核嵌入式Linux系统由Linux内核与根文件系统两部分构成,两者缺一不可。内核制作制作嵌入式平台使用的Linux内核,方法和制作PC
3、平台的Linux内核基本一致,下面使用对比的方式介绍如何制作用于嵌入式开发板的内核。1、清除原有配置与中间文件x86:makedistcleanarm:makedistclean2、配置内核x86:makemenuconfigarm:makemenuconfigARCH=arm3、编译内核x86:makebzImagearm:makeuImageARCH=armCROSS_COMPILE=arm-linux根文件系统根文件系统是Linux启动时使用的第一个文件系统。没有根文件系统,Linux将无法正常启动。根文件系统由一系列目录组成,目
4、录中包含了应用程序、C库、以及相关的配置文件。根文件系统1、创建根文件系统的目录mkdirrootfscdrootfsmkdirbindevetclibprocsbinsysusrmnttmpvarmkdirusr/binusr/libusr/sbinlib/modules2、创建设备文件cddev/mknod-m666consolec51mknod-m666nullc13cd..3、安装/etctaretc.tar.gz–C/xxx/rootfs根文件系统4、编译内核模块进入Linux内核目录(linux2.6.29)makemodu
5、lesARCH=armCROSS_COMPILE=arm-linux-5、安装内核模块makemodules_installARCH=armINSTALL_MOD_PATH=/xxx/rootfs根文件系统——Busybox:嵌入式开发中的瑞士军刀6、配置busybox进入busybox目录执行makemenuconfiga.进入BusyboxSettingsbuildOptions->选中“Buildbusyboxasastaticbinary”,静态链接CrossCompilerprefix(arm-linux-)Installat
6、ionOptions->选中“Don‘tuse/usr”,选中该项可以避免busybox被安装到宿主系统的/usr目录下,破坏宿主系统BusyboxInstallationPrefix(/xxx/rootfs)该选项表明编译后的busybox的安装位置根文件系统7、编译、安装busyboxmakeARCH=armCROSS_COMPILE=arm-linux-makeinstallRamdisk基于前面步骤制作好的根文件系统,可进一步制作ramdisk,步骤如下:1、genext2fs-b8192-d/xxx/rootfsramdisk
7、**genext2fs为产生ramdisk的工具**2、gzip-9-framdiskBootLoader什么是BootLoader?软件层次一个嵌入式系统从软件角度来看分为三个层次:1.引导加载程序包括固化在固件(firmware)中的boot程序(可选),和BootLoader两大部分。2.Linux内核特定于嵌入式平台的定制内核。3.文件系统包括了系统命令和应用程序。一个同时装有BootLoader、内核的启动参数、内核映像和根文件系统映像的固态存储设备的典型空间分配结构图:软件层次回忆PCPC机中的引导加载程序由BIOS(其本质
8、是一段固件程序)和GRUB或LILO一起组成。BIOS在完成硬件检测和资源分配后,将硬盘中的引导程序读到系统内存中然后将控制权交给引导程序。引导程序的主要任务是将内核从硬盘上读到内存中,然后跳转到内核的入口
此文档下载收益归作者所有