ImageVerifierCode 换一换
格式:PPT , 页数:59 ,大小:854KB ,
文档编号:3334041      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3334041.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(嵌入式Linux开发培训入门讲义合集课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

嵌入式Linux开发培训入门讲义合集课件.ppt

1、The successs road远见品质远见品质今天内容v嵌入式Linux系统简介v构造嵌入式Linux系统v搭建开发平台v编译Linux内核 v下载根文件系统vGdb 和 gdbserver 远见品质远见品质第1部分嵌入式Linux系统简介远见品质远见品质嵌入式Linux系统简介v嵌入式系统开发已经进入32位时代,在当前的数字信息技术和网络技术高速发展的后PC Post-PC时代,嵌入式系统已经广泛的渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术、娱乐业以及人们的日常生活等方方面面中。随着国内外嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。远见品质远见品质

2、什么是嵌入式系统?无处不在,无处不在,融入生活融入生活远见品质远见品质嵌入式系统定义v嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。MP3MP3、PDAPDA、手机;、手机;DVDDVD机、机顶盒;机、机顶盒;车载车载GPSGPS系统、探测火星的机器人。系统、探测火星的机器人。远见品质远见品质嵌入式系统与PC机 处理器处理器存储器存储器输入输出软件(操作系统/驱动程序/应用程序)远见品质远见品质嵌入式产品内部机构远见品质远见品质嵌入式系统与PC设备名称设备名称CPU内存内存存储设备存储设备输入设备输入设

3、备 输出设备输出设备声音设备声音设备接口接口其他设备其他设备嵌入式系统嵌入式系统嵌入式处理器(嵌入式处理器(ARM,MIPS等)等)SDRAM芯片芯片Flash芯片芯片按键、触摸屏按键、触摸屏LCD音频芯片音频芯片MAX232等芯片等芯片USB芯片、网卡芯片芯片、网卡芯片PC机机CPU(Intel的的Pentium、AMD的的Athlon等)等)SDRAM,DDR内存条内存条硬盘硬盘鼠标、键盘鼠标、键盘 显示器显示器声卡声卡主板集成主板集成主板集成或外接卡主板集成或外接卡远见品质远见品质嵌入式系统与PC(CONT)引导代码引导代码操作系统操作系统驱动程序驱动程序协议栈协议栈开发环境开发环境仿真

4、器仿真器嵌入式系统嵌入式系统Bootloader引导,针对不同电路引导,针对不同电路板进行移植板进行移植WinCE、VxWorks、Linux等,等,需要移植需要移植每个设备驱动都必须针对电路每个设备驱动都必须针对电路板进行重新开发或移植,一板进行重新开发或移植,一般不能直接下载使用般不能直接下载使用需要移植需要移植借助服务器进行交叉编译借助服务器进行交叉编译需要需要PC机机主板的主板的BIOS引导,无须改动引导,无须改动Windows、Linux等,不需要等,不需要移植移植操作系统含有大多数驱动程操作系统含有大多数驱动程序,或从网上下载直接使序,或从网上下载直接使用用操作系统包括,或第三方提

5、操作系统包括,或第三方提供供在本机就可开发调试在本机就可开发调试不需要不需要远见品质远见品质嵌入式系统的特点 v1)嵌入式系统低功耗、体积小,专用性强。嵌入式系统与PC机的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,能够把PC机中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。v2)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。v3)嵌入式系统的硬件和软件都必须高效率地设计,系统要精简。操作系统一般和应用软件集成在一起。v4)对软件代码质量要求很高。应该尽最大可能避免死机的情况发生。v5)

