嵌入式交叉编译环境.pptx
《嵌入式交叉编译环境.pptx》由会员分享,可在线阅读,更多相关《嵌入式交叉编译环境.pptx(81页珍藏版)》请在咨信网上搜索。
1、四月 22,20242024/4/22 周一淮阴师范学院淮阴师范学院 嵌入式系统课程组嵌入式系统课程组嵌入式系统导论嵌入式系统导论第第2 2章章 嵌入式系统交叉编译环嵌入式系统交叉编译环境境四月 22,20242024/4/22 周一第2章嵌入式交叉编译环境2.1嵌入式交叉编译环境嵌入式交叉编译环境12.2 LinuxLinux系统安装系统安装22.3Windows2.3Windows和和LinuxLinux混合开发模式混合开发模式32.4Linux2.4Linux下常用命令下常用命令42.5GCC2.5GCC编译器编译器52.7Make2.7Make工具的使用工具的使用782.6GDB调试器
2、调试器62.82.8嵌入式交叉编译环境的搭建嵌入式交叉编译环境的搭建四月 22,20242024/4/22 周一嵌入式系统中没有足够的硬件资源支持运行开嵌入式系统中没有足够的硬件资源支持运行开发工具和调试工具,因此嵌入式软件开发采用发工具和调试工具,因此嵌入式软件开发采用交叉编译、调试的方式。交叉编译、调试的方式。一般把交叉编译的主机称为宿主机,也就是普一般把交叉编译的主机称为宿主机,也就是普通的通的PC,而把软件实际运行的环境称为目标,而把软件实际运行的环境称为目标机。机。在编译阶段,借助宿主机编译出目标机的可执在编译阶段,借助宿主机编译出目标机的可执行代码,在调试阶段,一般应用软件的调试器
3、行代码,在调试阶段,一般应用软件的调试器和被调试的程序运行在同一台计算机上,但在和被调试的程序运行在同一台计算机上,但在嵌入式软件中,调试器运行在宿主机上,被调嵌入式软件中,调试器运行在宿主机上,被调试的程序运行在特定的嵌入式系统硬件平台上,试的程序运行在特定的嵌入式系统硬件平台上,他们之间通过串口或以太网口进行交互。他们之间通过串口或以太网口进行交互。2.1嵌入式交叉编译环境简介嵌入式交叉编译环境简介四月 22,20242024/4/22 周一交叉开发环境:宿主机调试通道目标机交叉开发环境:宿主机调试通道目标机“在谁的上面编写运行在谁上的程序的问题在谁的上面编写运行在谁上的程序的问题”2.1
4、嵌入式交叉编译环境简介嵌入式交叉编译环境简介四月 22,20242024/4/22 周一2.2Linux系统安装系统安装安装虚拟机安装虚拟机VMware在在Vmware下进行安装前的配置下进行安装前的配置在在VMware下安装下安装Linux系统系统四月 22,20242024/4/22 周一混合开发模式的必要:混合开发模式的必要:由于初学者对由于初学者对Linux系统不是很熟悉,通常会系统不是很熟悉,通常会采用采用Windows下强大的编辑工具,通过共享再下强大的编辑工具,通过共享再在在Linux系统下进行编译、调试等工作。系统下进行编译、调试等工作。(1)Windows下的文本编辑工具下的
5、文本编辑工具(2)VMware虚拟机设置共享(安装虚拟机工具)虚拟机设置共享(安装虚拟机工具)(3)samba服务(提供服务(提供windows和和Linux下程序下程序的共享)的共享)(4)nfs服务(提供服务(提供Linux和和Linux下程序的共享)下程序的共享)2.3Windows和和Linux混合开发模式混合开发模式四月 22,20242024/4/22 周一(1)VMware虚拟机工具安装虚拟机工具安装2.3Windows和和Linux混合开发模式混合开发模式四月 22,20242024/4/22 周一(1)VMware虚拟机工具安装虚拟机工具安装2.3Windows和和Linux
6、混合开发模式混合开发模式解压缩文件解压缩文件tarzxvfVMwareTools-5.0.0-13124.tar.gzC/home安装文件安装文件进入解压缩后的文件夹:进入解压缩后的文件夹:cdvmware-tools-distrib/安装:安装:./vmware-install.pl四月 22,20242024/4/22 周一(1)VMware虚拟机设置共享虚拟机设置共享-12.3Windows和和Linux混合开发模式混合开发模式设置共享设置共享四月 22,20242024/4/22 周一(1)VMware虚拟机设置共享虚拟机设置共享-12.3Windows和和Linux混合开发模式混合开
7、发模式访问共享访问共享在在LinuxLinux的的/mnt/hgfs/mnt/hgfs目录下可以访问目录下可以访问windowswindows下共享的文件夹下共享的文件夹cd/mnt/hgfscd/mnt/hgfs四月 22,20242024/4/22 周一2.4Linux下常用命令下常用命令ls:显示当前目录下的所有文件和目录。:显示当前目录下的所有文件和目录。ls-a:可以看到隐藏的文件,如以:可以看到隐藏的文件,如以.开头的文件。开头的文件。pwd:显示当前目录路径。:显示当前目录路径。ps:列举当前:列举当前TTY下所有进程下所有进程ps-A:列举所有:列举所有cd目录名:进入目录目录
8、名:进入目录mkdir目录名:创建目录目录名:创建目录rmdir目录名:删除空目录目录名:删除空目录rm-rf目录名:强行删除整个目录内容(无法恢复),其中目录名:强行删除整个目录内容(无法恢复),其中f表示表示强制不进行提示,强制不进行提示,r表示目录递归。表示目录递归。man表示帮助命令表示帮助命令注:注:LINUX下的文件和目录是区分大小写的。下的文件和目录是区分大小写的。四月 22,20242024/4/22 周一2.4Linux下常用命令下常用命令压缩备份压缩备份bzip2:.bz2文件的压缩程序。bunzip2:.bz2文件的解压缩程序。tar:备份文件。tar是用来建立,还原备份
9、文件的工具程序,它可以加入,解开备份文件内的文件。四月 22,20242024/4/22 周一2.4Linux下常用命令下常用命令解压,解压,.tar.bz2文件:文件:tar-xjf文件名文件名解压缩解压缩:.bin.gzgzip-d文件名文件名例例:把把abc.tar解压到解压到/myftp,命令是啥命令是啥?tarxvfabc.tar-C/myftpbz2解压解压1:bzip2-dFileName.bz2解压解压2:bunzip2FileName.bz2压缩:压缩:bzip2-zFileName.tar.bz2解压:解压:tarjxvfFileName.tar.bz2压缩:压缩:tarj
10、cvfFileName.tar.bz2DirName四月 22,20242024/4/22 周一2.4Linux下常用命令下常用命令.bz解压解压1:bzip2-dFileName.bz解压解压2:bunzip2FileName.bz压缩:未知压缩:未知.tar.bz解压:解压:tarjxvfFileName.tar.bz压缩:未知压缩:未知四月 22,20242024/4/22 周一2.4Linux下常用命令下常用命令.tgz解压:解压:tarzxvfFileName.tgz压缩:压缩:tarFileName.tgzDirName.tar.tgz解压:解压:tarzxvfFileName.t
11、ar.tgz压缩:压缩:tarzcvfFileName.tar.tgzFileName.zip解压:解压:unzipFileName.zip压缩:压缩:zipFileName.zipDirName 四月 22,20242024/4/22 周一2.4Linux下常用命令下常用命令-文本编辑命令文本编辑命令vi(重要)(重要)Command Mode(命令模式)1.这是执行vi后的缺省模式2.此时键盘输入当作命令3.命令有大小写之区分Input Mode(插入模式)1.使用 a、i、o、c、r、s 进入插入模式2.用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上3.按下 ESC
12、键即可回到 Command Mode四月 22,2024Last Mode(末行模式)在 Command Line 按下:即可进入该模式1.用来进行保存文件、打开文档或环境的设定2.命令有大小写之分2.4Linux下常用命令下常用命令-文本编辑命令文本编辑命令vi四月 22,2024四月 22,2024vi的进入和内容输入进入:vi 文件名 输入文件内容 (进入输入模式)新增(append)a 从光标所在位置后面开始新增内容 A 从光标所在行最后面的地方开始新增内容。插入(insert)i 从光标所在位置前面开始插入内容 I 从光标所在行的第一个非空白字符前面开始插入资料。开始(open)o
13、在光标所在行下新增一行并进入输入模式。O 在光标所在行上新增一行并进入输入模式。(命令模式)四月 22,2024命令模式1 1、光标的移动、光标的移动h h 左移一个字符 l l 右移一个字符j j 下移一行 k k 上移一行w,Ww,W 跳至后一个字的开头(W忽略标点)b,Bb,B 跳至前一个字的开头(B忽略标点)e e 移动到后一个字的末尾 至本行第一个非空字符$至行尾 0 0 至行首H H 移动到当前窗口的第一列 M M 移动到当前窗口的中间列 L L 移动到视窗的最后一列)光标所在位置到下个句子的第一个字母 (光标所在位置到该句子的第一个字母 光标所在位置到该段落的最后一个字母 光标所
14、在位置到该段落的第一个字母四月 22,20241 1、光标的移动、光标的移动(续)续)nH 将光标移到屏幕的第 n 行 nL 将光标移到屏幕的倒数第 n 行CTRL-d 向下半页CTRL-f 向下一页 CTRL-u 向上半页 CTRL-b 向上一页 n-减号移动到上一行的第一个非空白字符,前面加上数字可以指定移动到以 上 n 行n+加号移动到下一行的第一个非空白字符,前面加上数字可以指定移动到以下 n 行命令模式四月 22,20242 2、删除、删除x x 删除光标所在字符 X 删除光标前面的字符 s s 删除光标所在字符,并进入输入模式S S 删除光标所在的行,并进入输入模式 dd 删除光标
15、所在的行 D 从光标位置开始删除到行尾 d d与光标移动命令的组合与光标移动命令的组合命令模式四月 22,20243 3、修改、修改 r r 修改光标所在字符,r 后接着要修改的字符。如,rc 可以用字符“c”替换光标所指向的当前字符 R R 进入替换状态,新增内容会覆盖原先内容,直到按 ESC 回到命令模式下为止 cccc 修改光标所在行 C C 修改从光标位置到该行末尾的内容 c与光标移动命令的组合命令模式四月 22,20244 4、复制和移动、复制和移动yy 复制当前行到内存缓冲区nyy 复制 n 行内容到内存缓冲区y与光标移动的组合p 将缓冲区的内容粘贴到光标的后面P 将缓冲区的内容粘
16、贴到光标的前面另:在末行模式下实现移动:n1,n2 m n3:把 n1到n2 行内容搬到第 n3 行后命令模式四月 22,20245 5、搜索字符串、搜索字符串/pattern 移至下一个包含pattern的行?pattern 移至上一个包含pattern的行/往下重复查找?往上重复查找n 在同一方向重复查找N在相反方向重复查找/pattern/+n移至下一个pattern所在行后的第n行?pattern?-n 移至上一个Pattern所在行前的第n行6 6、其他、其他 u 撤销前一条命令的结果命令模式*.$/包含在查找字符串中,要用转义字符()四月 22,2024末行模式1 1、文件的保存和
17、退出、文件的保存和退出:w w 保存保存:q q 退出退出:w!w!强制保存强制保存:q!q!强制退出强制退出:wq wq 保存退出保存退出:wq!wq!强制保存退出强制保存退出四月 22,2024末行模式2、字符串的替换、字符串的替换 :s/str1/str2/:s/str1/str2/用字符串用字符串 str2 str2 替换行中首次出现的替换行中首次出现的字符串字符串 str1str1 :s/str1/str2/g :s/str1/str2/g 用字符串用字符串 str2 str2 替换行中所有出现替换行中所有出现的字符串的字符串 str1str1 :.,$s/str1/str2/g :
18、.,$s/str1/str2/g 用字符串用字符串 str2 str2 替换正文当前替换正文当前行到末尾所有出现的字符串行到末尾所有出现的字符串 str1str1 :1,$s/str1/str2/g :1,$s/str1/str2/g 用字符串用字符串 str2 str2 替换正文中所替换正文中所有出现的字符串有出现的字符串 str1str1 :g/str1/s/str2/g :g/str1/s/str2/g 功能同上功能同上 四月 22,2024末行模式末行模式其他:其他::n :n 将光标移到第将光标移到第 n n 行行 编辑多个文件编辑多个文件vi file1 file2 vi file
19、1 file2:n :n 编辑下一个文件编辑下一个文件:e filename:e filename 编辑指定文件编辑指定文件四月 22,20242024/4/22 周一gcc(GNUCCompiler)能将能将C、C+语言源程序、汇编语言程序和目标语言源程序、汇编语言程序和目标程序编译、连接成可执行文件。是程序编译、连接成可执行文件。是GNU推出的功推出的功能强大、性能优越的多平台编译器,可以在多种能强大、性能优越的多平台编译器,可以在多种硬体平台上编译出可执行程序,其执行效率与一硬体平台上编译出可执行程序,其执行效率与一般的编译器相比平均效率要高般的编译器相比平均效率要高20%30%。2.5
20、GCC编译器编译器四月 22,20242024/4/22 周一gcc的执行过程的执行过程使用使用gcc由由C语言源代码文件生成可执行文件的过语言源代码文件生成可执行文件的过程要经历四个相互关联的步骤程要经历四个相互关联的步骤 1、预处理预处理(也称预编译,也称预编译,Preprocessing)对头文件(对头文件(include)、预编译语句(如)、预编译语句(如define等)进行分析等)进行分析预处理器预处理器cpp2、编译、编译(Compilation)将预处理后的文件转换成汇编语言将预处理后的文件转换成汇编语言,生成文件生成文件.s编译器编译器ccl3、汇编、汇编(Assembly)由
21、汇编变为目标代码由汇编变为目标代码(机器代码机器代码),生成,生成.o的文件的文件汇编器汇编器as4、连接、连接(Linking)连接目标代码连接目标代码,生成可执行程序生成可执行程序链接器链接器ld2.5GCC编译器编译器四月 22,20242024/4/22 周一gcc的执行过程(ESc)四个相互关联的步骤四个相互关联的步骤 源文件源文件.c1、.c源文件源文件2、生成、生成.i文件文件3、生成文件、生成文件.s4、生成、生成.o的文件的文件5、生成可执行程序、生成可执行程序31-E-E-S-S-c-c预处理预处理编译编译汇编汇编链接链接2.5GCC编译器编译器四月 22,20242024
22、/4/22 周一GNUC的使用的使用基本语法基本语法 gccoptionsfilenames说明:说明:在在gcc后面可以有多个编译选项,同时进行多个编译后面可以有多个编译选项,同时进行多个编译操作。操作。当你不用任何选项编译一个程序时,当你不用任何选项编译一个程序时,GCC将会建立将会建立(假定假定编译成功编译成功)一个名为一个名为a.out的可执行文件。的可执行文件。2.5GCC编译器编译器四月 22,20242024/4/22 周一gcc选项选项-o选项选项你能用你能用-o编译选项来为将产生的可执行文件指定一个文编译选项来为将产生的可执行文件指定一个文件名来代替件名来代替 a.out。例
23、:例:gccocountcount.c-c选项:告诉选项:告诉GCC仅把源代码编译为目标代码仅把源代码编译为目标代码,而取消连而取消连接的步骤。缺省时接的步骤。缺省时GCC建立的目标代码文件有一个建立的目标代码文件有一个.o的扩的扩展名。展名。例:例:gccctest2.c-E只运行只运行 C预编译器。预编译器。-S编译选项告诉编译选项告诉 gcc在为在为 C代码产生了汇编语言文件后代码产生了汇编语言文件后停止编译。停止编译。2.5GCC编译器编译器四月 22,20242024/4/22 周一-includefile功能相当于在代码中使用#include例子用法:gcc-o example e
24、xample.c-include/usr/include/stdio.h-I 用来指定头文件目录用来指定头文件目录./usr/include目录一般是不用指定的目录一般是不用指定的,但是如果头文件不在但是如果头文件不在/usr/include里我们就要用里我们就要用-I参数指定了,比如头文件放在参数指定了,比如头文件放在/myinclude目录里,那编译命令行就要加上目录里,那编译命令行就要加上-Imyinclude参数了,如果不加你会得到一个参数了,如果不加你会得到一个“xxxx.h:Nosuchfileordirectory”的错误。的错误。2.5GCC编译器编译器四月 22,202420
25、24/4/22 周一编译下列代码并运行下列代码编译下列代码并运行下列代码#includeintmain()doublecounter;doubleresult;doubletemp;for(counter=0;counter4000.0*4000.0*4000.0/20.0+2030;counter+=(5-3+2+1)/4)temp=counter/1239;result=counter;printf(Resultis%lfn,result);return0;2.5GCC编译器编译器四月 22,20242024/4/22 周一2.5GCC编译器编译器四月 22,20242024/4/22 周
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 交叉 编译 环境
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。