- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 ARM概述与开发环境 1.1 嵌入式系统的概念 数字技术和软件技术是嵌入式系统的核心技术,其中,数字技术包括数字信号处理技术和数字化芯片技术,软件技术包括芯片级的程序设计技术和操作系统级的程序设计技术。电路系统由传统的模拟电子系统演化为以可编程数字化芯片为核心,添加必要的外设接口实现相应功能的嵌入式系统,在三个相互关联又相对独立的技术领域表现突出,即以单片机为核心的嵌入式控制领域、以DSP(数字信号处理器)或FPGA(现场可编程门阵列)为核心的嵌入式数字信号处理领域和以ARM或SOC(片内系统芯片)为核心的嵌入式操作系统及其应用领域。 1.1.1 嵌入式系统与ARM的关系 广义上讲,凡是嵌入到应用系统中的电子系统可以统称为嵌入式系统,即使通用的计算机系统,如果是嵌入在特定的应用系统中时,也可被称为嵌入式系统。例如,在虚拟仪表系统中用于数据采集、分析和显示的嵌入式计算机系统。狭义上讲,嵌入式系统除具有硬件和软件之外,还要求硬件系统具有体积小、重量轻、功耗低、成本低、可靠性高、可升级等特点,要求软件系统具有体积小、可裁剪性、健壮性、专用性、实时性等特点。因此,从狭义上讲,嵌入式系统硬件往往是以ARM芯片为核心的硬件平台,嵌入式系统软件为基于芯片级开发的无操作系统汇编或C语言实时性软件,或者是基于嵌入式操作系统开发的图形界面应用程序。 而ARM是指ARM公司设计的基于RISC架构的32位高性能微处理器,一般采用哈佛总线结构,具有高速指令缓存和数据缓存,指令长度固定且多级流水执行,具有MMU(存储器管理单元)和AMBA(高级微处理器总线结构)总线接口等。ARM芯片除具有ARM核心外,通常还具有丰富的外设接口,例如,外扩RAM(随机访问存储器)和FLASH控制器、LCD控制器、串行接口、SD接口、USB接口、I2C和I2S总线接口等,此外,ARM芯片还具有低功耗、体积小等特性。ARM芯片的高性能、多接口特点决定了其比单片机和DSP更适合作为嵌入式系统的核心微处理器,从而,ARM系统几乎成了嵌入式系统的代名词。 1.1.2 嵌入式系统与嵌入式操作系统的关系 一般地,嵌入式系统是面向特定的应用和环境,集成了硬件和软件的单板机。嵌入式系统的硬件资源有限,突出地表现在其具有较小容量的RAM和ROM空间,通过外扩SD卡等存储介质扩展存储空间;嵌入式系统的软件,包括嵌入式操作系统软件,都固化在FLASH芯片中。因此,嵌入式操作系统软件体积较小,一般在32?MB以下。 嵌入式系统的软件分为两种:其一为直接基于ARM芯片开发的汇编或C语言实时性程序,这时的程序代码负责管理ARM片上所有的资源,包括存储空间和片上外设,程序除根据需要设计特定的功能之外,还要编写ARM芯片初始化代码和中断向量表,更重要的是,程序在访问嵌入式系统的硬件时,必须充分考虑硬件接口的时序特点;其二是为嵌入式系统定制多任务、实时的嵌入式操作系统,嵌入式操作系统抽象了嵌入式系统的硬件访问方式,通过提供API(应用程序接口)函数的方式,在嵌入式操作系统基础上设计用户应用程序,只需调用相应的API函数即可,使得嵌入式系统的应用程序设计工作更加简单方便。 嵌入式操作系统也具有桌面操作系统的特点,即管理硬件资源、调度软件进程、处理软件中断等。嵌入式操作系统通常包括硬件驱动软件、系统内核、设备驱动接口、文件系统、图形界面等。嵌入式操作系统要求具有实时性、多任务、模块化、可移植性、可定制等特点,流行的嵌入式操作系统有Windows CE、嵌入式Linux、mC/OS-Ⅱ、VxWorks等。 因此,嵌入式系统可以表示为: 嵌入式系统=ARM硬件系统+嵌入式操作系统 +操作系统级应用软件系统或者 嵌入式系统=ARM硬件系统+芯片级应用软件系统 1.1.3 嵌入式系统的研发特点 嵌入式系统研发可分为四类,即:首先,嵌入式系统的硬件平台设计,需要根据应用环境选择合适的ARM芯片,满足处理速度和存储深度的要求,同时,需要兼顾性价比和芯片特点与生存周期等因素。ARM芯片选型后,根据需要实现的功能添加相应的外设接口处理芯片和电源与时钟芯片等,借助Protel DXP等EDA软件完成硬件平台的原理性设计和PCB设计。目前,嵌入式系统硬件平台的设计基本上实现了模型化设计,即ARM芯片与外设芯片的接口电路都形成了规范,只需要按“模型”将ARM芯片与所需外设芯片连接起来就可以得到特定的嵌入式系统硬件平台。尽管如此,读懂和分析这个“模型”仍然需要一定的电路基础。 其次,基于ARM芯片的芯片级汇编或C语言程序设计,这类程序包括系统初始化程序和特定功能的算法程序,要求设计者对ARM芯片工作原理和内部
文档评论(0)