嵌入式培训ppt课件.ppt

上传人:飞****2 文档编号:70391413 上传时间:2023-01-19 格式:PPT 页数:76 大小:1.05MB
返回 下载 相关 举报
嵌入式培训ppt课件.ppt_第1页
第1页 / 共76页
嵌入式培训ppt课件.ppt_第2页
第2页 / 共76页
点击查看更多>>
资源描述

《嵌入式培训ppt课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式培训ppt课件.ppt(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式培训嵌入式培训班级:电信班级:电信10-210-2组员:陈浩聪组员:陈浩聪 杨杰城杨杰城 冯永健冯永健培训时间:培训时间:2013 12 2112 252013 12 2112 25培训内容v嵌入式系统开发简介vLinux入门及其环境搭建v嵌入式Linux下的应用程序调试技巧vMake工程管理器2嵌入式系统简介3嵌入式系统开发v嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。4后PC时代v据统计每年只有10-20%的计算机芯片是为台式PC或膝上电脑而设计的。v每年又有1万个新的嵌入式系统计划产生,而

2、且越来越多的系统需要复杂的嵌入式操作系统。v2006年的全球产销量为十亿部,其中中国市场为1亿部。v嵌入式系统设计制造的CPU每年大概有十数十亿片。5常见嵌入式CPUv微控制器(MCU)ARM7和ARM9的区别(3、5流水线)v数字信号处理器(DSP)(4流水线)v片上系统(SOC)v可编程片上系统(SOPCNios2)6典型的嵌入式系统与PC机 处理器处理器存储器存储器输入输出软件(操作系统/驱动程序/应用程序)7嵌入式系统与PC设备名称嵌入式系统PC机CPU嵌入式处理器(ARM,MIPS)CPU(Intel的Pentium、AMD的Athlon等)内存SDRAM芯片SDRAM,DDR内存条

3、存储设备Flash芯片硬盘输入设备 按键、触摸屏鼠标、键盘 输出设备LCD显示器声音设备音频芯片声卡接口MAX232等芯片主板集成其他设备USB芯片、网卡芯片主板集成或外接卡8嵌入式系统与PC(2)嵌入式系统PC机引导代码Bootloader引导,针对不同电路板进行移植主板的BIOS引导,无须改动操作系统WinCE、VxWorks、Linux等,需要移植Windows、Linux等,不需要移植驱动程序每个设备驱动都必须针对电路板进行重新开发或移植,一般不能直接下载使用操作系统含有大多数驱动程序,或从网上下载直接使用协议栈需要移植操作系统包括,或第三方提供开发环境借助服务器进行交叉编译在本机就可

4、开发调试仿真器需要不需要9嵌入式系统的特点 v嵌入式系统低功耗、体积小,专用性强。嵌入式系统与PC机的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,能够把PC机中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。v为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。v嵌入式系统的硬件和软件都必须高效率地设计,系统要精简。操作系统一般和应用软件集成在一起。v对软件代码质量要求很高。应该尽最大可能避免死机的情况发生。v嵌入式系统开发需要专门的开发工具和开发环境。10如何选择嵌入式CPU?vARMvPow

5、erPCvMIPSvXscalevDSPvX86v11典型的嵌入式操作系统vLinuxvuC/OS vWindows CE vVxWorks vPalm OS vSymbian12嵌入式系统开发流程13嵌入式系统开发的内容14嵌入式Linux开发流程15嵌入式Linux开发模式BootLoader内核内核FlashTargetHostNFS模式模式Root fs16嵌入式Linux开发模式(2)BootLoader内核内核RAMDISKFlashTargetHostRamdisk模式模式17Linux入门18Linux简介vLinus Torvalds于1991编写vLinux是一个Unix兼

6、容的系统,大部分通用的Unix工具和程序都可以在Linux系统下运行。UNIX-堂兄 Linux表弟v使用GNU工具开发:gcc,glibc,binutils,make等vGNU=GNU is Not UnixvGPL=General Public License19一些发行版vRedHatvFedora CorevSusevDebianvUbuntuvCent OSvAisanux20认识Linux内核版本v主版本1.02.02.22.42.6 2,3年更新v稳定版2.0.402.2.12 2.4.18 2.6.71,2月更新v稳定版更新2.6.23.1 2.6.23.71,2周更新21Li

7、nux体系结构用户空间用户空间内核空间内核空间文件文件系统系统I/O内存内存管理管理Cache调度调度内核内核22内核结构23Linux优点v提供了先进的网络支持v多任务、多用户v符合IEEE POSIX标准v核心能仿真FPUv支持数十种文件系统格式v完全运行于保护模式v开放源代码v采用先进的内存管理机制,更加有效地利用物理内存 24Linux分区vLinux分区的形式vSwap分区v根分区/vBoot分区v其他25Linux的基本命令Shell命令行使用技巧:Tab自动补齐、ctrl+a+e等vcd:转换目录vls:列出文件名(根目录浏览)vll:查看文件属性(文件属性与权限)vcp:复制文

8、件(cp/mnt/hgfs/share/*.*/root/)vmv:移动文件(可用于文件或目录的改名)vrm:删除文件(rm rf (目标))vmkdir:创建目录vrmdir:删除目录26Linux的基本命令(2)vcat:显示文本文件vless/more:分屏显示文件vgrep:查找字符串(ls all|grep*)vhead:显示文件开头vtail:显示文件结尾vsort:按次序显示文件vuniq:去掉文件中重复的行vdiff:比较两个文件vfile:测试文件内容27Linux的基本命令(3)vecho:显示文本vdate:显示时间和日期vgzip:压缩文件vgunzip:解压缩文件vb

9、zip2:压缩文件vtar:打包和解包文件vwhereis:查找命令vwhich:查找实用程序28Linux的基本命令(4)vps:列出进程vdf:检查文件系统空间占用情况 vdu:显示磁盘空间的使用情况 vkill:杀死进程vchmod:改变文件或目录的访问权限 vchown:改变文件或目录的属主和组 vchgrp:改变文件或目录所属的组 v info:获得帮助29Linux的基本命令(5)vpwd:显示当前工作目录的绝对路径vrpm:文件包管理vclear:清屏vln:创建文件链接vwho:列出系统上的用户名单vwrite:发送消息vtalk:与其他用户通信vman:获取帮助30熟悉嵌入式

10、开发平台熟悉引导启动代码和内核的烧写31需要熟悉的内容v开发板硬件基本配置v开发板与PC机连接方式vPC机相关配置v熟悉bootloader的使用v深入理解开发内容v巩固开发流程32Bootloader烧写示范 vLinux环境(虚拟机)简介v超级终端和DNW的配置vBootloader的显示信息简介(标准BIOS)v内核、文件系统的演示33嵌入式Linux下的应用程序开发34开发工具-编辑器vivvi的基本使用方法 输入模式输入模式 命令模式命令模式35vi-开始编辑v新增(append)-a a 从 光 标 所 在 位 置 後 面 开 始 新 增 资 料,光 标 後 的 资 料 随 新 增

11、 资 料 向 後 移 动。-A A 从 光 标 所 在 列 最 後 面 的 地 方 开 始 新 增 资 料。v插 入(insert)-i i 从 光 标 所 在 位 置 前 面 开 始 插 入 资 料,光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。-I I 从 光 标列 的 第 一 个 非 空 白 字 符 前 面 开 始 插 入 资 料。v开 始(open)-o o 在 光 标 所 在 列 下 新 增 一 列 并 进 入 输 入 模 式。-O O 在 光 标 所 在 列 上 方 新 增 一 列 并 进 入 输 入 模 式。36vi-删除与修改vvx x 删除光标所在字符。vvdd

12、dd 删除光标所在的列。vvr r 修改光标所在字符,r後接著要修正的字符vvR R进入取代状态,新增资料会覆改原先资料,直到按ESC回到指令模式下为止。vvs s 删除光标所在字符,并进入输入模式。vvS S 删除光标所在的列,并进入输入模式。37vi-退出命令v不保存退出v不保存强制性退出v保存编辑v存入文件filename 中v强制性存入文件filename 中v()保存并退出(shift+zz)38vi-光标移动命令v移动到当前单词的开始v移动到当前单词的结尾v向前移动一个单词v向前移动一个字符v向上移动一行v向下移动一行v向后移动一个字符39vi-改变与替换操作命令v替换光标所在的字

13、符v替换字符序列v替换一个单词v同v替换光标所在的前一字符v替换自光标位置至行尾的所有字符v同v替换当前行40vi-拷贝与粘贴命令v将光标所在单词拷入剪贴板v将光标至行尾的字符拷入剪贴板v同v将当前行拷入剪贴板v将剪贴板中的内容粘贴在光标后v将剪贴板中的内容粘贴在光标前利用利用Vi编写一个编写一个helloworld程序!程序!4142开发工具-编译器GCCv全称为GNU CC,GNU项目中符合ANSI C标准的编译系统 v编译如C、C+、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言v一个交叉平台编译器,适合在嵌入式领域的开发编译 43GCC编译

14、器vGNU Compiler CollectionvC,C+,Objective-C,Fortran,Java,Adavhttp:/gcc.gnu.orgGCC 4.2.2 GCC 2.95 July 31,1999 GCC 3.0 June 18,2001 GCC 3.2 August 14,2002 GCC 3.3 May 13,2003 Oct 9,2007 December 3,1997 44GCC简介vgcc所支持后缀名解释.cC原始程序.C/.cc/.cxxC+原始程序.mObjective-C原始程序.i已经过预处理的C原始程序.ii已经过预处理的C+原始程序.s/.S汇编语言原

15、始程序.h预处理文件(头文件).o目标文件.a/.so编译后的库文件45编译器的作用源代码*.c预处理器头文件*.h编译器目标代码*.o可执行文件引导代码库函数汇编处理链接vGcc的编译流程分为四个步骤 预处理(Pre-Processing)编译(Compiling)汇编(Assembling)链接(Linking)46理解交叉编译及环境建立47GCC 交叉编译器vGNU BinutilsGNU Binutils 的主要工具有两个,一个是连接程序ld,另外一个是汇编程序as。其主要目的是为GNU 系统,提供汇编和连接工具。vGNU GCCGNU GCC 就是上面提到的GCC,GCC 主要是为G

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

17、源码,生成其它语言的编译器,如C+编译器等。49工具链代码结构50TARGET常用的值实际平台TARGET的值PowerPCpowerpc-linuxARMarm-linuxMIPS(big endian)mips-linuxMIPS(little endian)mipsel-linuxSuperH 4sh4-linux51交叉编译流程52开发环境快速建立v下载 arm-elf-tools-.sh v执行:sh arm-elf-tools-.shv配置环境变量53环境变量vLinux环境变量PATHv有关配置文件vetc/profile etc/inputrc etc/bashrc /etc/

18、profile.dv.bash_profile .bashrcvetc/profile.bash_profile.bashrc+$HOME/binv|valias+/etc/bashrcv对比:Windows的环境变量54设置交叉编译器的环境变量vetc/profile文件中的PATH定义了找存放命令的路径,若把交叉编译器的路径在PATH中进行定义,则执行命令时就可以找到对应的命令。示例:使用2.95.3版本的交叉编译器将usr/local/arm/2.95.3/bin路径添加到etc/profile文件中,并用将原来的3.4.4的屏蔽(如果有的话),然后在etc路径下执行source pro

19、file。然后arm-linux-gcc v,如果显示是2.9.53。则说明环境配置成功。v更改环境变量有几种方法,其中之一是更改etc/profile文件(开机启动时配置)中的PATH,将相冲突的屏蔽掉。另一种方法是重新定义PATH,然后用export导出(export命令可以修改,但重启之后?):可编辑/etc/bashrc文件,在最后增加路径 export PATH=/usr/local/arm/2.95.3/bin:|$PATH,则以后编译内核或其它程序均可用arm-linux-来制定交叉编译器。55嵌入式Linux下的应用程序调试技巧56 调试器-GdbGdb调试流程 v首先使用gc

20、c对test.c进行编译,注意一定要加上选项-g v#gcc-g test.c-o test v#gdb test GNU gdb Red Hat Linux(6.3.0.0-1.21rh)Copyright 2004 Free Software Foundation,Inc.GDB is free software,covered by the GNU General Public License,and you arewelcome to change it and/or distribute copies of it under certain conditions.Type show

21、copying to see the conditions.There is absolutely no warranty for GDB.Type show warranty for details.This GDB was configured as i386-redhat-linux-gnu.Using host libthread_db library/lib/libthread_db.so.1.(gdb)57 Gdb Gdb调试流程 v查看文件(gdb)lv设置断点(gdb)b 6v查看断点情况(gdb)info bv运行代码(gdb)rv查看变量值(gdb)p nv单步运行(gdb

22、)n(gdb)sv恢复程序运行(gdb)cv帮助(gdb)help command 58Gdb的使用切记点 v在Gcc编译选项中一定要加入-g。v只有在代码处于“运行”或“暂停”状态时才能查看变量值。v设置断点后程序在指定行之前停止 59Gdb调试v运行被调试程序,设置所有的能影响该程序的参数和变量。v保证被调试程序在指定的条件下停止运行。v当被调试程序停止时,让开发工程师检查发生了什么。v根据每次调试器的提示信息来做响应的改变,以便修正某个错误引起的问题60嵌入式程序调试-NFSNFSv熟悉Uboot的烧写方法和使用v按照实验知道配置tftp服务v按照实验知道配置NFS服务v利用NFS调试经

23、交叉编译后的程序61Uboot使用vPrint 查看当前开发板的环境变量vSetenv设置环境变量serverip ipaddr ethaddr bootagrs bootcmdvping测试网络连通性vTftp开发板与主机的配置与使用62NFS配置示意63整体的开发示意图64工程管理器-Makev工程管理器,顾名思义,是指管理较多的文件 vMake工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作 65Makefile vMakefile的作用是根据配置的情况,

24、构造出需要编译的源文件列表,然后分别编译,链接。vLinux内核中与Makefile相关的文件:顶层Makefile:整个内核配置、编译的总体控制文件。.config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果。arch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Makefile。各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的管理。Rules.make:规则文件,被所有的 Makefile 使用。66Makefile基本结构 vMak

25、efile是Make读入的唯一配置文件 由make工具创建的目标体(target),通常是目标文件或可执行文件要创建的目标体所依赖的文件(dependency_file)创建每个目标体时需要运行的命令(command)vMakefile格式target:dependency_filescommand例子hello.o:hello.c hello.hgcc c hello.c o hello.o67flags选项及其含义 v-f file指定file文件为描述文件,如果file参数为“-”符,那么描述文件指向标准输入。如果没有“-f”参数,则系统将默认当前目录下名为makefile或者名为Mak

26、efile的文件为描述文件。v-i 忽略命令执行返回的出错信息。v-s 沉默模式,在执行之前不输出相应的命令行信息。v-r 禁止使用build-in规则。v-n 非执行模式,输出所有执行命令,但并不执行。v-t 更新目标文件。v-q make操作将根据目标文件是否更新返回0或非0的状态信息。v-p 输出所有宏定义和目标文件描述。v-d Debug模式,输出有关文件和检测时间的详细信息。68MakefileMakefile规则 v隐式规则隐含规则能够告诉make怎样使用传统的技术完成任务,这样,当用户使用它们时就不必详细指定编译的具体细节,而只需把目标文件列出即可 vC编译:.c变为.o$(CC

27、)c$(CPPFLAGS)$(CFLAGS)vC+编译:.cc或.C变为.o$(CXX)-c$(CPPFLAGS)$(CXXFLAGS)69Makefile规则 v模式规则 模式规则是用来定义相同处理规则的多个文件的。它不同于隐式规则,隐式规则仅仅能够用make默认的变量来进行操作,而模式规则还能引入用户自定义变量,为多个文件建立相同的规则,从而简化了Makefile的编写 模式规则的格式类似于普通规则,这个规则中的相关文件前必须用“%”标明 70Make使用v直接运行make v选项-C dir读入指定目录下的Makefile-f file读入当前目录下的file文件作为Makefile-i

28、忽略所有的命令执行错误-I dir指定被包含的Makefile所在目录-n只打印要执行的命令,但不执行这些命令-p显示make变量数据库和隐含规则-s在执行命令时不显示命令-w如果make在执行过程中改变目录,打印当前目录名71Autotools简介v对于一个较大的项目而言编写Makefile难度较大vautotools系列工具只需用户输入简单的目标文件、依赖文件、文件目录等就可以轻松地生成Makefilevautotools工具还可以完成系统配置信息的收集,从而可以方便地处理各种移植性的问题vLinux上的软件开发一般都用autotools来制作Makefile 72 autotools使用

29、流程 73生成Makefile流程图 ./configureautomakeconfigure.scanconfigure.inaclocal.m4Makefile.amMakefile.inconfig.in.hconfigureautoscanaclocalautoheaderMakefile.am74使用Makefilevmake 键入make默认执行make all命令,即目标体为all vmake install 把该程序安装到系统目录中去 vmake clean 清除之前所编译的可执行文件及目标文件(object file,*.o)vmake dist 将程序和相关的文档打包为一个压缩文档以供发布 75为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益 嵌入式培训的PPT演示到此结束了,谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