6、嵌入式系统开发需要专门的开发工具和开发环境。远见品质远见品质典型的嵌入式操作系统vLinuxvuC/OS vWindows CE vVxWorks v Palm OS vQNX vSymbian远见品质远见品质第2部分构造嵌入式Linux系统远见品质远见品质开发环境远见品质远见品质Host与TargetLinux服务器(服务器(Host)客户机客户机1客户机客户机2客户机客户机3客户机客户机4交交换换机机开发板开发板(Target)串口串口 是一个基于是一个基于x86x86架构的计算机(架构的计算机(Pentium4Pentium4处处理器、理器、AthlonAthlon处理器等),即处理器等

7、),即i386i386平台。平台。TargetTarget是目标平台,比如是目标平台,比如ARMARM、MIPSMIPS、SuperHSuperH、PowerPCPowerPC等。等。远见品质远见品质交叉编译环境v随着硬件平台和操作系统的多样化,软随着硬件平台和操作系统的多样化,软件向不同平台移植的工作变得越来越繁件向不同平台移植的工作变得越来越繁复。交叉编译技术的引入为软件的不同复。交叉编译技术的引入为软件的不同平台移植创造了便利条件。在交叉编译平台移植创造了便利条件。在交叉编译技术中有两种比较典型的实现:技术中有两种比较典型的实现:,即,即JavaJava的字节码编译技术;的字节码编译技术

8、;vGNU GCC GNU GCC 模式,即通常所讲的模式,即通常所讲的Cross GCC Cross GCC 技术。技术。远见品质远见品质远见品质远见品质GNU GCC GNU GCC 模式模式计算机源程序(c,java)文本编辑器计算机系统目标平台,目标代码计算机系统GCCGCC交叉编译器交叉编译器远见品质远见品质Linux 下的GCC 交叉编译器vGNU Binutils GNU Binutils 的主要工具有两个,一个是连接程序ld,另外一个是汇编程序as。其主要目的是为GNU 系统,提供汇编和连接工具。vGNU GCC GNU GCC 就是上面提到的GCC,GCC 主要是为GNU 系

9、统提供C 编译器。现在支持多种语言,这其中包括C/C+、Fortran、Java、Objective-C、甚至还有Ada。vGNU GLibc 用于定义系统调用和其它一些基本的函数调用。远见品质远见品质交叉编译的过程远见品质远见品质GCC 交叉编译器生成v第一步,取得Binutils、GCC、Glibc 的源码。v第二步,配置并编译Binutils 取得我们所需要的汇编和连接程序。v第三步,配置并编译GCC 源码生成GCC 编译器。一般是C 编译器首先生成,然后以这个为基础在结合下一步要生成的Glibc 的C 函数库,再编译生成其它编译器。v第四步,配置Glibc 并编译生成Glibc 的C

10、函数库。v第五步,再次配置和编译GCC 源码,生成其它语言的编译器,如C+编译器等。远见品质远见品质代码结构远见品质远见品质设置环境变量Export PROJECT=S3C2410TKExport PROJECT=S3C2410TKExport PRJROOT=/$PROJECTExport PRJROOT=/$PROJECTExport TARGET=arm-linuxExport TARGET=arm-linuxExport PREFIX=$PROJECT/toolsExport PREFIX=$PROJECT/toolsExport TARGET_PREFIX=$PREFIX/$TARG

11、ETExport TARGET_PREFIX=$PREFIX/$TARGETExport PATH=$PREFIX/bin:$PATHExport PATH=$PREFIX/bin:$PATH远见品质远见品质TARGET常用的值实际平台TARGET的值PowerPCpowerpc-linuxARMarm-linuxMIPS(big endian)mips-linuxMIPS(little endian)mipsel-linuxSuperH 4sh4-linux远见品质远见品质交叉编译流程远见品质远见品质第1步远见品质远见品质安装内核头文件(1)$cd include/asm-arm/$rm a

12、rch proc$ln-s arch-s3c2410 arch$ln-s proc-armv procproc-armo is for 26-bits ARMproc-armv is for 32-bits ARM远见品质远见品质安装内核头文件(2)v配置内核make ARCH=arm CROSS_COMPILE=arm-linux-menuconfig ARCH 目标平台 CROSS_COMPILE 交叉编译工具 保存后退出上述操作成功后,会生成:linux-2.4.18/include/linux/version.h远见品质远见品质安装内核头文件(3)$mkdir-p$TARGET_PRE

13、FIX/include$cp-r include/linux/$TARGET_PREFIX/include/$cp-r include/asm-arm/$TARGET_PREFIX/include/asm 与平台相关的汇编$cp-r include/asm-generic/$TARGET_PREFIX/include远见品质远见品质刚才都做了些什么?远见品质远见品质第2步远见品质远见品质安装Binutils$cd$PRJROOT/build-tools/$tar-xvzf binutils-2.14.tar.gz$cd build-binutils$./binutils-2.14/config

14、ure-target=$TARGET-prefix=$PREFIXMakefile 和 Config文件将被生成,存放在 build-tools/build-binutils/目录下$make$make install远见品质远见品质刚才又做了些什么?远见品质远见品质第3步远见品质远见品质安装Bootstrap 编译器创建交叉编译版本的创建交叉编译版本的gccgcc,需要交叉编,需要交叉编译版本的译版本的glibcglibc及其头文件;及其头文件;而交叉编译版本的而交叉编译版本的glibcglibc是通过交叉编是通过交叉编译版本的译版本的gccgcc创建的。创建的。远见品质远见品质安装Boot

15、strap 编译器v修改gcc 源代码中的gcc/config/arm/t-linux文件,在该文件的TARGET_LIBGCC2_CFLAGS后面加上_gthr_posix_h和inhibit_libc:vTARGET_LIBGCC2_CFLAGS=-fomit-frame-pointer fPIC (修改前)vTARGET_LIBGCC2_CFLAGS=-fomit-frame-pointer fPIC-Dinhibit_libc-D_gthr_posix_h.远见品质远见品质安装Bootstrap 编译器$cd build-boot-gcc/$./gcc-2.95.3/configure

16、-target=$TARGET-prefix=$PREFIX -without-headers-with-newlib-enable-languages=c-disable-threadsMakefile和config文件生成在build-tools/build-boot-gcc/-target 目标平台-prefix 安装路径-without-headers 我们现在没有 glibc headers-with-newlib 不使用glibc-enable-languages=c 只支持C语言-disable-threads -Dinhibit_libc补丁$make all-gcc$make

17、 install-gcc远见品质远见品质刚才又做了些什么?远见品质远见品质第4步远见品质远见品质安装C库$cd$PRJROOT/build-tools/$tar-xvzf glibc-2.1.3.tar.gz$tar-xvzf glibc-crypt-2.1.tar.gz -directory=glibc-2.1.3$tar-xvzf glibc-linuxthreads-2.1.3.tar.gz -directory=glibc-2.1.3$cd build-glibc/$CC=arm-linux-gcc./glibc-2.1.3/configure-host=$TARGET -prefix

18、=/usr-enable-add-ons -with-headers=$TARGET_PREFIX/includeMakefile和和config文件生成在文件生成在build-tools/build-glibc/CC=arm-linux-gcc-host=$TARGET-prefix=/usr“-enable-add-ons 使用使用linux线程线程-with-headers 使用使用 linux 内核头文件内核头文件远见品质远见品质安装C库$cd$PRJROOT/build-tools/build-glibc/$make$make install_root=$TARGET_PREFIX

19、prefix=install安装 glibc 到$TARGET_PREFIX注意不要覆盖系统原来的库Glibc的安装路径在$install_root/$prefix/usr/lib/,现在我们安装在$install_root/$prefix/lib/$cd$TARGET_PREFIX/lib/远见品质远见品质安装C库$cp libc.so libc.so.orig$vi libc.so修改libc.so文件GROUP(/lib/libc.so.6/lib/libc_nonshared.a)GROUP(libc.so.6 libc_nonshared.a)远见品质远见品质刚才又做了些什么?远见品

20、质远见品质第5步远见品质远见品质最后的安装$cd$PRJROOT/build-tools/build-gcc/$./gcc-/configure-target=$TARGET prefix=$PREFIX-enable-languages=c,c+v$make allv$make install远见品质远见品质远见品质远见品质$PRJROOT/tools目录结构远见品质远见品质生成的Toolchain远见品质远见品质Binutils工具包介绍 vaddr2line:把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个

21、文件以及行号。var:建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。远见品质远见品质Binutils工具包介绍vas:主要用来编译GNU C编译器gcc输出的汇编文件,产生的目标文件由连接器ld连接。vc+filt:连接器使用它来过滤C+和Java 符号,防止重载函数冲突。vgprof:显示程序调用段的各种数据。vnm:列出目标文件中的符号。远见品质远见品质Binutils工具包介绍vobjcopy:把一种目标文件中的内容复制到另一种类型的目标文件中。vobjdump:显示一个或者更多目标文件的信息。显示一个或者更多目标文件的信息。使用选项

22、来控制其显示的信息。它所显示的信息通常只有编写编译工具的人才感兴趣。远见品质远见品质Binutils工具包介绍vld:连接器。它把一些目标和归档文件结合在一起,重定位数据,并链接符号引用。通常,建立一个新编译程序的最后一步就是调用ld。vranlib:产生归档文件索引,并将其保存到这个归档文件中。在索引中列出了归档文件各成员所定义的可重分配目标文件。远见品质远见品质Binutils工具包介绍vreadelf:显示ebf格式可执行文件的信息。vsize:列出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者一个归档文件中的每个模块只产生一行输出。vstrip:丢弃目标文件中的全

23、部或者特定符号。远见品质远见品质Binutils工具包介绍vstrings:打印某个文件的可打印字符串,这些字符串最少4个字符长,也可以使用选项-n设置字符串的最小长度。默认情况下,它只打印目标文件初始化和可加载段中的可打印字符;对于其它类型的文件它打印整个文件的可打印字符,这个程序对于了解非文本文件的内容很有帮助。远见品质远见品质gcc编译器介绍vcpp:C预处理器。vg+:C+编译器。vgcc:C编译器。vgccbug:创建bug报告的shell脚本。vlibgcc*:gcc的运行库。vlibstdc+:标准C+库,包含许多常用的函数。vlibsupc+:提供支持C+语言的库函数。远见品质

24、远见品质glibc库介绍vcatchsegv:当程序发生segmentation fault的时候,用来建立一个堆栈跟踪。vgencat:建立消息列表。vgetconf:针对文件系统的指定变量显示其系统设置值。vgetent:从系统管理数据库获取一个条目。远见品质远见品质glibc库介绍vglibcbug:建立glibc的bug报告并且email到bug报告的邮件地址。viconv:转化字符集。viconvconfig:建立快速读取的iconv模块所使用的设置文件。vldconfig:设置动态链接库的实时绑定。vldd:列出每个程序或者命令需要的共享库。远见品质远见品质glibc库介绍vlddlibc4:辅助ldd操作目标文件。vlocale:可以告诉编译器打开或关闭内建的locale支持的Perl程序。vlocaledef:编译locale标准。vnscd:提供对常用名称设备调用的缓存的守护进程。vnscd_nischeck:检查在进行NIS+侦查时是否需要安全模式。远见品质远见品质glibc库介绍vpcprofiledump:打印PC profiling产生的信息。vpt_chown:帮助grantpt设置子虚拟终端的属主,用户组和读写权限。vrpcgen:产生实现RPC协议的C代码。vrpcinfo:对RPC服务器产生一个RPC呼叫。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|