嵌入式Linux系统开发工具.ppt
《嵌入式Linux系统开发工具.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux系统开发工具.ppt(65页珍藏版)》请在三一办公上搜索。
1、嵌入式Linux系统开发工具,课程安排,Linux常用命令Linux上程序编写Linux上程序编译Linux上程序调试嵌入式Linux交叉开发过程,Linux常用命令,用户切换,变更用户:su+用户名;不加用户名默认为root用户,用户管理,添加用户账号:useradd+用户名更改对于用户的账号密码:passwd+用户名更方便直接的方法是在图形界面下维护用户信息,Linux常用命令,系统管理命令,显示系统进程列表ps el:显示所有进程及PID、时间、程序名、执行者等信息ps aux:除了-el内容外,还显示CPU、内存占用率、进程状态 终止、挂起进程kill+PID:杀死PID对应进程kil
2、l-9+PID:强制杀死PID对应进程killall+程序名:杀死程序对应的运行进程ctrl+c:终止当前控制台运行的程序ctrl+z:挂起当前控制台运行的程序fg:继续挂起的程序kill l:显示系统信号,杀死进程依靠向进程发送信号,Linux常用命令,内存、磁盘管理命令,查看磁盘分区:fdisk-l查看磁盘空间占用情况:df(默认单位为KB)统计目录或文件占用空间的大小:du a+目录或文件(默认单位为KB),文件系统挂载命令,挂载文件系统:mout+选项+类型+设备文件名+挂载点如:挂载U盘 mount(t vfat)/dev/udisk/mnt/udisk设备文件名可以通过fdisk
3、l 确定 卸载文件系统:umount+挂载点,Linux常用命令,文件创建,创建目录:mkdir p+目录名创建文件:touch+文件名创建链接:ln+目标+链接名硬链接:ln file file.hl符号链接:ln s file file.sl;ln s/home/jannzeng/wkdir,删除目录:rm fr+目录名删除文件:rm f+文件名移动目录或文件:mv+源文件或目录+目标文件或目录拷贝目录或文件:cp a 源文件或目录+目标文件或目录,文件删除、移动、拷贝,Linux常用命令,显示文件信息,显示文件信息显示详细信息:ls l+文件;不指定文件名则显示当前目录下所有文件;显示隐
4、藏文件信息:ls al,将隐藏文件一并显示文件属性显示当前路径pwd,Linux常用命令,修改文件属性,修改指定文件所有者:chown+文件所有者+文件修改指定文件组所有者:chgrp+文件组所有者+文件修改指定文件访问权限:chmod+权限+文件符号标记权限:chmod a+w(a-w)(a=w),xnf八进制数权限:chmod 644 xnf-R选项标识递归设置当前目录及其子目录要在Linux上执行程序,程序文件必须带可执行权限将多个命令写到一个脚本文件,如run.sh为脚本文件增加可执行权限:chmod u+x run.sh执行脚本文件:./run.sh,实现命令批处理,Linux常用命
5、令,压缩文件,对文件目录进行打包:tar+选项+打包后文件名+文件目录列表gzip格式:tar czvf/home/jannzengbz2格式:tar cjvf jannzeng.tar.bz2/home/jannzeng对文件目录进行解压:tar+选项+打包文件 gzip格式:tar xzvf bz2格式:tar xjvf解压到指定目录:tar xzvf C/,Linux常用命令,查找文件,在指定文件中搜索特定内容:grep+格式内容+文件及路径搜索etc目录及子目录下带jannzeng的文件:grep“jannzeng”/etc-r支持正则表达式:grep jann*/etc-r应用于管道
6、:ps aux|grep smbd;ls l grep a在指定目录中搜索文件:find+路径+-name+格式文件名在当前目录及子目录下查找bak结尾的文件:find./-name*.bak,Linux常用命令,显示文件内容,连接并显示指定一个或多个文件:cat+选项+文件列表查看配置文件内容:cat/etc/profile;cat n/etc/profile;cat b/etc/profile合并文件:cat hello1.txt hello2.txt hello3.txt附加文件:cat hello1.txt hello2.txt显示一屏文本:more+文件从头开始显示一屏:more/e
7、tc/profile;moremore显示暂停下来后,可以在末行输入交互命令:回车,显示下一行空格/Ctrl+f,向下滚一屏Ctrl+b,回显上一屏q,退出more,Linux常用命令,显示文件,比more更好用的less,支持随意浏览文件回车,向下移动一行y,向上移动一行空格,向下滚一屏b,向上滚一屏/pattern,按pattern格式搜索;n,匹配下一个;N,匹配上一个显示文件最前行:head/etc/profle显示文件最末行:tail/etc/profile,Linux常用命令,比较文件,比较两个不同的文件或不同目录下的两个同名文件比较两个文件:diff ruNa hello1.c
8、hello2.c比较两个文件,生成补丁文件:diff ruNa hello1.c hello2.c hello1.patch把生成的补丁文件应由在现有的代码上将hello2.c的改变合并到hell1.c:patch hello1.c hello1.patch cd/home/jannzeng;pach p2 hello1.c hello1.patch,Linux常用命令,IP地址维护,查看网络接口信息显示全部接口信息:ifconfig显示指定接口信息:ifconfig eth0配置网络接口信息暂停接口的工作:ifconfig eth0 down恢复接口的工作:ifconfig eth0 up配
9、置网络地址:ifconfig eth0 192.168.1.10 netmask,测试网络状况,测试目标联通情况:指定测试次数:ping 192.168.1.1 c 3,Linux常用命令,man查看联机帮助,格式:man+选项+关键字通常用法man-k command1 查询所有类似帮助文件信man-f command1 查询以command1开头所有相关帮助信息列man 5 command1 通过直接定位5获得帮助信息选项说明-a选项:显示所有匹配项;-w选项:显示手册文件路径;数字:限定手册类型,默从第一种类型开始查找交互命令:回车,向下翻一行;空格,向下翻一页;b,向上翻一页/patt
10、ern,按pattern格式查;n:匹配下一个;N:匹配上一个,Linux常用命令,man查看联机帮助,格式:man+选项+关键字通常用法man-k command1 查询所有类似帮助文件信man-f command1 查询以command1开头所有相关帮助信息列man 5 command1 通过直接定位5获得帮助信息选项说明-a选项:显示所有匹配项;-w选项:显示手册文件路径;数字:限定手册类型,默从第一种类型开始查找交互命令:回车,向下翻一行;空格,向下翻一页;b,向上翻一页/pattern,按pattern格式查;n:匹配下一个;N:匹配上一个,课程安排,Linux常用命令Linux上程
11、序编写Linux上程序编译Linux上程序调试嵌入式Linux交叉开发过程,Linux上程序编写,Linux下C开发过程,Linux上程序编写,文本编辑器种类,行编辑器:每次只能对一行进行操作:如Ed、Ex等全屏编辑器:可以对整个屏幕进行编辑,用户编辑的文件直接显示在屏幕上,修改的结果可以立即看出来,如Vi/Vim、Emacs等其实在Linux编辑文件,无非只有2种人:一种使用Vi/Vim,另一种使用EmacsVi只能使用字符文本命令操作,对环境要求不高,入门简单,但操作相对复杂些Emacs可以使用图形界面操作,操作相当简单些,但入门较麻烦,Linux上程序编写,Vi/Vim的使用,Vi用于修
12、改操作系统的配置文件,编写脚本,以及编程和修改程序代码,在各种UNIX/Linux都是相应版本,甚至可以在嵌入式开发板运行。Vim是增强版Vi,自动支持对 配置文件,C程序,Shell脚本和Makefile脚本的语法高亮。Vim没有菜单,只能通过命令操作,有三种工作模式:命令行模式:用于命令快捷键输入模式:用于文本输入末行模式:用于辅助操作,如行号、查找、保存、退出等,Linux上程序编写,Vi/Vim的使用,Vi用于修改操作系统的配置文件,编写脚本,以及编程和修改程序代码,在各种UNIX/Linux都是相应版本,甚至可以在嵌入式开发板运行。Vim是增强版Vi,自动支持对 配置文件,C程序,S
13、hell脚本和Makefile脚本的语法高亮。Vim没有菜单,只能通过命令操作,有三种工作模式:命令模式:用于命令快捷键插入模式:用于文本输入末行模式:用于辅助操作,如行号、查找、保存、退出等,Linux上程序编写,Vi/Vim模式切换,Linux上程序编写,Vi/Vim编辑命令,命令行模式下(n)dd-剪切n行,n不给则剪切当前行(n)yy-拷贝n行,n不给则拷贝当前行p-粘贴u-撤销当前操作,退回到上一次输入状态/+字符串+回车-查找指定字符串gg=G-对文件排版插入模式下ctrl+n-自动补全,Linux上程序编写,Vi/Vim编辑命令,末行模式下w+回车-保存当前输入;wq+回车-保存
14、并退出;q!+回车-不保存退出行号+回车-定位到指定行%s/被替换字符串/替换字符串/g+回车-执行全局替换e+文件路径名-打开指定文件sp-拆分窗ctrl+w-切换窗口,Linux上程序编写,Vi/Vim配置,支持自主配置,支持插件全局配置文件/etc/.vimrc根用户配置文件/root/.vimrc;插件目录/root/.vim,课程安排,Linux常用命令Linux上编写C程序Linux上程序编译Linux上程序调试嵌入式Linux交叉开发过程,Linux上程序编译,Gcc简介,GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C+和Object
15、C等语言编写的程序gcc功能强大,而且可以编译如C、C+、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言。gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译,Linux上程序编译,Gcc编译过程,Linux上程序编译,Gcc支持的文件惯用后续名,Linux上程序编译,预处理阶段,在该阶段,对包含的头文件(#include)和宏定义(#define、#ifdef等)进行处理。使用gcc的选项“-E”让gcc在预处理结束后停止编译过程:gcc E hello.c o hello
16、.i,编译阶段,gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作在检查无误后,gcc把代码翻译成汇编语言使用“-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码:gcc S hello.i o hello.s,Linux上程序编译,汇编阶段,把编译生成的“.s”文件(汇编码)转换成目标文件(机器码)使用gcc的选项“-c”只汇编,不链接:gcc c hello.s o hello.o,链接阶段,这里涉及到一个重要概念:库函数例如“printf”函数:在预处理中包含进”stdio.h”中只有函数声明,没有定义函数实现系统把这些函数的实现都放到名为的库文件中
17、去Gcc会到系统默认的库搜索路径”/usr/lib”下查找,链接到函数库,从而调用”printf”函数库有静态库(“*.a”)和动态库(“*.so”),默认使用动态库链接动态库:gcc hello.o o hello链接静态库:gcc static hello.o o hello,Linux上程序编译,Gcc常用选项,Linux上程序编译,Gcc告警选项,Linux上程序编译,Gcc优化选项,gcc可以对代码进行优化,它通过编译选项“-On”来控制优化代码的生成,其中n是一个代表优化级别的整数不同的优化级别对应不同的优化处理工作“-O”主要进行线程跳转(Thread Jump)和延迟退栈(De
18、ferred Stack Pops)两种优化“-O2”除了完成所有“-O1”级别的优化之外,同时还要进行一些额外的调整工作,如处理器指令调度等“-O3”则还包括循环展开和其他一些与处理器特性相关的优化工作使用原则:调试时不使用任何优化选项,最终发行的时候才考虑对其优化,Linux上程序编译,Gcc库选项,用于对静态库、动态库的打包与链接,Linux上程序编译,Gcc宏选项,-Dmacro用于编译阶段定义宏,将在C语言学习中展开使用,Gcc调试选项,-g:用于在可执行文件包含调试信息用于进行gdb调试gcc-Wall-g-I./inc main.c src/add.c-o main,课程安排,L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 系统 开发 工具
链接地址:https://www.31ppt.com/p-6569748.html