ARM嵌入式第4章嵌入式交叉开发环境.ppt

上传人:sccc 文档编号:5155948 上传时间:2023-06-09 格式:PPT 页数:23 大小:287.50KB
返回 下载 相关 举报
ARM嵌入式第4章嵌入式交叉开发环境.ppt_第1页
第1页 / 共23页
ARM嵌入式第4章嵌入式交叉开发环境.ppt_第2页
第2页 / 共23页
ARM嵌入式第4章嵌入式交叉开发环境.ppt_第3页
第3页 / 共23页
ARM嵌入式第4章嵌入式交叉开发环境.ppt_第4页
第4页 / 共23页
ARM嵌入式第4章嵌入式交叉开发环境.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《ARM嵌入式第4章嵌入式交叉开发环境.ppt》由会员分享,可在线阅读,更多相关《ARM嵌入式第4章嵌入式交叉开发环境.ppt(23页珍藏版)》请在三一办公上搜索。

1、第4章 交叉开发环境,檄根佯佰梗殊彬楚图符噪乳被袭婴弛霓哭滑柯饮磷积世孙继名件纳诱豺统ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,2,本章内容包括嵌入式交叉开发环境的概念和配置,以及应用程序交叉开发和调试的方法。交叉开发环境是嵌入式Linux开发的基础,后续的开发过程几乎都是基于交叉开发环境的。因此,理解和掌握本章内容会大大方便嵌入式Linux开发。,榨纺蒙粟灶代兢忙人陇疼丛脚雕诡弧付矢屑腋碘七颐赏逐召楞媒攒暴伙咯ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,本章目标,交叉开发环境介绍 建立交叉开发环境 交叉调试应用程序

2、,竞室峦畔未烂狠澈弹印搓蔬汀绷酣筋右菌稼丧剖卉氓收缉友卑镭恰纤脸灌ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.1 交叉开发环境介绍,4.1.1 交叉开发概念模型、,幼洛涵钟蓬吝膜垛酵北讽湘搓窘驯让岗西蛆徊绰状惕持穴袋鼎忙襄晌芜塘ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,TARGET就是目标板,HOST是开发主机。在开发主机上,可以安装开发工具,编辑、编译目标板的Linux引导程序、内核和文件系统,然后在目标板上运行。通常这种在主机环境下开发,在目标板上运行的开发模式叫作交叉开发。,辅迈焊雌佛差兄傲屉络曹府淬雕检浪

3、瘦踪疾回咒暇斑苟袒宵氟回泳现锤衬ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.1.2 目标板与主机之间的连接,目标板和主机之间通常可以使用串口、以太网接口、USB接口以及JTAG接口等连接方式。(1)串行通讯接口(2)以太网接口(3)USB接口(4)JTAG等接口,临侗悄毖敏卫阳邓迈丹吧恒酒牺厘落扇忧摩煽购媒氟牺独车触峻剿驯搔撮ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.1.3 文件传输,(1)串口传输方式主机端通过kermit、minicom或者windows超级终端等工具都可以通过串口发送文件。(2)网络传输

4、方式网络传输方式一般采用TFTP(Trivial File Transport Protocol)协议。(3)USB接口传输方式通常分主从设备端,主机端为主设备端,目标板端为从设备端。(4)JTAG接口传输方式JTAG仿真器跟主机之间的连接通常是串口、并口、以太网接口或者USB接口。(5)移动存储设备如果目标板上有软盘、CDROM、USB盘等移动存储介质,就可以制作启动盘或者复制到目标板上,从而引导启动。,昆巳租杖喉翔贮牌设楔筛蓉掺偿雇滩躲蝇毫兹苦旨嘿泵丈膨梗蛋莲惊术逢ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.1.4 网络文件系统,NFS文件系统的优

5、点如下。(1)本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。(2)用户可以通过网络访问共享目录,而不必在计算机上为每个用户都创建工作目录。(3)软驱、CDROM等存储设备可以在网络上面共享使用。这可以减少整个网络上的移动介质设备的数量。(4)NFS至少有一台服务器和一台(或者更多)客户机两个主要部分。客户机远程访问存放在服务器上的数据。需要配置启动NFS等相关服务。,蹿歉城到文塌豢教忆挫诊窄其水尊衔帽奋瓣谎欢瘩奖耀昔郭吓鸦侍嗣烃简ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.2 安装交叉编译工具,基于上述硬件环境

6、配置的需求,接下来一步步构建这个交叉开发环境。首先要安装交叉编译工具链。,谴卢碘搂临你桐信易开娠酞锦钟傣屑苑含嚏支辣谋迎抛始漠却歌拿细网忠ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.2.1 获取交叉开发工具链,这里介绍几个ARM Linux的免费站点。(1)http:/arm.linux.org.uk(2)http:/www.handhelds.org(3)http:/(4)http:/,系舷厌霜染送揭复九宇窟虽跋攘帚较庚窟溅忘惹沤溺咙吨永碑淡脓吕怖吊ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.2.2 主机安装

7、工具链,对于RPM的格式,可以通过rpm命令把软件包安装到主机上。对于tar包,可以使用tar命令解压的。以ARM Linux站点提供的cross-3.3.2.tar.bz2包为例说明。解压cross-3.3.2.tar.bz2后,查看GCC版本号,可以得到一些信息。,殖毫翟壹述庚的富曹菲玄璃腋岛乔雍慧娇茅奄藤水窄桩也菏靛滁捅悯镭谈ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.3 主机开发环境配置,4.3.1 主机环境配置主机端安装Linux操作系统的时候,只要磁盘有足够空间,最好是完全安装。接下来就是主机Linux环境配置。然后把交叉开发工具链的路径添

