谈谈图ARM嵌入式那些事儿

发布时间:2023-03-24  

1 引 言

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


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

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

图1 ARM 架构系列产品


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


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


3 软件平台开发

3.1 集成开发环境
嵌入式系统开发之前首先要选择合适的开发工具,要综合考虑开发进度和开发成本等因素。一套完整的集成开发环境(IDE)需要包括编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库。目前主流的几款IDE 包括:
(1) ADS
ADS 是ARM 公司的集成开发环境软件,功能强大,包括:仿真器、C 编译器、实时调试器、应用函数库。ADS 不仅提供软件模拟仿真功能,而且提供强大的实时调试跟踪功能。ADS 支持的硬件调试器是Multi-ICE 仿真器。
(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开发工具最重要特征是它的操作系统和开发工具是免费的,均可以从互联网上获得所有开发工具及源代码。GNU 包括Linux 操作系统、编译器外、调试工具、二进制转换工具。GNU 开发工具的主要缺点是采用命令行方法的方法进行编译链接等操作,这就增加了用户的操作复杂性及难度。但其同时也为用户提供了更大的灵活性,有助于用户更好了解系统设计的基础与细节。
(5) RVDS
RVDS 是ARM 推出的新一代ARM 集成开发工具,其最显著的功能是支持所有ARM 系列处理器,并与许多第三方实时操作系统和工具供应商合作,很大程度上简化了开发流程。


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


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


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


μC/OS 是一款小型的、开源的、抢占式实时操作系统,提供多任务管理和调度、任务之间的同步和通信、内存管理、时间管理、中断服务等功能。该系统对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 结 束 语

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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    愿意把这份精力利用在能够真正突破我目前瓶颈的事情上,比如说转型、创业。 所以说如果你想做嵌入式开发,不要想着一口就吃成胖子,学习是一个循环渐进的过程。 在这物欲横流的社会,有一份稳定的收入才能支撑你的想法。 这就是为什么......
    支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android这样的“高级”操作系统的system,叫做嵌入式。 在某些时候,单片机本身已经足够强大,可以作为嵌入式系统使用。它的成本更低,开发......
    学物联网工程的,在学校编程和嵌入式都有学习,前段时间集中实践发现自己对嵌入式挺感兴趣的,但身边从事硬件的学长学姐几乎没有,也不知道从哪里获得过来人可靠的消息。 所以想问问从事嵌入式的工程师平常的工作是什么......
    台服务器就算可以了。 然而做嵌入式的你,需要买开发板,买模块,做到天人合一,软硬结合,等着做稍微高端点了,你又萌生出自己画板子买芯片的想法,这个坑越走越深。等着差不多了,回头......
    国产处理器也是需要重点考虑的一个问题(我了解到的,目前国内很多公司只选国产处理器了,不知道你们公司是不是也这么要求?)。国产CPU厂商有很多,做嵌入式Linux应用开发用到的具有性价比的国产处理器,还得......
    一下学习那些你绕不开的技术点。本文引用地址:做嵌入式这行已经8年了吧,也算是一个老了,工作多年,做过MCU、DSP、ARM、ARM+DSP、ARM+FPGA等等芯片。现在将嵌入式学习的一些绕不开的技术点整理下,希望对嵌入式......
    其他外设也类似,就是将数据写到外设寄存器上,跟操作内存一样,就可控制外设了。   寄存器,其实应该是内存的统称,外设寄存器应该叫做特殊寄存器。慢慢的,所有人都把外设的叫做寄存器,其他的统称内存或RAM。寄存器为什么......
    、WinCE、Android这样的“高级”的system,叫做嵌入式   2、Heap(堆)和Stack(栈)的区别 Heap(堆)上的空间是手动分配和释放的,Stack(栈)上的......
    方法称为星形一三角形降压起动。 6 什么叫......
    所面临的挑战 凌华科技嵌入式图形模块符合Mobile PCI Express Module(MXM)图形接口标准   中国上海 - 2021年5月11日 摘要: 凌华科技EGX-MXM-T1000、EGX......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>