基于ARM 的嵌入式系统开发

姓名:刘见健            学号:19020100192            学院:电子工程学院

转自:http://qikan.chaoxing.com/detail_38502727e7500f26b8b9470f760df50c9ccd98582a1d3a191921b0a3ea255101fc1cf1fbb4666ae623893099747f07b737d3a9ec1e799f522b988c38c4ba10c026326f61d7a4ef30cb23f8ea68f417dc

【嵌牛导读】基于ARM 的嵌入式系统开发

【嵌牛鼻子】用ARM进行嵌入式开发

【嵌牛提问】怎么在ARM上进行嵌入式

【嵌牛正文】

1 引 言

随着大数据、AI 技术等高新科技的快速发展,嵌入式系统已经广泛应用在科学研究、军事技术、工程设计、商业文化艺术、娱乐业、日常生活等方方面面。嵌入式系统基于计算机技术,以应用需求为中心,可以定制软件和硬件。它适用于对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。嵌入式系统是一个复杂的系统,包括硬件与软件两大部分,硬件是以处理器为核心器件,再根据具体的应用需求,选择合适的外围设备,通常核心器件的选型基本决定了整个系统的软硬件架构。软件部分则包括开发环境、驱动程序、操作系统、应用程序等部分。整个嵌入式系统需要软硬件协同配合,共同完成具体的应用功能。

2 嵌入式系统硬件平台开发

嵌入式系统硬件平台一般包括处理器及外围设备两部分。目前应用于嵌入式系统的处理器有很多种,其中基于ARM 架构的处理器占主导地位[1-2]。ARM 公司提供ARM 架构的IP 核,主要包括Classic系列和Cortex 系列。其产品系列如图1 所示。

图1 ARM 架构系列产品

Classic 系列是ARM 公司早期推出的ARM 架构的处理器。其中,ARM7 基于ARMv3 或ARMv4 架构;ARM9 基 于ARMv5 架 构;ARM11 则 是 基 于ARMv6 架构。在该系列的ARM11 以后,ARM 公司产品开始进入ARMv7 架构,改用Cortex 命名,分成A、R 和M 三类,旨在为不同定位的市场提供服务。

Cortex-M 系列处理器包括Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-M7、Cortex -M23、Cortex -M33、Cortex -35、、Cortex -M55等,该系列产品主要应用于对成本和功耗要求较高的应用场景,如低端的工业控制和消费等领域。

Cortex-R 系列处理器包括Cortex-R4、Cortex-R5、Cortex-R7、Cortex-R8、Cortex-R52 等。该系列处理器主要应用于对实时性要求比较高的应用场景,如动力传动、汽车制动系统等场景。

Cortex-A 系列处理器包括Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A17、Cortex-A32、Cortex-A34、Cortex-A35、Cortex-A53、Cortex-A55、Cortex-A57、Cortex-A65、Cortex-A72、Cortex-A73、Cortex-A75、Cortex-A76、Cortex-A77、等。该系列产品主要应用于对处理器性能要求比较高的应用领域。

各大厂家在授权付费使用ARM IP 核的基础上也研发各自的芯片,即嵌入式微控制器。目前主流的嵌入式微控制器厂商有ST、Microchip(Atmel)、TI、NXP(Freescale)、ST、SAMSUNG 等。在很大程度上,选择嵌入式开发硬件平台就等同于选择嵌入式微控制器。系统中使用哪种微控制器,取决于应用领域、用户需求、成本、功耗、开发难度等因素。

确定要使用的嵌入式处理器之后,应根据系统需求确定外围设备的选型。系统外围设备的选择因素包括:电源供电系统、调试下载接口、外围时钟电路选择、是否需要外围储存器扩展、是否需要通信接口的收发器、模拟模块的选择、其他功能模块等。

3 软件平台开发

3.1 集成开发环境

嵌入式系统开发之前首先要选择合适的开发工具,要综合考虑开发进度和开发成本等因素。一套完整的集成开发环境(IDE)需要包括编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库。目前主流的几款IDE 包括:

(1) ADS

ADS 是ARM 公司的集成开发环境软件,功能强大,包括:仿真器、C 编译器、实时调试器、应用函数库。ADS 不仅提供软件模拟仿真功能,而且提供强大的实时调试跟踪功能。ADS 支持的硬件调试器是Multi-ICE 仿真器[3]。

(2) IAR

