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

上传人:我*** 文档编号:145139829 上传时间:2020-09-17 格式:PPT 页数:24 大小:363.50KB
返回 下载 相关 举报
ARM嵌入式开发模式和基本开发流程课件_第1页
第1页 / 共24页
ARM嵌入式开发模式和基本开发流程课件_第2页
第2页 / 共24页
ARM嵌入式开发模式和基本开发流程课件_第3页
第3页 / 共24页
ARM嵌入式开发模式和基本开发流程课件_第4页
第4页 / 共24页
ARM嵌入式开发模式和基本开发流程课件_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《ARM嵌入式开发模式和基本开发流程课件》由会员分享,可在线阅读,更多相关《ARM嵌入式开发模式和基本开发流程课件(24页珍藏版)》请在金锄头文库上搜索。

1、内 容,2.1 ARM嵌入式开发模式 2.2 ARM嵌入式开发流程 2.3 ARM嵌入式系统控制界面,2.1 ARM嵌入式开发模式,目标机/宿主机开发模式 宿主机需要运行一些软件进行程序编辑、编译和调试等功能,这些软件通常称为集成开发环境(IDE)。,集成开发环境,1、针对处理器的集成开发环境: 传统的单片机程序开发环境一样,是针对特定处理器的,而不是针对特定程序或者操作系统的。 主要采用在线仿真模式进行调试,主要用于调试无操作系统的程序和没有指定编译环境和集成开发环境的操作系统(如uC/OS-II、Nucleus)。 如ARM ADS、ADT IDE等。 2、针对操作系统的集成开发环境: 不

2、是针对某一种处理器,而是针对某一种操作系统,并支持多种不同的处理器。 主要采用驻留监控模式进行调试。 如开发VxWorks的Tornado和WorkBench、开发Windows CE的Platform Builder、开发Linux的GNU工具链等。,调试模式,1、在线仿真模式 2、驻留监控模式,在线仿真模式,JTAG边界扫描即IEEE 1149.1标准,这个标准定义了可用于完成功能和互连测试以及内建自测过程的各种指令。 仿真器在调试时不额外占用目标板的资源,包括RAM、GPIO端口等。,驻留监控模式,驻留监控程序是一个特殊应用的程序,开发者先将驻留监控程序调试好并在目标机上运行,驻留监控程

3、序通过特定的通信方式(如以太网、USB等)和运行于宿主机的集成开发环境进行通信实现程序下载、调试等功能。 这种模式下载速度快,和集成开发环境连接紧密,但该程序运行需要占用一些目标板资源。 调试驻留监控程序通常采用在线仿真模式进行。 驻留监控程序有:VxWorks操作系统的bootrom、Linux操作系统的u-boot、Windows CE的Eboot等。,2.2 ARM嵌入式开发流程,需求分析,1 硬件需求分析 处理性能 技术指标和成本 功耗 操作系统和软件支持工具的选择 2 软件需求分析 实时性 系统的功能 开发的难度 成本,系统移植,这个阶段根据不同的软件设计方案可能不同。对于无操作系统

4、的应用该阶段的主要目的是设计启动代码。对于有操作系统的应用则包括bootloader的移植和操作系统的移植。,启动代码,由于ARM软件编程一般采用高级语言,如C语言,因此在系统启动后必须有一段程序能够将CPU带入到能够运行C语言的状态,这段程序就是启动代码。 启动代码通常用汇编语言完成,并在系统复位入口点(ARM系统中为0地址)运行。 在嵌入式系统中系统复位入口点所在的硬件通常是Flash等芯片,存储在这些芯片中的数据即使掉电也能够保存,而且这个地方的硬件的访问宽度是由硬件设计决定,软件不能更改,这样就能保证上电后该地址的数据有效。,ARM代码结构,ARM程序编译后得到的二进制代码通常包含:

5、代码段(text段或code段):编译后的代码,只读 读写数据段(data段):可读写的全局变量,读写 只读数据段(rodata段):只读数据,如const类型的全局变量 BSS段:需要清0的数据 这些段在链接(link)过程中产生,并且在链接过程中都应该设置各段的起始地址。程序必须从代码段指定的起始位置处运行。 根据代码段运行所在地址的硬件介质不同可以将程序分为在RAM运行的程序和在ROM运行的程序。,在RAM运行程序结构图,在ROM运行程序结构图,启动代码主要功能(1),1、建立异常向量表 2、初始化硬件:初始化RAM、关闭中断、关闭看门狗等 3、初始化堆栈 4、初始化读写数据段、BSS段