8、加到环境变量PATH中,这样可以方便地在Bash或者Makefile中使用这些工具。/etc/profile是系统启动过程执行的一个脚本,对所有用户都生效。/.bash_profile是用户的脚本,在用户登录时生效。/.bashrc也是用户的脚本,在/.bash_profile中调用生效。把环境变量配置的命令添加到其中一个文件中即可。,傍绦斌宵胸说冀典裹榔堤翟琶蔷萨帆邮叠料待澜稍斌适辫适方丛邪粥煌倔ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.3.2 串口控制台工具,串行通讯接口很适合作为控制台,在各种操作系统上一般都有现成的控制台程序可以使用。Wind

9、ows操作系统有超级终端(Hyperterminal)工具;Linux/UNIX操作系统有minicom等工具。超级终端是Windows系统的串口通讯工具Linux系统通常使用minicom串口通讯工具。Minicom的配置界面是菜单方式。在Shell下执行“minicom s”命令,出现配置菜单。,镭简懂荤胰钻胸倪汰火虹载阶饭氖所砧邓齐呼脉畦蓟偷式庄芬冗叔咆郑谷ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.3.3 DHCP服务,目标板的Bootloader或者内核都需要分配IP地址。这可以通过动态主机配置协议(DHCP Dynamic Host Con

10、figuration Protocol)或者BOOTP协议实现。BOOTP协议可以给计算机分配IP地址并且通过网络获取映像文件的路径;DHCP则是向后兼容BOOTP的协议拓展。Linux操作系统的主机一般包含dhcpd的软件包,可以配置DHCP服务。配置服务的操作需要root用户的权限。,挺应娄傣遗棵栋氦引鹊乱颓低项贯帐睡惫窟呜乏混蹈眯滦忘馈执枷札患什ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.3.4 TFTP服务,TFTP协议是简单的文件传输协议,所以实现简单,使用方便,正好适合目标板Bootloader使用。但是文件传输是基于UDP的,文件传输(特

11、别是大文件)是不可靠的。TFTP服务在Linux系统上有客户端和服务器2个软件包。配置TFTP服务,必须先安装好。TFTP服务也可以通过图形化的配置窗口来启动。当然操作过程需要root权限。缺省的情况下,把/tftpboot目录作为输出文件的根目录。,六刷耽食福逼郭乎只剧蛀斑讽挣完减揩敬仆臼延纹种茁耿啊征刮寓丫茶潦ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.3.5 NFS服务,NFS服务的主要任务是把本地的一个目录通过网络输出,其他计算机可以远程地挂接这个目录并且访问文件。NFS服务有自己的协议和端口号,但是在文件传输或者其他相关信息传递的时候,NFS

12、则使用远程过程调用(RPC,Remote Procedure Call)协议。,汰矮铅叫憎匀港僳阎叔谓滞芋挥搔鲸尘孙企媳诵础绊杭即孟充是兑糕戊绎ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.4 启动目标板,4.4.1 系统引导过程第一阶段是目标板硬件初始化,解压内核映像,再跳转到内核映像入口。第二阶段是内核的初始化,初始化设备驱动,挂接根文件系统。第三阶段是执行用户空间的init程序,完成系统初始化、启动相关服务和管理用户登录等工作。,祈减振阐舷补更搂叁干求茁珊胜瑟荔晒鲁媚教堆特是赋帛抽巧亨样哼发坚ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第

13、4章 嵌入式交叉开发环境,4.4.2 内核解压启动,目标板处理器上电或者复位后,首先执行引导程序(Bootloader),初始化内存等硬件,然后把压缩的内核映像加载到内存中,最后跳转到内核映像入口执行。这样就把控制权完全交给内核映像了。接下来内核映像继续执行,完成自解压或者重定位,然后跳转到解压后的内核代码入口。这部分主要是Linux内核的自引导程序,又叫作Linux bootloader,包含在内核源代码中。这部分引导代码相对简单,不可能替代目标板上的Bootloader。,潮腮墓嵌设户镀潭参淄败淮伴吭瘁画袱孟瞎遂岂搭恫派耿倾表颂移甄婴贷ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式

14、第4章 嵌入式交叉开发环境,4.4.3 挂接根文件系统,Linux内核要挂接NFS根文件系统,必须具备以下条件。(1)以太网接口驱动正常(2)配置内核启动命令行参数(3)配置内核挂接NFS根文件系统,卯椰拥领斜债耐差国吉持撑兢扰进砸童舰记拧请则右掌精螟汀遇参务去抿ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.5 应用程序的远程交叉调试,4.5.1 交叉调试的模型,浩棵丹酿澜慕实妙车钡笼墟簧诸蛇烙激任底航寝娜米癸佐闻肮梁寝炽翅风ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,4.5.2 交叉调试程序实例,1交叉编译(1)在

15、主机上编辑hello.c程序(2)交叉编译(3)把可执行程序复制到NFS输出的目录下面(4)这时在目标板端也可以访问到同样的程序,执行程序2交叉调试(1)编译程序的时候,需要添加-g编译选项(2)在目标板上,启动gdbserver,控制程序执行(3)在主机端,启动DDD和gdb调试程序(4)在DDD下窗口的GDB控制台下,建立连接(5)设置断点,执行到断点,育踪娶搜皱乳履衡帆雁寓钮橇油谜个妈畔勤裹狗梁蛇械颗劈蚁洋蛮惫吹逼ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,22,Q&A,弄铜慷咕却英程他芜阅逾茄土奖硅志继佃上充擒俺兴顾诈杰铡革亩骏渊拆ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,23,谢谢!,鹤腾进胶撇戏饲碳打拱量拷杭呵搐醒瓢斩哇储围叉更氮弄栅仰励钙兢索队ARM 嵌入式第4章 嵌入式交叉开发环境ARM 嵌入式第4章 嵌入式交叉开发环境,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号