书签 分享 收藏 举报 版权申诉 / 59
上传文档赚钱

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

  • 上传人(卖家):三亚风情
  • 文档编号:3334041
  • 上传时间:2022-08-20
  • 格式:PPT
  • 页数:59
  • 大小:854KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《嵌入式Linux开发培训入门讲义合集课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式 Linux 开发 培训 入门 讲义 课件
    资源描述:

    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呼叫。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:嵌入式Linux开发培训入门讲义合集课件.ppt
    链接地址:https://www.163wenku.com/p-3334041.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库