6、: 在ROM中运行的程序必须将数据段从ROM中拷贝到RAM中,并将BSS段清零; 在RAM中运行的程序则需要将BSS段清零,然后将整个代码段、只读数据段、读写数据段和BSS段从ROM拷贝到RAM。,启动代码主要功能(2),5、重定向 位置无关的代码是指该代码不用在编译指定的地址 运行也能保证程序的执行流程和执行逻辑不会改变。 位置相关代码运行的地址必须和编译时的地址一致,否则将导致程序运行流程改变。 在初始化程序区、数据区之后需要一条跳转指令将PC跳转到编译时指定的运行地址接着运行。LDR指令及之前的指令都在ROM中运行,而startram标号之后的代码则跳转到编译时指定的地址(RAM或者RO

7、M中)中运行了,因为startram标号表示的地址是由编译时就确定的。这个过程就是重定向。 LDRPC, = startram startram : 重定向之前运行的代码必须是位置无关的代码。,启动代码主要功能(3),6、跳转到C代码 LDRPC,=Main,Bootloader,在操作系统内核运行之前运行于非易失性存储介质的一段小程序。 在BootLoader中主机和目标机之间都通过串口建立连接,BootLoader程序在执行时通常会通过串口来进行I/O,比如:输出打印信息到串口,从串口读取用户控制字符等。 操作模式: 启动加载模式 下载模式 常用串口、以太网、USB等接口在主机和目标机之间

8、传递数据(如下载程序)。,常见的Bootloaderu-boot,支持PowerPC、ARM、Xscale、MIPS、Coldfire、NIOS、Microblaze和x86等。 除了支持Linux系统的引导外,还支持NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxOS等多种嵌入式操作系统的引导。 用户接口类似于Linux的shell界面,通过串口连接,用户可以交互式的输入命令和看到结果。 使用u-boot可通过串口、以太网等接口从宿主机下载程序并引导系统,同时还可以将程序固化到Flash中,它提供灵活的环境变量操作接口,方便实现自主模式和引导模式之间的切换。,常见的Bo

9、otloaderBootRom,BootRom是用于VxWorks操作系统开发的bootloader。 和Tornado等集成开发环境紧密结合。 可通过某种可选择的通信手段(如网口、串口),将VxWorks内核加载到目标板。 BootRom还提供如地址内容查看、地址内容修改和BootRom菜单显示信息控制等功能。,常见的BootloaderEBoot,Eboot是用于Windows CE操作系统开发的bootloader。 它通过以太网和主机的集成开发环境Platform Builder进行通信,可以实现Windows CE内核的下载、调试。 此外Eboot提供Flash固化等功能。,操作系统

10、的移植,必须根据硬件平台和应用场合将某种操作系统进行定制和代码修改使其能够运行在该硬件平台上,这个过程就是操作系统的移植。 操作系统提供商将针对某一个处理器的公板移植代码进行发布,用户进行移植时只需要选择和你使用相同处理器的公板移植代码,并根据你的硬件进行适当修改,这种移植称为板级移植。 如果你所使用的处理器在操作系统的发布中还没有一个公板代码,则针对处理器部分的代码都需要由用户重写,这种移植成为片级移植。 由于硬件资源的限制,嵌入式操作系统通常需要进行裁减以减少代码大小和提高运行效率。需要的功能加上,不需要的功能去掉。,应用程序设计调试,1、图形用户界面: VxWorks下的WindML L

11、inux下的QT Embedded、MicroWindows等 Windows CE的用户界面则保持传统的Windows风格界面 2、实时性:在应用程序设计中同样也要考虑。 3、功耗:在应用程序设计时须充分考虑系统功耗,在不影响系统功能的同时将功耗降到最低。 4、程序大小,2.3 ARM嵌入式系统控制界面,要操作PC通常必须使用键盘和显示器或者鼠标。ARM也是一台计算机,在开发过程甚至是产品设计中也需要有一定的交互方式。 由于硬件的局限,通常不会使用标准的键盘、显示器作为输入输出设备,而是使用串口连接的方式和宿主机进行通信。 宿主机运行一个名为超级终端的软件,它能够接收从ARM通过串口发送过来的字符信息,并显示出来(相当于ARM的输出设备,如显示器),该软件也能获取用户输入并通过串口发送到ARM,由ARM接收并处理(相当于ARM的输入设备,如键盘)。,超级终端软件,1、Windows超级终端,2、DNW,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号