嵌入式开发环境的建立PPT课件_第1页
嵌入式开发环境的建立PPT课件_第2页
嵌入式开发环境的建立PPT课件_第3页
嵌入式开发环境的建立PPT课件_第4页
嵌入式开发环境的建立PPT课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章开发环境的建立 主讲教师沈阳tonyshen 韶关学院计算机科学学院2011年9月 本章目标 Linux操作系统简介Linux操作系统全面分析TQ2440samsungs3c2440开发板 PDF 建立交叉编译环境安装smb xinetd tftp 使用开发环境 宿主机 目标机开发模式 一Linux操作系统简介 作者 LinusTorvalds 芬兰 1991年9月 发布Linux0 01版本 官方网址 http www linux org吉详物 Linux简介 LinusTorvaldsLinux的创始人 RichardStallman自由软件运动的精神领袖 GNU计划以及自由软件基金会的创立者 Linux的具有如下特点 符合POSIX标准多用户 多任务丰富的网络功能良好的可移植性支持数十种文件系统格式开源 免费 Linux发行版RedHatLinuxFedoraCentOSSuSEDebianUbuntu红旗Linux Linux系统结构 Linux系统的核心框图如图所示 Linux系统核心框图 Linux内核 内核独立于普通应用程序 它一般处于系统态 拥有受保护的内存空间和访问硬件的所有权限 应用程序在用户空间执行 它们只能看到允许它们使用的部分系统资源 并且不能使用某些特定的系统功能 不能直接访问硬件 二Linux操作系统全面分析 1 Linux常用命令2 Vi编辑器3 gcc编译器4 make makefile5 Shell编程6 Linux系统编程入门 2 1Linux常用命令 Linux命令格式 command options parameter1parameter2 如 ls l home参考 Linux指令详解 2 2Vi简介 Linux提供了vi的多个版本 或者说多个克隆 最流行的有 elvis nvi vile vim 每个克隆都具有比最初的vi更多的特性 RedHatLinux提供的 bin vi 是vim的最小版本 加载起来很快 此外还提供了 usr bin vim 是vim的完全功能版 Vi的基本操作 参考 Linux指令详解Vim中文手册使用vi自带教程 vimtutor 2 3gcc简介 gcc是符合ISO标准的C编译器 它在需要的时候调用其它组件 预处理器 汇编器 连接器 gcc GCC很多人把GCC看成只是一个C编译器 其实GCC是GNUCompilerCollection的简称 目前GCC可以支持C C ADA JAVA Fortran PASCAL等多种高级语言 GCC主要包括以下一些工具 cpp 预处理器 gcc C编译器 g C 编译器 等编译器 gcc识别的主要文件扩展名如下 cC语言代码 C ccC 语言代码 i预处理后的C语言代码 ii预处理后的C 语言代码 s S汇编语言代码 o目标代码 a静态链接库 程序编译时使用 so动态链接库 程序运行时使用 参考 Linux指令详解GCC中文手册 2 4GNUmake工具的使用 GNUmake是一种代码维护工具 其主要任务是根据Makefile文件定义的规则和步骤 完成整个软件项目的代码生成和维护工作 GNUmake将整个软件项目的代码分开放在几个小的源文件中 在改动其中一个文件的时候 可以只对该文件进行重新编译 然后重新链接所有的目标文件 使用make编译软件源码包一般步骤是 configure 生成Makefile文件 makeclean 进行清理工作 make 编译源文件 makeinstall 安装可执行文件 参考 GNUmake中文手册跟我一起写Makefile主要了解 Makefile的规则Makefile中的变量 Make工具 基本规则 目标 依赖关系 指令 2 5Shell简介 shell是一种具备特殊功能的可执行程序 它是介于使用者和UNIX linux操作系统内核间的一个接口 shell是一个命令解释器 它从输入设备读取命令 再将其转为计算机可以了解的指令 然后执行它 在Linux中 shell又不仅是简单的命令解释器 而且是一个全功能的编程环境 shell是一种具备特殊功能的可执行程序 它是介于使用者和UNIX linux操作系统内核间的一个接口 shell是一个命令解释器 它从输入设备读取命令 再将其转为计算机可以了解的指令 然后执行它 在Linux中 shell又不仅是简单的命令解释器 而且是一个全功能的编程环境 参考 Linux命令及shell使用主要了解 shell变量条件测试控制结构 TQ2440samsungs3c2440开发板 PDF 目标机介绍 四建立交叉编译环境 4 1交叉编译原理 什么是交叉编译 在一种计算机环境中运行的编译程序 能编译出在另外一种环境下运行的代码 这个编译过程就叫交叉编译 简单地说 就是在一个平台上生成另一个平台上的可执行代码 这里所谓的平台 实际上包含两个概念 体系结构 操作系统同一个体系结构可以运行不同的操作系统 同一个操作系统也可以在不同的体系结构上运行 这里所谓的平台 实际上包含两个概念 体系结构 操作系统同一个体系结构可以运行不同的操作系统 同一个操作系统也可以在不同的体系结构上运行 4 2安装交叉编译工具链 什么是EABI Embeddedapplicationbinaryinterface 即嵌入式应用二进制接口 是描述可连接目标代码 库目标代码 可执行文件影像 如何连接 执行和调试 以及目标代码生成过程 和c c 语言接口的规范 是编译连接工具的基础规范 也是研究它们工作原理的基础 五安装smb xinetd tftp 使用开发环境 附Linux文件系统和基本命令 Linux文件系统Linux常用命令 系统目录 用颜色代表不同文件 蓝色 目录绿色 可执行文件红色 压缩文件浅蓝色 链接文件灰色 其他文件 理解Linux文件系统标准 根目录 系统中所有的目录都是从根目录开始 bin binary 存放常用命令 boot 在这个目录下存放的都是系统启动时要用到的程序 在使用grub或lilo引导linux的时候 会用到这里的一些信息 dev dev是设备 device 的英文缩写 这个目录对所有的用户都十分重要 因为在这个目录中包含了所有linux系统中使用的外部设备 但是这里并不是放的外部设备的驱动程序 etc etc这个目录是linux系统中最重要的目录之一 在这个目录下存放了系统管理时要用到的各种配置文件和子目录 我们要用到的网络配置文件 文件系统 x系统配置文件 设备配置信息 设置用户信息等都在这个目录下 sbin 这个目录是用来存放系统管理员的系统管理程序 home 如果建立一个用户 用户名是 jl 那么在 home目录下就有一个对应的 home jl路径 用来存放用户的主目录 lib lib是库 library 英文缩写 这个目录是用来存放系统动态连接共享库的 几乎所有的应用程序都会用到这个目录下的共享库 mnt 这个目录在一般情况下也是空的 可以临时将别的文件系统挂在这个目录下 proc 可以在这个目录下获取系统信息 这些信息是在内存中 由系统自己产生的 root 如果用户是以超级用户的身份登录的 这个就是超级用户的主目录 tmp 用来存放不同程序执行时产生的临时文件 usr 占空间最大的目录 用户的很多应用程序和文件几乎全在这个目录中 Linux目录结构 存放命令的目录 bin sbin usr bin usr sbin usr local bin opt optional安装大的应用程序 tmp 存放各程序执行时所产生的临时文件 lost found 系统修复过程中恢复的文件 dev device设备 b block块设备c character字符设备Linux的硬件设备对应文件光驱设备 dev cdrom软驱 dev fd0ls l命令可查看设备类型 看看首字符 borc etc配置文件所在目录 文件系统配置 etc fstab etc environment增加环境变量等 修改PATH等 如配置JAVA J2EE开发环境 etc passwd 系统能识别的用户清单纯文本显示加密了的命令 普通用户可读 etc shadow 超级用户才能读 用于保护加密口令的安全隐藏口令 home 用户默认主目录 home usrnameuseraddusername创建新用户passwdusername添加密码 lib库文件目录 lib系统所用的库如查询C程序库版本 ls lib libc lib modules 2 6 32 22 generic kernel drivers驱动模块 usr lib应用程序使用的库如MySQL的API usr用户目录 usr doc usr share doc帮助文档man命令查看命令的手册页info命令查看命令的帮助命令 help usr src linux headers 2 6 32 22Linux源代码 usr文件系统部分内容 bin几乎所有的用户命令程序sbin系统管理的命令include应用成员库 C语言头文件lib库文件和数据文件local本地安装文件share共享文件和数据 了解所用硬盘信息 mount所挂装分区df h硬盘分区的使用情况uname a所用Linux版本号 Linux常用文件操作命令 mkdir创建目录rm r f递归删除目录 并且不提示rmdir删除空目录pwd查看当前目录cd切换目录ls list 格式 ls 参数 路径或文件名 参数 a不隐藏任何以 字符开始的项目 l使用较长格式列出信息 R递归显示所有目录和文件 d不递归 Linux常用文件操作操作 more less文件 查看文件内容cat显示所指文件的内容mv move mv 参数 I fcp copy 格式 cp 参数 f force 直接覆盖 I提示是否覆盖 R递归 rmdir命令rmdir命令的功能是删除目录 其语法格式为rmdir p s dirname rmdir不能删除安装文件系统的根目录 显示当前目录显示当前目录的命令是pwd命令 该命令使用的语法格式如下 pwd清屏命令 clear 普通文件 文件 字符文件 普通文件 特殊文件 普通文件 目录文件 普通文件 块设备文件 硬链接文件 软链接文件 文件类型 普通文件 文本文件 二进制文件目录文件 d 文件夹链接类型 ln创建的文件特定文件 设备文件 b c 和管道文件 p ls l可以看到文件的类型 dev Linux用户类型 系统管理员 root 系统管理员 SA 主要负责Linux操作系统的平滑操作文件拥有中 u 创建文件的用户称为它的拥有者组拥有者 g 用户组可给一个名 就像给用户一个名一样其他用户 o 不属于特定组的这些用户 文件目录权限 rwxrwxrwxownergroupothersrwxr x 111101000750chmod750文件 目录名 改变文件访问权限 chmod改变文件访问权限符号标记法chomd ugoa rwx filename fileliste g chmodg wo x usr local 数字标记法4 100 读2 010 写1 001 执行0 000 无权限e g chmod755 usr local 文件比较 diff找出两个文本文件的差异diff 参数 w忽略所有空格差别 I忽略大小写cmp比较任意两个文件cmp para find 作用 查找文件或目录用法 find查找路径匹配条件动作常用匹配条件 typed表示目录f表示文件l表示链接b块文件p管道文件name 字符串 iname 字符串 不区分大小写user用户名group组名permxxxxsizenatimen过去n天被访问过的mtimen在过去n天中被修改过的 find的范例 find namels txtfind namels txt printfind name c printfind name f printfind name f execls l find namef okrm find perm644 mtime4find name c o name d file file文件名查看文件内型 文件的硬链接 相当于一个文件的两个副本 指向同一数据存储区特点 两个文件 长度相等 总长度不变删除其中一个文件 另一个仍然存在修改其中一个文件 另一个也修改 文件的符号链接 相当于一个文件的快捷方式特点 仅保存一个指针 长度小于原文件删除符号链接 不影响原文件删除原文件 符号链接即没有意义 ln命令 link 功能 产生链接文件用法 ln s来源文件目标文件加 s参数 symboliclink不加 s参数 hardlink范例 ln s bin less usr bin lesslnmyfilemylinkfile 软件的分发格式和安装命令 rpmrpm qa rpm查询是否安装了某个包rpm ivha rpm安装tar cvf创建一个包文件 tar要打包的文件打包 createvf 创建文件详细信息命名tar xvf解包一个包文件tar tvf查看报的内容tar czvf打包并压缩tar czvflog tar gzlogtar xzvflog tar gz解压到当前目录 文件压缩 1 gzip压缩文件gzip命令是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令 既方便又好用 gzip命令的使用语法格式如下 gzip 选项 压缩 解压缩 的文件名gzip命令各选项的说明如表2 9所示 表2 9gzip命令的常用选项 2 文件打包tartar可以对文件和目录进行打包 利

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论