IAR 是由IAR Systems 公司开发的集成开发环境。与其他ARM 开发工具相比,其最大特点是简单易操作。IAR 包含完整的软件仿真程序,用户无需任何硬件支持,可以方便地仿真各种ARM 内核。

(3) KEIL

KEIL 是Keil Software 公司出品的集成开发环境,除了支持ARM 系列处理器以外,还支持51 系列单片机等,是一款通用的开发工具。除一般IDE 功能外,它还可帮助用户准确调试ARM 器件的片内外围功能,并支持Philips、Samsung、Atmel、Analog Devices、Sharp、ST 等众多厂商的ARM 微控制器。

(4) GNU

GNU[4]开发工具最重要特征是它的操作系统和开发工具是免费的,均可以从互联网上获得所有开发工具及源代码。GNU 包括Linux 操作系统、编译器外、调试工具、二进制转换工具。GNU 开发工具的主要缺点是采用命令行方法的方法进行编译链接等操作,这就增加了用户的操作复杂性及难度。但其同时也为用户提供了更大的灵活性,有助于用户更好了解系统设计的基础与细节。

(5) RVDS

RVDS 是ARM 推出的新一代ARM 集成开发工具,其最显著的功能是支持所有ARM 系列处理器,并与许多第三方实时操作系统和工具供应商合作,很大程度上简化了开发流程。

3.2 驱动程序

驱动程序是通过软件控制硬件工作的代码。硬件与软件之间连接的桥梁是寄存器,软件工程师通过阅读芯片的数据手册,操作具体的寄存器控制硬件工作。通常对于ARM 处理器,各大IC 厂家在产品发布时,会将驱动程序开发好,以API 函数库的形式提供给芯片使用者。用户可直接调用封装好的API 函数完成芯片的控制,因此可大大降低开发的难度及周期。对于有某些特殊应用需要的使用者,也可以自行修改驱动代码,以达到例如缩短软件运行时间等特殊目的。

3.3 操作系统

目前应用于ARM 嵌入式开发的实时操作系统有很多[5],最主流的是VxWorks、μClinux、μC/OS 和eCos 等四种,各具有不同的特点及应用领域。

VxWorks 是美国Wind River 公司开发的一种嵌入式操作系统[6],也是占有市场份额较多的一款嵌入式操作系统。VxWorks 由400 多个独立的目标模块组成,具有灵活的可配置性。用户可以根据自身需求选择合适的模块配置和定制系统,甚至有的核心代码最小可以缩小到8kB 左右。VxWorks 的可配置性也保证了更高的安全性和可靠性,因此被广泛应用于航天航空等对实时性和可靠性要求较高的领域。在外太空探索领域,VxWorks 操作系统一直是NASA 的最爱。

μC/OS 是一款小型的、开源的、抢占式实时操作系统[7],提供多任务管理和调度、任务之间的同步和通信、内存管理、时间管理、中断服务等功能。该系统对RAM 和ROM 的大小要求比较小,且简单易学,特别适合于嵌入式系统初学入门者,对于ARM Cortex-M 系列的处理器,通常配合μC/OS 实时操作系统,用于多任务处理的应用场景。

μClinux[8]虽然是标准Linux 的缩小版,但是依然继承了Linux 操作系统的主要功能,只是减少了对MMU 内存管理单元的支持,更适合于没有MMU单元的ARM 内核。由于μClinux 缺少对MMU 的支持,因此用户在使用时需要掌握一定的技巧。μClinux主要适用于与网络功能相关的应用,如Cisco 公司的2500/3000/4000 路由器,均是基于μClinux 操作系统开发的。

eCos 嵌入式操作系统,最大的特点是灵活、可配置、模块化设计。其核心代码由一些小组件构成,提供了大量的配置选项,以满足不同的应用需求。该系统主要应用于一些工业级及商业级对成本比较敏感的应用场景中,例如消费电子领域。

3.4 应用软件程序

应用软件程序是嵌入式系统功能的软件代码实现。对于简单的应用需求,通常不需要操作系统的支持;对于需要多任务处理的复杂应用需求,则需要选择一款合适的操作系统进行多任务的并行处理。

4 结 束 语

嵌入式开发已从传统的单机,板级和串行通信转变为多机、分布式计算和网络通信。因此,除了考虑开发技术之外,还必须考虑实时嵌入式系统的改进或升级技术,实时开放技术,实时组合技术和实时软件工程技术。嵌入式系统的性能验证技术,以及安全技术、容错技术、可靠性形式验证技术、质量保证技术和测试认证技术也非常重要,还应在后续研究中持续关注。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容