ARM嵌入式开发模式和基本开发流程

上传人:沈*** 文档编号:252938726 上传时间:2024-11-26 格式:PPT 页数:25 大小:433KB
返回 下载 相关 举报
ARM嵌入式开发模式和基本开发流程_第1页
第1页 / 共25页
ARM嵌入式开发模式和基本开发流程_第2页
第2页 / 共25页
ARM嵌入式开发模式和基本开发流程_第3页
第3页 / 共25页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ARM,嵌入式开发模式和基本开发流程,第2章,ARM,嵌入式开发模式和基本流程,内 容,2.1,ARM,嵌入式开发模式,2.2,ARM,嵌入式开发流程,2.3,ARM,嵌入式系统控制界面,2.1,ARM,嵌入式开发模式,目标机/宿主机开发模式,宿主机需要运行一些软件进行程序编辑、编译和调试等功能,这些软件通常称为集成开发环境(,IDE)。,集成开发环境,1、针对处理器的集成开发环境:,传统的单片机程序开发环境一样,是针对特定处理器的,而不是针对特定程序或者操作系统的。,主要采用在线仿真模式进行调试,主要用于调试无操作系统的程序和没有指定编译环境和集成开发环境的操作系统(如,uC,/OS-II、Nucleus)。,如,ARM ADS、ADT IDE,等。,2、针对操作系统的集成开发环境:,不是针对某一种处理器,而是针对某一种操作系统,并支持多种不同的处理器。,主要采用驻留监控模式进行调试。,如开发,VxWorks,的,Tornado,和,WorkBench,、,开发,Windows CE,的,Platform Builder、,开发,Linux,的,GNU,工具链等。,调试模式,1、在线仿真模式,2、驻留监控模式,在线仿真模式,JTAG,边界扫描即,IEEE 1149.1,标准,这个标准定义了可用于完成功能和互连测试以及内建自测过程的各种指令。,仿真器在调试时不额外占用目标板的资源,包括,RAM、GPIO,端口等。,宿主机,ADS 1.2,或,ADTIDE,在线仿真器,Multi-ICE,或,ADT1000A,嵌入式系统,并口,JTAG,接口,驻留监控模式,驻留监控程序是一个特殊应用的程序,开发者先将驻留监控程序调试好并在目标机上运行,驻留监控程序通过特定的通信方式(如以太网、,USB,等)和运行于宿主机的集成开发环境进行通信实现程序下载、调试等功能。,这种模式下载速度快,和集成开发环境连接紧密,但该程序运行需要占用一些目标板资源。,调试驻留监控程序通常采用在线仿真模式进行。,驻留监控程序有:,VxWorks,操作系统的,bootrom,、Linux,操作系统的,u-boot、Windows CE,的,Eboot,等。,2.2,ARM,嵌入式开发流程,需求分析,1 硬件需求分析,处理性能,技术指标和成本,功耗,操作系统和软件支持工具的选择,2 软件需求分析,实时性,系统的功能,开发的难度,成本,系统移植,这个阶段根据不同的软件设计方案可能不同。对于无操作系统的应用该阶段的主要目的是设计启动代码。对于有操作系统的应用则包括,bootloader,的移植和操作系统的移植。,启动代码,由于,ARM,软件编程一般采用高级语言,如,C,语言,因此在系统启动后必须有一段程序能够将,CPU,带入到能够运行,C,语言的状态,这段程序就是启动代码。,启动代码通常用汇编语言完成,并在系统复位入口点(,ARM,系统中为0地址)运行。,在嵌入式系统中系统复位入口点所在的硬件通常是,Flash,等芯片,存储在这些芯片中的数据即使掉电也能够保存,而且这个地方的硬件的访问宽度是由硬件设计决定,软件不能更改,这样就能保证上电后该地址的数据有效。,ARM,代码结构,ARM,程序编译后得到的二进制代码通常包含:,代码段(,text,段或,code,段):编译后的代码,只读,读写数据段(,data,段):可读写的全局变量,读写,只读数据段(,rodata,段):只读数据,如,const,类型的全局变量,BSS,段:需要清0的数据,这些段在链接(,link),过程中产生,并且在链接过程中都应该设置各段的起始地址。程序必须从代码段指定的起始位置处运行。,根据代码段运行所在地址的硬件介质不同可以将程序分为在,RAM,运行的程序和在,ROM,运行的程序。,在,RAM,运行程序结构图,在,ROM,运行程序结构图,启动代码主要功能(1),1、建立异常向量表,2、初始化硬件:初始化,RAM、,关闭中断、关闭看门狗等,3、初始化堆栈,4、初始化读写数据段、,BSS,段:,在,ROM,中运行的程序必须将数据段从,ROM,中拷贝到,RAM,中,并将,BSS,段清零;,在,RAM,中运行的程序则需要将,BSS,段清零,然后将整个代码段、只读数据段、读写数据段和,BSS,段从,ROM,拷贝到,RAM。,启动代码主要功能(2),5、,重定向,位置无关的代码是指该代码不用在编译指定的地址 运行也能保证程序的执行流程和执行逻辑不会改变。,位置相关代码运行的地址必须和编译时的地址一致,否则将导致程序运行流程改变。,在初始化程序区、数据区之后需要一条跳转指令将,PC,跳转到编译时指定的运行地址接着运行。,LDR,指令及之前的指令都在,ROM,中运行,而,startram,标号之后的代码则跳转到编译时指定的地址(,RAM,或者,ROM,中)中运行了,因为,startram,标号表示的地址是由编译时就确定的。这个过程就是重定向。,LDRPC,=,startram,startram,:,重定向之前运行的代码必须是位置无关的代码。,启动代码主要功能(3),6、,跳转到,C,代码,LDRPC,=Main,Bootloader,在操作系统内核运行之前运行于非易失性存储介质的一段小程序。,在,BootLoader,中主机和目标机之间都通过串口建立连接,,BootLoader,程序在执行时通常会通过串口来进行,I/O,,比如:输出打印信息到串口,从串口读取用户控制字符等。,操作模式:,启动加载模式,下载模式,常用串口、以太网、,USB,等接口在主机和目标机之间传递数据(如下载程序)。,常见的,Bootloader,u-boot,支持,PowerPC、ARM、,Xscale,、MIPS、,Coldfire,、NIOS、,Microblaze,和,x86,等。,除了支持,Linux,系统的引导外,还支持,NetBSD,、,VxWorks,、QNX、RTEMS、ARTOS、,LynxOS,等多种嵌入式操作系统的引导。,用户接口类似于,Linux,的,shell,界面,通过串口连接,用户可以交互式的输入命令和看到结果。,使用,u-boot,可通过串口、以太网等接口从宿主机下载程序并引导系统,同时还可以将程序固化到,Flash,中,它提供灵活的环境变量操作接口,方便实现自主模式和引导模式之间的切换。,常见的,Bootloader,BootRom,BootRom,是,用于,VxWorks,操作系统开发的,bootloader,。,和,Tornado,等集成开发环境紧密结合。,可通过某种可选择的通信手段(如网口、串口),将,VxWorks,内核加载到目标板。,BootRom,还提供如地址内容查看、地址内容修改和,BootRom,菜单显示信息控制等功能。,常见的,Bootloader,EBoot,Eboot,是用于,Windows CE,操作系统开发的,bootloader,。,它通过以太网和主机的集成开发环境,Platform Builder,进行通信,可以实现,Windows CE,内核的下载、调试。,此外,Eboot,提供,Flash,固化等功能。,操作系统的移植,必须根据硬件平台和应用场合将某种操作系统进行定制和代码修改使其能够运行在该硬件平台上,这个过程就是操作系统的移植。,操作系统提供商将针对某一个处理器的公板移植代码进行发布,用户进行移植时只需要选择和你使用相同处理器的公板移植代码,并根据你的硬件进行适当修改,这种移植称为板级移植。,如果你所使用的处理器在操作系统的发布中还没有一个公板代码,则针对处理器部分的代码都需要由用户重写,这种移植成为片级移植。,由于硬件资源的限制,嵌入式操作系统通常需要进行裁减以减少代码大小和提高运行效率。需要的功能加上,不需要的功能去掉。,应用程序设计调试,1、图形用户界面:,VxWorks,下的,WindML,Linux,下的,QT Embedded、,MicroWindows,等,Windows CE,的用户界面则保持传统的,Windows,风格界面,2、实时性:在应用程序设计中同样也要考虑。,3、功耗:在应用程序设计时须充分考虑系统功耗,在不影响系统功能的同时将功耗降到最低。,4、程序大小,2.3,ARM,嵌入式系统控制界面,要操作,PC,通常必须使用键盘和显示器或者鼠标。,ARM,也是一台计算机,在开发过程甚至是产品设计中也需要有一定的交互方式。,由于硬件的局限,通常不会使用标准的键盘、显示器作为输入输出设备,而是使用串口连接的方式和宿主机进行通信。,宿主机运行一个名为超级终端的软件,它能够接收从,ARM,通过串口发送过来的字符信息,并显示出来(相当于,ARM,的输出设备,如显示器),该软件也能获取用户输入并通过串口发送到,ARM,,由,ARM,接收并处理(相当于,ARM,的输入设备,如键盘)。,超级终端软件,1、,Windows,超级终端,2、DNW,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!