嵌入式Linux开发环境搭建



《嵌入式Linux开发环境搭建》由会员分享,可在线阅读,更多相关《嵌入式Linux开发环境搭建(46页珍藏版)》请在装配图网上搜索。
1、Click to edit Title Slide,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,嵌入式,Linux,开发环境搭建,广州嵌入式软件公共技术支持中心,梁老师,2007,年,04,月,嵌入式系统定义,嵌入到对象体中的专用计算机系统,三要素:,嵌入、专用、计算机,嵌入式系统的特点,:,由三要素引出,嵌入性,:嵌入到对象体系中,有对象环境要求,专用性,:软、硬件按对象要求裁减,计算机,:实现对象的智能化功能,嵌入式系统的应用,嵌入式Linux开发环境,嵌入式系统通常是
2、一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。,解决办法:,首先在通用计算机上编写程序;,然后通过,交叉编译,生成目标平台上可以运行的二进制代码格式;,最后,再下载到目标平台上,的特定位置上运行。,嵌入式Linux开发环境,关于交叉编译,在一种平台上编译出能在另一种平台(体系结构不同)上运行的程序。,在,PC,平台,(X86 CPU),上编译出能运行在,arm,平台上的程序,编译得到的程序在,X86 CPU,平台上是不能运行的,必须放到,arm,平台上才能运行。,用来编译这种程序的编译器就叫,交叉编译器,。,为了不跟本地编译器混淆,交叉编译器的名字
3、一般都有前缀。例如:,arm-linux-gcc,嵌入式Linux开发环境,嵌入式Linux开发环境,嵌入式Linux开发环境,需要交叉开发环境(,Cross Development Environment,)的支持是嵌入式应用软件开发时的一个显著特点。,交叉编译器只是交叉开发环境的一部分。,交叉开发环境,是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用,宿主机目标机模式,。,嵌入式Linux开发环境,宿主机目标板模式,宿主机(,Host,)是一台通用计算机,它,通过串口或者以太网接口与目标机通信,。宿主机的软硬件资源比较丰富,能够大大提高嵌入式应用软件
4、的开发速度和效率。,目标板(,Target,),应用程序实际运行的平台,或者是能够替代实际运行环境的仿真系统。软硬件资源通常都比较有限。,嵌入式Linux开发环境,宿主机目标机模式,首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件;,然后通过串口或者以网络将交叉编译生成的目标代码传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试;,最后目标机在特定环境下脱离宿主机单独运行。,嵌入式Linux开发环境,开放的交叉开发环境的典型代表是GNU工具链目前已经能够支持x86、ARM、MIPS、PowerPC等多种处理器。,商业的交叉开发环境则主要有M
5、etrowerks CodeWarrior、ARM Software Development Toolkit等等。,嵌入式Linux开发环境,GNU,交叉工具链,交叉编译器,例如,arm-linux-gcc,交叉汇编器,例如,arm-linux-as,交叉链接器,例如,arm-linux-ld,用于处理可执行程序和库的一些基本工具。例如,arm-linux-strip,嵌入式Linux开发环境,GNU,交叉工具链的下载,ARM,官方网站下载,可以从该站点下载以及,3.2,工具链,嵌入式Linux开发环境,包的安装:,mkdir/usr/local/arm,cp cross-2.95.3.tar
6、.bz2/usr/local/arm,添加环境变量,在文件,/etc/bashrc,文件最后添加:,export PATH=/usr/local/arm/2.95.3/bin:$PATH,工具,链安装完,成。,嵌入式Linux开发环境,GNU交叉工具链的常用工具介绍,嵌入式Linux开发环境,主要工具的使用,arm-linux-gcc,的使用,arm-linux-gcc o hello hello.c,arm-linux-ar,和,arm-linux-ranlib,的使用,建立一个静态库,arm-linux-ar r libhello.a h1.o h2.o,为静态库建立索引,arm-linu
7、x-ar s libhello.a,arm-linux-ranlib libhello.a,由静态库产生可执行文件,arm-linux-gcc-o hello hello.c lhello L./,arm-linux-gcc-o hello hello.c libhello.a,嵌入式Linux开发环境,主要工具的使用,arm-linux-strip,的使用,移除所有的符号信息,-strip-all,Cp hello hello1,arm-linux-strip,-strip-all,hello,-rwxr-xr-x 1 arm root,2856,7,月,3 15:14 hello,-rwx
8、r-xr-x 1 arm root,13682,7,月,3 15:13 hello1,被,strip,后的,hello,程序比原来的,hello1,程序要小很多。,移除调试符号信息,-g,arm-linux-strip -g hello,-rwxr-xr-x 1 arm root,4501,7,月,3 15:17 hello,-rwxr-xr-x 1 arm root,13682,7,月,3 15:13 hello1,远程访问目标板,如何观察应用程序在目标板的运行情况,即查看程序的输出信息?,通过串口线连接宿主机和目标板。,配置串口做为目标板的输出设备。,例如在交叉编译目标板的,linux,内
9、核时,配置指定终端为串口:,noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttyS0,115200,在宿主机上通过串口通信软件查看目标板系统的运行情况。,远程访问目标板,超级终端的使用,打开超级终端,超级终端程序通常位于附件中的通讯中,,“Hypertrm”,图标所指即是超级终端程序。,为新的连接取一个名字,远程访问目标板,超级终端的使用,选择连接目标板的串口,远程访问目标板,超级终端的使用,设置串口,注意必须选择,无流控制,,否则只能看到输出而不能输入。串口波特率是,11520,远程访问目标板,超级终端的使用,当所有的连接参数都设置好以
10、后,打开目标板电源开关,就会看到系统,的启动信息,当,Linux,启动以后,超级终端就相当于虚拟终端,可通过它来操作目标板。,选择超级终端“文件”菜单下的“另存为,”,,保存该连接设置,以便于以后再连接时就不必重新执行以上设置了,远程访问目标板,超级终端的使用,打开目标板电源开关,就会看到系统,的启动信息,当,Linux,启动以后,超级终端就相当于虚拟终端,可通过它来操作目标板。,远程访问目标板,minicom,的使用,minicom,的设置:,minicom-s,远程访问目标板,minicom,的使用,选择串口,选择菜单中的“,Serial port setup”,,按回车,进入如下图所示界
11、面。按“,A”,以设置“,Serial Device”,(串口,1-/dev/ttyS0,,串口,2-/dev/ttyS1),远程访问目标板,minicom,的使用,设置波特率,按“,E”,键进入设置“,bps/par/Bits”,(波特率)界面。再按“,I”,以设置波特率为,115200,。,远程访问目标板,minicom,的使用,设置无流控制,按回车退回到上一级菜单,按“,F”,键设置“,Hardware Flow Control”,为“,NO”,,其他选项使用缺省值。,远程访问目标板,minicom,的使用,保存设置,再选择“,Exit”,退出设置模式。刚才的设置被保存到“,/etc/m
12、inirc.dfl”,。,设置完毕,打开目标板电源的电源开关,,minicom,输出目标板的启动信息,当,Linux,启动以后,,minicom,就相当于虚拟终端,可通过它来操作目标板。,远程访问目标板,minicom,的使用,退出,minicom,同时按下“,Ctrl+A”,键,紧接着再按下“,Q”,键,在跳出的窗口中,选择“,Yes”,。,下载程序映象到目标板,通过串口下载,使用三星公司的,DNW,软件。设置波特率,115200,、端口号、下载地址,0 x30200000,上电启动开发板,进入,BIOS,界面,选择,2,串口下载,点击“,serial port”,菜单,选择“,Transm
13、it”,选项,下载程序映象到目标板,通过,usb,下载,同样使用三星公司的,DNW,软件。设置波特率,115200,、端口号、下载地址,0 x30200000,上电启动开发板,进入,BIOS,界面,接上,USB DEVICE,的连接线,选择“,0”,,选择,USB,下载,注意用,USB,下载要先在,PC,端装好驱动程序,保证,USB,连接好。,有时,PC,端出现发现无法识别的,USB,设时,可在,BIOS,中输入,ESC,取消下载,等几秒钟再输入“,0”,启动,USB,下载。出现“,Now USB is connected”,说明,USB,正确枚举。,点击“,USB Port”Transmit
14、”,选项。,下载程序映象到目标板,通过,TFTP,方式下载,TFTP,协议是简单的文件传输协议,适合目标板,Bootloader,的使用。(,u-boot,、,vivi,),TFTP,文件传输基于,UDP,。,通过,TFTP,来传输目标板启动需要的内核映象文件,zImage,传输速度快,使用方便。,下载程序映象到目标板,通过,TFTP,方式下载,tftp,分服务器和客户端。,在宿主机开启,tftp,服务,设置好,tftp,的根目录内容,在目标板开启,tftp,客户端程序。,在目标板的,bootloader,交互节目中通过,tftpboot,命令下载内核。,tftpboot 0 x3020000
15、0 zImage,下载程序映象到目标板,通过,TFTP,方式下载,Linux,的,tftp,服务器的配置,编辑,/etc/xinetd.d/tftp,只有在安装了,tftp,服务后,才会出现,tftp,文件。,修改其中,disable,和,server_args,项,其余可保持不变。,Service tftp,socket type=dgram,protocol=udp,wait=yes,user=root,server=/usr/sbin/in.tftpd,server_args=-s/tftpboot-,设置,tftp,服务输出目录。,disable=no-,默认为,yes,,应修改成,n
16、o,per_source=11,cps=100 2,flags=IPv4,下载程序映象到目标板,通过,TFTP,方式下载,重启,xinetd,服务,使得更改的配置有效,Service xinetd restart,确认,tftp,服务是否已经开启,netstat -au,在目标板启动,tftp,客户端程序,tftpboot 0 x30200000 zImage,下载信息:,Filename zImage.,Load address:0 x30200000,Loading:,#,#,#,done,Bytes transferred=913880(df1d8 hex),下载程序映象到目标板,通过挂载,NFS,方式下载,NFS,服务就是将宿主机的一个目录通过网络可以被挂载到其他计算机上,并且,作为其他计算机的一个目录,。,在嵌入式开发中,通过,NFS,可以很方便的将修改的文件通过,NFS,传输到目标板上。不用反复烧写镜像文件。,下载程序映象到目标板,通过挂载,NFS,方式下载,NFS,的使用分服务器端和客户端,服务器端提供要共享的文件,客户端通过挂载“,mount”,实现对共享文件的访问操作
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题党课讲稿:以高质量党建保障国有企业高质量发展
- 廉政党课讲稿材料:坚决打好反腐败斗争攻坚战持久战总体战涵养风清气正的政治生态
- 在新录用选调生公务员座谈会上和基层单位调研座谈会上的发言材料
- 总工会关于2025年维护劳动领域政治安全的工作汇报材料
- 基层党建工作交流研讨会上的讲话发言材料
- 粮食和物资储备学习教育工作部署会上的讲话发言材料
- 市工业园区、市直机关单位、市纪委监委2025年工作计划
- 检察院政治部关于2025年工作计划
- 办公室主任2025年现实表现材料
- 2025年~村农村保洁员规范管理工作方案
- 在深入贯彻中央8项规定精神学习教育工作部署会议上的讲话发言材料4篇
- 开展深入贯彻规定精神学习教育动员部署会上的讲话发言材料3篇
- 在司法党组中心学习组学习会上的发言材料
- 国企党委关于推动基层党建与生产经营深度融合工作情况的报告材料
- 副书记在2025年工作务虚会上的发言材料2篇