嵌入式Linux开发环境搭建.ppt
《嵌入式Linux开发环境搭建.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux开发环境搭建.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式Linux开发环境搭建 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望嵌入式系统定义嵌入式系统定义嵌入到对象体中的专用计算机系统嵌入到对象体中的专用计算机系统三要素:三要素:嵌入、专用、计算机嵌入、专用、计算机嵌入式系统的特点嵌入式系统的特点:由三要素引出由三要素引出嵌入性嵌入性:嵌入到对象体系中,有对象环境要求:嵌入到对象体系中,有对象环境要求专用性专用性:软、硬件按对象要求裁减:软、硬件按对象要求裁减计算机计算机:实现对象的智能化功能:实现对象的智能化功
2、能嵌入式系统的嵌入式系统的应用应用嵌入式嵌入式Linux开发环境开发环境嵌入式系统通常是一个资源受限的系统,因此直接在嵌入嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。可能的。解决办法:解决办法:首先在通用计算机上编写程序;首先在通用计算机上编写程序;然后通过然后通过交叉编译交叉编译生成目标平台上可以运行的二进制生成目标平台上可以运行的二进制代码格式;代码格式;最后最后再下载到目标平台上再下载到目标平台上的特定位置上运行。的特定位置上运行。嵌入式嵌入式Linux开发环境开发环境关于交
3、叉编译在一种平台上编译出能在另一种平台(体系结构不同)在一种平台上编译出能在另一种平台(体系结构不同)上运行的程序。上运行的程序。在在PC平台平台(X86CPU)上编译出能运行在上编译出能运行在arm平台上的平台上的程序,编译得到的程序在程序,编译得到的程序在X86CPU平台上是不能运行平台上是不能运行的,必须放到的,必须放到arm平台上才能运行。平台上才能运行。用来编译这种程序的编译器就叫用来编译这种程序的编译器就叫交叉编译器交叉编译器。为了不跟本地编译器混淆,交叉编译器的名字一般都为了不跟本地编译器混淆,交叉编译器的名字一般都有前缀。例如:有前缀。例如:arm-linux-gcc嵌入式嵌入
4、式Linux开发环境开发环境嵌入式嵌入式Linux开发环境开发环境嵌入式嵌入式Linux开发环境开发环境需要交叉开发环境(需要交叉开发环境(CrossDevelopmentEnvironment)的支持是嵌入式应用软件开发时的一个)的支持是嵌入式应用软件开发时的一个显著特点。显著特点。交叉编译器只是交叉开发环境的一部分。交叉编译器只是交叉开发环境的一部分。交叉开发环境交叉开发环境是指编译、链接和调试嵌入式应用软件的环是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机目标机模式宿主机目标机模式。嵌入式嵌
5、入式Linux开发环境开发环境宿主机目标板模式宿主机目标板模式宿主机(宿主机(Host)是一台通用计算机,它)是一台通用计算机,它通过串口或者通过串口或者以太网接口与目标机通信以太网接口与目标机通信。宿主机的软硬件资源比较。宿主机的软硬件资源比较丰富,能够大大提高嵌入式应用软件的开发速度和效丰富,能够大大提高嵌入式应用软件的开发速度和效率。率。目标板(目标板(Target),应用程序实际运行的平台,或者),应用程序实际运行的平台,或者是能够替代实际运行环境的仿真系统。软硬件资源通是能够替代实际运行环境的仿真系统。软硬件资源通常都比较有限。常都比较有限。嵌入式嵌入式Linux开发环境开发环境宿主
6、机目标机模式宿主机目标机模式首先利用宿主机上丰富的资源和良好的开发环境开发首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件;和仿真调试目标机上的软件;然后通过串口或者以网络将交叉编译生成的目标代码然后通过串口或者以网络将交叉编译生成的目标代码传输并装载到目标机上,并在监控程序或者操作系统传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试;的支持下利用交叉调试器进行分析和调试;最后目标机在特定环境下脱离宿主机单独运行。最后目标机在特定环境下脱离宿主机单独运行。嵌入式嵌入式Linux开发环境开发环境开放的交叉开发环境的典型代表是开放的交叉开发环
7、境的典型代表是GNU工具链目工具链目前已经能够支持前已经能够支持x86、ARM、MIPS、PowerPC等多种处理器。等多种处理器。商业的交叉开发环境则主要有商业的交叉开发环境则主要有MetrowerksCodeWarrior、ARMSoftwareDevelopmentToolkit等等。等等。嵌入式嵌入式Linux开发环境开发环境GNU交叉工具链交叉工具链交叉编译器,例如交叉编译器,例如arm-linux-gcc交叉汇编器,例如交叉汇编器,例如arm-linux-as交叉链接器,例如交叉链接器,例如arm-linux-ld用于处理可执行程序和库的一些基本工具。例如用于处理可执行程序和库的一
8、些基本工具。例如arm-linux-strip嵌入式嵌入式Linux开发环境开发环境GNU交叉工具链的下载交叉工具链的下载ARM官方网站下载官方网站下载www.arm.linux.org.uk可以从该站点下载可以从该站点下载2.95.3以及以及3.2工具链工具链ftp:/ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-2.95.3.tar.bz2ftp:/ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-3.2.tar.bz2嵌入式嵌入式Linux开发环境开发环境cross-2.95.3.ta
9、r.bz2包的安装:包的安装:1.mkdir/usr/local/arm2.cpcross-2.95.3.tar.bz2/usr/local/arm3.tarzxvfcross-2.95.3.tar.bz24.添加环境变量添加环境变量在文件在文件/etc/bashrc文件最后添加:文件最后添加:exportPATH=/usr/local/arm/2.95.3/bin:$PATH5.工具链安装完成。工具链安装完成。嵌入式嵌入式Linux开发环境开发环境GNU交叉工具链的常用工具介绍交叉工具链的常用工具介绍嵌入式嵌入式Linux开发环境开发环境主要工具的使用主要工具的使用arm-linux-gcc
10、的使用的使用arm-linux-gccohellohello.carm-linux-ar和和arm-linux-ranlib的使用的使用建立一个静态库建立一个静态库arm-linux-arrlibhello.ah1.oh2.o为静态库建立索引为静态库建立索引arm-linux-arslibhello.aarm-linux-ranliblibhello.a由静态库产生可执行文件由静态库产生可执行文件arm-linux-gcc-ohellohello.clhelloL./arm-linux-gcc-ohellohello.clibhello.a嵌入式嵌入式Linux开发环境开发环境主要工具的使用主
11、要工具的使用arm-linux-strip的使用的使用移除所有的符号信息移除所有的符号信息-strip-allCphellohello1arm-linux-strip-strip-allhello-rwxr-xr-x1armroot28567月月315:14hello-rwxr-xr-x1armroot136827月月315:13hello1被被strip后的后的hello程序比原来的程序比原来的hello1程序要小很多。程序要小很多。移除调试符号信息移除调试符号信息-garm-linux-strip-ghello-rwxr-xr-x1armroot45017月月315:17hello-rwx
12、r-xr-x1armroot136827月月315:13hello1远程访问目标板远程访问目标板如何观察应用程序在目标板的运行情况,即查看如何观察应用程序在目标板的运行情况,即查看程序的输出信息?程序的输出信息?通过串口线连接宿主机和目标板。通过串口线连接宿主机和目标板。配置串口做为目标板的输出设备。配置串口做为目标板的输出设备。例如在交叉编译目标板的例如在交叉编译目标板的linux内核时,配置指定终端为串口:内核时,配置指定终端为串口:noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttyS0,115200在宿主机上通过串口通信软件查看目
13、标板系统的运行在宿主机上通过串口通信软件查看目标板系统的运行情况。情况。远程访问目标板远程访问目标板超级终端的使用超级终端的使用打开超级终端打开超级终端超级终端程序通常位于附件中的通讯中,超级终端程序通常位于附件中的通讯中,“Hypertrm”图标所指即是超级终端程序。图标所指即是超级终端程序。为新的连接取一个名字为新的连接取一个名字远程访问目标板远程访问目标板超级终端的使用超级终端的使用选择连接目标板的串口选择连接目标板的串口远程访问目标板远程访问目标板超级终端的使用超级终端的使用设置串口设置串口注意必须选择注意必须选择无流控制无流控制,否则只能看到输出而不能输,否则只能看到输出而不能输入。
14、串口波特率是入。串口波特率是11520远程访问目标板远程访问目标板超级终端的使用超级终端的使用当所有的连接参数都设置好以后,打开目标板电源开当所有的连接参数都设置好以后,打开目标板电源开关,就会看到系统关,就会看到系统的启动信息,当的启动信息,当Linux启动以后,启动以后,超级终端就相当于虚拟终端,可通过它来操作目标板。超级终端就相当于虚拟终端,可通过它来操作目标板。选择超级终端选择超级终端“文件文件”菜单下的菜单下的“另存为另存为”,保存,保存该连接设置,以便于以后再连接时就不必重新执行以该连接设置,以便于以后再连接时就不必重新执行以上设置了上设置了远程访问目标板远程访问目标板超级终端的使
15、用超级终端的使用打开目标板电源开关,就会看到系统打开目标板电源开关,就会看到系统的启动信息,当的启动信息,当Linux启动以后,启动以后,超级终端就相当于虚拟终端,可通超级终端就相当于虚拟终端,可通过它来操作目标板。过它来操作目标板。远程访问目标板远程访问目标板minicom的使用的使用minicom的设置的设置:minicom-s远程访问目标板远程访问目标板minicom的使用的使用选择串口选择串口选择菜单中的选择菜单中的“Serialportsetup”,按回车,进入,按回车,进入如下图所示界面。按如下图所示界面。按“A”以设置以设置“SerialDevice”(串口(串口1-/dev/t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 开发 环境 搭建
限制150内