欢迎来到天天文库
浏览记录
ID:27682537
大小:793.51 KB
页数:61页
时间:2018-12-02
《嵌入式系统基础-第九讲-嵌入式交叉编译解读》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统基础第九讲嵌入式交叉编译基础liangzhang@xidian.edu.cn2021/7/31嵌入式交叉编译基础1嵌入式交叉编译环境12NFS服务23Windows和Linux混合开发模式34GCC编译器46Make工具的使用65GDB调试器5交叉开发环境:宿主机+调试通道+目标机“在谁的上面编写运行在谁上的程序的问题”1嵌入式交叉编译环境简介交叉编译就是在一个平台上生成另一个平台上的可执行代码。平台分别指的是主机平台Host和目标平台Target。就我们在ARM平台上移植Linux来说,Host是一台一般的PC
2、机,它通过串口或网络接口与Target通信;Target是arm-linux平台(这里说的arm指的是平台所使用的CPU是ARM9处理器,linux指的是运行的操作系统是Linux)。我们在Host上开发程序,并在这个平台上运行交叉编译器CrossComplier,编译我们的程序,而由CrossComplier生成的程序将在Target上运行。1嵌入式交叉编译环境简介需要交叉编译的原因:首先,在项目的起始阶段,目标平台尚未建立,因此需要做交叉编译,以生成我们所需要的Bootloader以及kernel(因为Bootload
3、er和kernel的源码需要经过交叉编译后才可以在目标平台上运行);其次,当目标平台能启动之后,由于目标平台上资源的限制,当我们编译大型程序时,依然可能需要用到交叉编译。1嵌入式交叉编译环境简介NFS服务可以使网络上的同为Linux或Unix系统主机共享文件系统(NetFileSystem)。NFS可以将远程文件系统载入在本地文件系统下。远程的硬盘、目录和光驱都可以变成本地主机目录树中的一个子目录。载入后与处理自己的文件系统一样使用即可。不只方便,也节省了重复保存文件的空间、传输文件的时间及网络带宽。2NFS服务如何进行程
4、序调试??编译后如何,共享等等NFS特点NFS系统也使用C/S体系结构,就是有服务器端与客户端服务器端提供共享的文件系统,必须把文件系统输出(export)出去客户端则要把文件系统载入到自己的系统下使用NFS,需要在服务器端设置输出,在客户端设置载入2NFS服务NFS服务器端配置(1)关闭防火墙(2)配置共享目录----客户端主机IP范围(3)主机IP(4)启动NFS服务NFS客户端(1)设置客户端IP地址(2)挂载共享目录mount-tnfs主机ip:共享目录挂载点注意事项:关闭防火墙,主机与客户端在同一ip段mount
5、-tnfs–onolock主机ip:/arm2410s/host2NFS服务混合开发模式的必要:由于初学者对Linux系统不是很熟悉,通常会采用Windows下强大的编辑工具,通过共享再在Linux系统下进行编译、调试等工作。(1)VMware虚拟机设置共享(2)SSH客户端软件(3)Windows下的文本编辑工具3Windows和Linux混合开发模式(1)VMware虚拟机设置共享-13Windows和Linux混合开发模式(2)SSH客户端软件SSH的英文全称:SecureShellSSH把所有传输的数据进行加密,并
6、且SSH客户端软件可将传输的数据进行压缩后再传输。(1)PuTTY(2)SecureShellClient3Windows和Linux混合开发模式(3)Windows下的文本编辑工具①UltraEdit-32②SourceInsight3Windows和Linux混合开发模式gcc(GNUCCompiler)能将C、C++语言源程序、汇编语言程序和目标程序编译、连接成可执行文件。是GNU推出的功能强大、性能优越的多平台编译器,可以在多种硬体平台上编译出可执行程序,其执行效率与一般的编译器相比平均效率要高20%~30%。4G
7、CC编译器gcc的执行过程使用gcc由C语言源代码文件生成可执行文件的过程要经历四个相互关联的步骤∶1、预处理(也称预编译,Preprocessing)——对头文件(include)、预编译语句(如define等)进行分析[预处理器cpp]2、编译(Compilation)——将预处理后的文件转换成汇编语言,生成文件.s[编译器ccl]3、汇编(Assembly)——由汇编变为目标代码(机器代码),生成.o的文件[汇编器as]4、连接(Linking)——连接目标代码,生成可执行程序[链接器ld]4GCC编译器四个相互关联
8、的步骤∶源文件.c1、.c源文件2、生成.i文件3、生成文件.s4、生成.o的文件5、生成可执行程序-E-E-S-S-c-c预处理编译汇编链接4GCC编译器GNUC的使用基本语法gcc[options][filenames]说明:在gcc后面可以有多个编译选项,同时进行多个编译操作。当你不用任何选项编译
此文档下载收益归作者所有