基于arm的嵌入式系统设计研究

基于arm的嵌入式系统设计研究

ID:28089167

大小:72.62 KB

页数:7页

时间:2018-12-08

基于arm的嵌入式系统设计研究_第1页
基于arm的嵌入式系统设计研究_第2页
基于arm的嵌入式系统设计研究_第3页
基于arm的嵌入式系统设计研究_第4页
基于arm的嵌入式系统设计研究_第5页
资源描述:

《基于arm的嵌入式系统设计研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于ARM的嵌入式系统设计研宄1嵌入式系统嵌入式系统是一种具有专业用途的计算机系统,系统以计算机技术作为技术支撑,软件和硬件可以根据实际的应用需求进行设置,适用于对系统功能、稳定性、成本、占用空间以及功耗有较高要求的条件。为了追求系统的高性能,嵌入式系统的软件和硬件都要尽可能的设计为最佳性能,减少冗余部分,在有限的空间,有限的硅片上,实现软硬件的性能最大化。32位ARM嵌入式处理器的性能高于同类,且其能耗很低,其可编程性和可操作性,让系统软件的设计更加方便,能够在现有的硬件基础上,根据所需自由设计软件。目前,32位ARM嵌入式处理器已经在电子产品、无线通信以及网

2、络通信等各个领域得到了非常普遍的应用。嵌入式Linux是一种小型操作系统,其内核经过特殊剪裁,系统模块也是对应功能要求而定制的。嵌入式Linux具有以下特点:内核相对很小,仅占用不到1M的空间;同时支持包括X86在内的三十多种8bit-64bit的MPU和MCU;支持ROM等各类存储器;可以多任务多进程同时进行,具备一定的实时性;全面支持通信网络,具有良好的软件开放性,Linux主机中的软件应用可以自由导入到嵌入式Linux系统中;嵌入式Linux经过多年研发,具备坚实的技术支撑。基于ARM的嵌入式Linux系统,硬件方面主要包括32位ARM内核处理器,存储器以

3、及相关的外部接口和设备,在设计过程中,最需要注意的是ARM选型、Bootloader开发、系统初始化、操作系统固化以及存储器管理等。2ARM选型目前,能够适用于嵌入式系统设计的ARM微处理器存在许多系列,ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel的Xscale以及StrongARM。前四个系列是通用型处理器,每一个系列的处理器具备独特的功能和性能,能够应用于各个领域,满足对应的需求。SecurCore系列的处理器的安全性很高,可用于保密程度高的情况。ARM微处理器的内核结构各式各样,能够在不同领域和条件下发挥

4、作用,用户需要根据自己的实际需求,来选择最合适的芯片。例如,如果用户想要在系统中使用标准Linux等操作系统来更方便快捷的进行软件设计,那么最佳的选择是ARM720T以上,并且具备MMU功能的ARM芯片。此外,诸如uCLinux—类的不需要MMU功能支持的操作系统已经研发出来,并在不具备MMU功能的微处理器上获得了成功应用,而且其系统稳定性和功能,都具有较高水平。3Bootloader开发Bootloader是嵌入式系统的芯片引导程序,由开发人员应用汇编语言设计出来。Bootloader固化在目标板的ROM中,其功能是启动ROM或RAM中的嵌入式软件程序。在CP

5、U支持的情况下,bootloader在开发时可以在RAM中运行。在基于ARM的嵌入式系统设计过程中,需要结合硬件目标板的相关特性来设计相应的bootloader程序,从而达到初始化处理器和相关硬件的目的。初始化处理器是通过bootloader对处理器中的配置寄存器进行初始化,这很容易实现,例如,在使用ARM处理器的MMU时,只需通过bootloader调用控制命令打开MMU。对于嵌入式系统必备硬件的初始化,一般是对系统内存、FlashROM以及终端控制器的初始化,此外,从主机下载系统映像需要在硬件板和主机之间通过接口设备连接,系统的接口设备初始化也是由bootl

6、oader完成的。例如,一些嵌入式系统硬件板是通过以太网从主机下载系统映像文件的,在这里,bootloader就会使用以太网卡驱动程序来对相关硬件进行初始化,然后再与bootloader客户端程序进行连接,下载映像文件。4系统初始化基于ARM的嵌入式系统芯片大多属于复杂的片上系统,这种系统的硬件部分很多都是可以自由配置的,其工作状态和参数属性也是由一定的软件进行设置的。用户在使用应用程序前,需要首先使用对应的启动代码对系统硬件进行初始化,这种初始化任务可由bootloader完成。在系统的初始化中,主要包括三个部分。其一,初始化中断向量表。ARM处理器对中中断向

7、量表的位置有特殊要求,一般来说必须在从0地址开始的32字节的空间内。在ARM处理器的工作过程中,每当发生一个中断,ARM处理器都会将PC指针置为向量表中对应的中断类型的地址值。由于每个中断都只占据向量表一个字节的存储器空间,所以只能存放一条ARM指令,在一般情况下,向量表中并不直接存放ARM指令,而是跳转指令,程序可以由向量表在指令作用下跳转到寄存器的其他地址,然后再进行中断处理。其二,初始化堆栈。ARM具有7种不同的执行状态,每一种状态对应的堆栈指针寄存器都是相互独立的。所以,在程序中调整ARM执行状态需要给每个寄存器定义堆栈地址。寄存器堆栈地址的定义很简单,

8、只要将处理器执行状态轮流

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。