欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    嵌入式培训ppt课件.ppt

    • 资源ID:1685084       资源大小:1.05MB        全文页数:76页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式培训ppt课件.ppt

    嵌入式培训班级:电信10-2组员:陈浩聪 杨杰城 冯永健培训时间:2013 12 2112 25,培训内容,嵌入式系统开发简介Linux入门及其环境搭建嵌入式Linux下的应用程序调试技巧Make工程管理器,嵌入式系统简介,嵌入式系统开发,嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。,后PC时代,据统计每年只有10-20%的计算机芯片是为台式PC或膝上电脑而设计的。每年又有1万个新的嵌入式系统计划产生,而且越来越多的系统需要复杂的嵌入式操作系统。2006年的全球产销量为十亿部,其中中国市场为1亿部。嵌入式系统设计制造的CPU每年大概有十数十亿片。,常见嵌入式CPU,微控制器(MCU)ARM7和ARM9的区别(3、5流水线)数字信号处理器(DSP)(4流水线)片上系统(SOC)可编程片上系统(SOPCNios2),典型的嵌入式系统与PC机,处理器,存储器,输入,输出,软件(操作系统/驱动程序/应用程序),嵌入式系统与PC,嵌入式系统与PC (2),嵌入式系统的特点,嵌入式系统低功耗、体积小,专用性强。嵌入式系统与PC机的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,能够把PC机中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。嵌入式系统的硬件和软件都必须高效率地设计,系统要精简。操作系统一般和应用软件集成在一起。对软件代码质量要求很高。应该尽最大可能避免死机的情况发生。嵌入式系统开发需要专门的开发工具和开发环境。,如何选择嵌入式CPU?,ARMPowerPCMIPSXscaleDSPX86,典型的嵌入式操作系统,LinuxuC/OS Windows CE VxWorks Palm OS Symbian,嵌入式系统开发流程,嵌入式系统开发的内容,嵌入式Linux开发流程,电路设计(第1版),BootLoader,内核移植,编译器移植,电路设计(第2版),电路设计(第3版),设备驱动程序开发,应用程序开发,嵌入式Linux开发模式,Linux,JTAG,CPUCORE,Flash,Target,Host,串口,网口,NFS模式,Root fs,嵌入式Linux开发模式(2),Linux,JTAG,CPUCORE,Flash,Target,Host,串口,网口,Ramdisk模式,Linux入门,Linux简介,Linus Torvalds于1991编写Linux是一个Unix兼容的系统,大部分通用的Unix工具和程序都可以在Linux系统下运行。UNIX-堂兄 Linux表弟使用GNU工具开发:gcc,glibc,binutils,make等GNU = GNU is Not UnixGPL = General Public License,一些发行版,RedHatFedora CoreSuseDebianUbuntuCent OSAisanux,认识Linux内核版本,主版本1.02.02.22.42.6 2,3年更新稳定版2.0.402.2.12 2.4.18 2.6.71,2月更新稳定版更新2.6.23.1 2.6.23.71,2周更新,Linux体系结构,用户空间,内核空间,shell,命令、程序或shell脚本,文件系统,I/O,中断 异常处理,内存管理,Cache,调度,系统调用(system calls),内核,内核结构,Linux优点,提供了先进的网络支持多任务、多用户符合IEEE POSIX标准核心能仿真FPU支持数十种文件系统格式完全运行于保护模式开放源代码采用先进的内存管理机制,更加有效地利用物理内存,Linux分区,Linux分区的形式Swap分区根分区/Boot分区其他,Linux的基本命令,Shell命令行使用技巧 :Tab自动补齐、 ctrl+a+e等cd:转换目录ls:列出文件名(根目录浏览)ll:查看文件属性(文件属性与权限 )cp:复制文件(cp /mnt/hgfs/share/*.* /root/)mv:移动文件(可用于文件或目录的改名)rm:删除文件(rm rf (目标))mkdir:创建目录rmdir:删除目录,Linux的基本命令(2),cat:显示文本文件less/more:分屏显示文件grep:查找字符串(ls all | grep *)head:显示文件开头tail:显示文件结尾sort:按次序显示文件uniq:去掉文件中重复的行diff:比较两个文件file:测试文件内容,Linux的基本命令(3),echo:显示文本date:显示时间和日期gzip:压缩文件gunzip:解压缩文件bzip2:压缩文件tar:打包和解包文件whereis:查找命令which:查找实用程序,Linux的基本命令(4),s:列出进程df :检查文件系统空间占用情况 du:显示磁盘空间的使用情况 kill:杀死进程chmod :改变文件或目录的访问权限 chown:改变文件或目录的属主和组 chgrp:改变文件或目录所属的组 info:获得帮助,Linux的基本命令(5),wd:显示当前工作目录的绝对路径rpm:文件包管理clear:清屏ln:创建文件链接who:列出系统上的用户名单write:发送消息talk:与其他用户通信man:获取帮助,熟悉嵌入式开发平台熟悉引导启动代码和内核的烧写,需要熟悉的内容,开发板硬件基本配置开发板与PC机连接方式PC机相关配置熟悉bootloader的使用深入理解开发内容巩固开发流程,Bootloader烧写示范,Linux环境(虚拟机)简介超级终端和DNW的配置Bootloader的显示信息简介(标准BIOS)内核、文件系统的演示,嵌入式Linux下的应用程序开发,开发工具-编辑器vi,vi的基本使用方法,输入模式,命令模式,vi-开始编辑,新增 (append)- a 从 光 标 所 在 位 置 後 面 开 始 新 增 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。- A 从 光 标 所 在 列 最 後 面 的 地 方 开 始 新 增 资 料。 插 入 (insert) - i 从 光 标 所 在 位 置 前 面 开 始 插 入 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。- I 从 光 标列 的 第 一 个 非 空 白 字 符 前 面 开 始 插 入 资 料。 开 始 (open)- o 在 光 标 所 在 列 下 新 增 一 列 并 进 入 输 入 模 式。- O 在 光 标 所 在 列 上 方 新 增 一 列 并 进 入 输 入 模 式。,vi-删除与修改,x 删除光标所在字符。dd 删除光标所在的列。r 修改光标所在字符,r後接著要修正的字符R进入取代状态,新增资料会覆改原先资料, 直到按ESC回到指令模式下为止。s 删除光标所在字符,并进入输入模式。S 删除光标所在的列,并进入输入模式。,vi-退出命令,不保存退出不保存强制性退出保存编辑存入文件filename 中强制性存入文件filename 中()保存并退出(shift+zz),vi-光标移动命令,移动到当前单词的开始移动到当前单词的结尾向前移动一个单词向前移动一个字符向上移动一行向下移动一行向后移动一个字符,vi-改变与替换操作命令,替换光标所在的字符替换字符序列替换一个单词同替换光标所在的前一字符替换自光标位置至行尾的所有字符同替换当前行,vi-拷贝与粘贴命令,将光标所在单词拷入剪贴板将光标至行尾的字符拷入剪贴板同将当前行拷入剪贴板将剪贴板中的内容粘贴在光标后将剪贴板中的内容粘贴在光标前,利用Vi编写一个helloworld程序!,开发工具 -编译器GCC,全称为GNU CC ,GNU项目中符合ANSI C标准的编译系统 编译如C、C+、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言一个交叉平台编译器 ,适合在嵌入式领域的开发编译,GCC编译器,GNU Compiler CollectionC, C+, Objective-C, Fortran, Java, Adahttp:/gcc.gnu.org,GCC 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,GCC简介,gcc所支持后缀名解释 .cC原始程序.C/.cc/.cxxC+原始程序.mObjective-C原始程序.i已经过预处理的C原始程序.ii已经过预处理的C+原始程序.s/.S汇编语言原始程序.h预处理文件(头文件).o目标文件.a/.so编译后的库文件,编译器的作用,Gcc的编译流程分为四个步骤 预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking),理解交叉编译及环境建立,GCC 交叉编译器,GNU BinutilsGNU Binutils 的主要工具有两个,一个是连接程序ld,另外一个是汇编程序as。其主要目的是为GNU 系统,提供汇编和连接工具。GNU GCCGNU GCC 就是上面提到的GCC,GCC 主要是为GNU 系统提供C 编译器。现在支持多种语言,这其中包括C/C+、Fortran、Java、Objective-C、甚至还有Ada。GNU GLibc用于定义系统调用和其它一些基本的函数调用。,GCC交叉编译器的生成,第1步,取得Binutils、GCC、Glibc 源码。第2步,配置并编译Binutils 取得我们所需要的汇编和连接程序。第3步,配置并编译GCC 源码生成GCC 编译器。一般是C 编译器首先生成,然后以这个为基础在结合下一步生成的Glibc 的C 函数库,再编译生成其它编译器。第4步,配置Glibc 并编译生成Glibc 的C 函数库。第5步,再次配置和编译GCC 源码,生成其它语言的编译器,如C+编译器等。,工具链代码结构,TARGET常用的值,交叉编译流程,开发环境快速建立,下载 arm-elf-tools-.sh 执行:sh arm-elf-tools- . sh配置环境变量,环境变量,Linux环境变量PATH有关配置文件etc/profile etc/inputrc etc/bashrc /etc/profile.d.bash_profile .bashrcetc/profile.bash_profile.bashrc+$HOME/bin |alias + /etc/bashrc对比:Windows的环境变量,设置交叉编译器的环境变量,etc/profile文件中的PATH定义了找存放命令的路径,若把交叉编译器的路径在PATH中进行定义,则执行命令时就可以找到对应的命令。示例:使用2.95.3版本的交叉编译器将usr/local/arm/2.95.3/bin路径添加到etc/profile文件中,并用将原来的3.4.4的屏蔽(如果有的话),然后在etc路径下执行source profile。然后arm-linux-gcc v,如果显示是2.9.53。则说明环境配置成功。更改环境变量有几种方法,其中之一是更改etc/profile文件(开机启动时配置)中的PATH,将相冲突的屏蔽掉。另一种方法是重新定义PATH,然后用export导出(export命令可以修改,但重启之后?):可编辑/etc/bashrc文件,在最后增加路径 export PATH=/usr/local/arm/2.95.3/bin:|$PATH,则以后编译内核或其它程序均可用arm-linux- 来制定交叉编译器。,嵌入式Linux下的应用程序调试技巧,调试器-Gdb调试流程,首先使用gcc对test.c进行编译,注意一定要加上选项-g # gcc -g test.c -o test # 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 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),Gdb调试流程,查看文件(gdb) l设置断点 (gdb) b 6查看断点情况 (gdb) info b运行代码 (gdb) r,查看变量值(gdb) p n单步运行 (gdb) n(gdb) s恢复程序运行 (gdb) c帮助 (gdb) help command,Gdb的使用切记点,在Gcc编译选项中一定要加入-g。只有在代码处于“运行”或“暂停”状态时才能查看变量值。设置断点后程序在指定行之前停止,Gdb调试,运行被调试程序,设置所有的能影响该程序的参数和变量。保证被调试程序在指定的条件下停止运行。当被调试程序停止时,让开发工程师检查发生了什么。根据每次调试器的提示信息来做响应的改变,以便修正某个错误引起的问题,嵌入式程序调试-NFS,熟悉Uboot的烧写方法和使用按照实验知道配置tftp服务按照实验知道配置NFS服务利用NFS调试经交叉编译后的程序,Uboot使用,Print 查看当前开发板的环境变量Setenv设置环境变量serverip ipaddr ethaddr bootagrs bootcmdping测试网络连通性Tftp开发板与主机的配置与使用,NFS配置示意,整体的开发示意图,工程管理器-Make,工程管理器,顾名思义,是指管理较多的文件 Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作,Makefile,Makefile的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,链接。Linux内核中与Makefile相关的文件: 顶层Makefile:整个内核配置、编译的总体控制文件。 .config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果。 arch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Makefile。 各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的管理。 Rules.make:规则文件,被所有的 Makefile 使用。,Makefile基本结构,Makefile是Make读入的唯一配置文件 由make工具创建的目标体(target),通常是目标文件或可执行文件要创建的目标体所依赖的文件(dependency_file)创建每个目标体时需要运行的命令(command)Makefile格式target: dependency_filescommand例子hello.o: hello.c hello.hgcc c hello.c o hello.o,flags选项及其含义,-f file指定file文件为描述文件,如果file参数为“-”符,那么描述文件指向标准输入。如果没有“-f”参数,则系统将默认当前目录下名为makefile或者名为Makefile的文件为描述文件。-i 忽略命令执行返回的出错信息。-s 沉默模式,在执行之前不输出相应的命令行信息。-r 禁止使用build-in规则。-n 非执行模式,输出所有执行命令,但并不执行。-t 更新目标文件。-q make操作将根据目标文件是否更新返回0或非0的状态信息。-p 输出所有宏定义和目标文件描述。-d Debug模式,输出有关文件和检测时间的详细信息。,Makefile规则,隐式规则隐含规则能够告诉make怎样使用传统的技术完成任务,这样,当用户使用它们时就不必详细指定编译的具体细节,而只需把目标文件列出即可 C编译:.c变为.o$(CC) c $(CPPFLAGS) $(CFLAGS)C+编译:.cc或.C变为.o$(CXX) -c $(CPPFLAGS) $(CXXFLAGS),Makefile规则,模式规则 模式规则是用来定义相同处理规则的多个文件的。它不同于隐式规则,隐式规则仅仅能够用make默认的变量来进行操作,而模式规则还能引入用户自定义变量,为多个文件建立相同的规则,从而简化了Makefile的编写 模式规则的格式类似于普通规则,这个规则中的相关文件前必须用“%”标明,Make使用,直接运行make 选项-C dir读入指定目录下的Makefile-f file读入当前目录下的file文件作为Makefile-i忽略所有的命令执行错误-I dir指定被包含的Makefile所在目录-n只打印要执行的命令,但不执行这些命令-p显示make变量数据库和隐含规则-s在执行命令时不显示命令-w如果make在执行过程中改变目录,打印当前目录名,Autotools简介,对于一个较大的项目而言编写Makefile难度较大autotools系列工具只需用户输入简单的目标文件、依赖文件、文件目录等就可以轻松地生成Makefileautotools工具还可以完成系统配置信息的收集,从而可以方便地处理各种移植性的问题Linux上的软件开发一般都用autotools来制作Makefile,autotools使用流程,生成Makefile流程图,使用Makefile,make 键入make默认执行make all命令,即目标体为all make install 把该程序安装到系统目录中去 make clean 清除之前所编译的可执行文件及目标文件(object file, *.o) make dist 将程序和相关的文档打包为一个压缩文档以供发布,嵌入式培训的PPT演示到此结束了,谢谢!,

    注意事项

    本文(嵌入式培训ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开