技术文档

单片机 arm 嵌入式 ARM嵌入式和单片机有着密不可分的联系

小编 2024-11-24 技术文档 23 0

ARM嵌入式和单片机有着密不可分的联系

目前,嵌入式处理器常见的有ARM、PowerPC、MIPS、Motorola 68K、ColdFire,但ARM占据了绝对的主流。作为一家不生产芯片的芯片厂商,ARM却在全球范围内支撑起了各种嵌入式设备、智能手机、平板电脑、智能穿戴和物联网设备的运行,同时,ARM很早就开始“入侵”传统X86架构处理器坚守的高性能计算终端市场了。高性能、低功耗、低价格、丰富的可选择芯片、广泛的第三方支持与完整的产品线和发展规划使得ARM大量涌现在人面前,那么作为初学者又该如何学习ARM呢?

ARM嵌入式和单片机学习有着密不可分的关系,可以抛开复杂的软件结构,先掌握硬件操作。ARM与单片机是有着许多区别的,相比来说ARM要比单片机复杂的多。据某位知乎大神表示,往往单片机只需要对一个寄存器赋值即可初始化,而在ARM下就要调用库函数,另外,每个引脚其功能都多了许多,相应的配置也会更为麻烦。但如果有了丰富的ARM的项目经验就会发现,其实它的应用配置也是千篇一律,有章可循的。

著名专家韦东山也曾强调,不要再用老方法学习单片机和ARM。他表示,学习单片机是没有前途的。一是因为单片机太简单,工作十年与两年技能差别不大所以企业更偏向选择薪资较低的新人,二是因为单片机的价格优势正在逐渐消失,目前智能保持微弱的优势就是稳定性这一特点。

如果单片机和Linux都想学,在单片机->bootloader->Linux系统/驱动->APP(QT)这条学习线路上可以使用同一套开发板。首选三星(SAMSUNG)S3C2440、S3C6410、S5PV210、Exynos4412;其次是德州仪器 (TI) AM437X、AM335X;然后是飞思卡尔(freescale),iMX6;还有其它国产芯片:全志、瑞芯微。

学习嵌入式难点不是在学,而是很多人就在入门这一关就卡死了。觉得学的没头绪,是因为你学习方法不对,首先,你应该要有目标,要学到什么程度,要从什么开始学起。

据知乎大神讲解,在学习初期第一先看关于ARM芯片的Mannual;第二找一本关于内核的不错的书,比如,想学Cortex-M3的话,《The DefiniTIve Guide to the Cortex-M3》是很不错的。看这书的时候不需要全部掌握,只需要当做一本参考手册来读就好,知道在开发过程中遇到什么问题来这里哪一章找解决方法即可;第三买一块开发板(上文所推荐的),参考板子带的全程进行调试;第四自己跟项目,或者自己搞点开发,例如开发一个小智能小车之类的,学习总得有点儿投入。

Linux作为重要工具,在不明白Linux的情况下,ARM的学习也将面临瓶颈。目前嵌入式Linux领域稀缺的Linux移植到某个新型号的开发板上,能写Linux驱动程序的人,熟悉Linux内核裁减和优化人。现在公认的Linux的入门书籍是“鸟哥的私房菜” ,讲得很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇。

ARM,单片机,FPGA,嵌入式各自的区别及特点

单片机的特点:

(1)受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;

(2)内RAM:256KB以内。

(3)可靠性高

(4)易扩展

(5)控制功能强

(6)易于开发

ARM的特点:

(1) 自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使程序开发实验更加方便,工作更可靠。

(2) 高速度,低功耗。在和M51单片机外接相同晶振条件下,AVR单片机的工作速度是M51单片机的30-40倍;并且增加了休眠功能及CMOS技术,使其功耗远低于M51单片机。

(3) 工业级产品。具有大电流输出可直接驱动SSR和继电器,有看门狗定时器,防止程序走飞,从而提高了产品的抗干扰能力。 (4) 超功能精简指令,具有32个通用工作寄存器,相当于M51单片机中32个累加器!从而克服了单一累加器工作的瓶颈效应。 (5) 程序下载方便。AVR单片机即可并行下载也可串行下载,无需昂贵的编程器。此外,还可以在线下载!也就是说可以直接在电路板上进行程序修改和烧录。

(6) 具有模拟比较器、脉宽调制器、模数转换功能。使得工业控制中的模拟信号处理更为简单方便。

(7) 并行口、定时计数器、中断系统等单片机内部重要资源的功能进行了大幅度提升,使之更适合工业生产过程的实时控制。

(8) 其时钟频率既可外接也可使用单片机内部自带的振荡器,其频率可在1MHz-8MHz内设置,使得硬件开发制作更为简洁。

(9) 强大的通讯功能,内置了同步串行接口SPI、通用串行接口UAST、两线串行总线接口TWI(I2C ),使网络控制、数据传送更为方便。

(10)超级保密功能,应用程序可采用多重保护锁功能。可低价快速完成厂家产品商品化等等。除上述特点外“零外设”也是AVR嵌入式单片机的重要特征。由于该芯片已内置了程序存储器、晶振并增加了在线汇编功能。所以AVR单片机芯片接上直流电源,下载个程序就可以独立工作。无需附加外部设备,无需使用昂贵的编程器和仿真装置。这给我们学习和开发带来了便利条件。

FPGA的特点:

(1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。

(2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

(3)FPGA内部有丰富的触发器和I/O引脚。

(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

(5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。

嵌入式系统的特点:

1.系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如Enea公司的OSE分布式系统,内核只有5K,而Windows的内核?简直没有可比性。

2.专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的 “升级”是完全两个概念。

3.系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。

4.高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。

5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS (Real-time Operating System)开发平台,这样才能保证程序执行的实时性、 可靠性,并减少开发时间,保障软件质量。

6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进 行

相关问答

单片机 ARM 、FPGA 嵌入式 的区别是什么,各有什么特点? 申请方

大学只接触过和学过单片机和arm,至于FPGA则是听别人说的。我就按我的理解说几句。Arm是不可以更改的,就像是给了你一个球队,队员之间分工很明确,都...

您能更加深入的阐述一下 嵌入式 系统与 arm 的关系么?

简单地讲,嵌入式系统是一种专用计算机系统,大家说的ARM是一种CPU,在嵌入式系统中起核心作用,但嵌入式的CPU并不一定是ARM,有可能是POWERPC、MIPS、单片机、D...

单片机 ARM 的区别是什么?

单片机(Microcontroller)和ARM(AdvancedRISCMachine)都属于嵌入式处理器,但两者有以下区别:1.处理能力:单片机通常采用专用的CPU架构,处理器速度较慢.....

arm嵌入式 是什么?

ARM嵌入式系统是一种专为嵌入式应用设计的微处理器体系结构,其广泛用于各种嵌入式系统。ARM嵌入式系统由多个组件构成,包括微处理器、相关技术及软件等,具有高...

鸿蒙是基于 arm 开发的吗?

鸿蒙操作系统是基于ARM架构开发的。ARM架构是一种基于内存保护的实时嵌入式指令集架构,广泛应用于微处理器、单片机和嵌入式系统等领域。鸿蒙操作系统是由...

arm单片机 为什么一定要再linux系统下开发呢?

linus是嵌入式可用的操作系统之一,嵌入式开发到后面必须用操作系统,除非你把嵌入式当单片机用,这时候就不需要。当你在嵌入式下用操作系统的时候,可以选择的...

学java和学 单片机 (也就是 嵌入式 )哪个更好?

首先要搞清楚你对哪个更感兴趣。Java只是一门编程需要,本身并不难,互联网行业用到的比较多。单片机只是嵌入式用到的一种处理器,更复杂的还有arm等。嵌入式...

嵌入式 单片机 有哪些联系和区别?

嵌入式系统和单片机都是实现特定功能的计算机系统,它们之间有以下联系与区别:联系:1.均为计算机系统:嵌入式系统和单片机均由处理器、存储...嵌入式系统和...

学历不高可以参加 嵌入式 培训课程吗?

如果你不知自己基础到底是什么程度的话,那我推荐你去“东方赛富3G嵌入式学院”看看,这是所非常专业的培训机构,拥有国内顶尖的师资团队,80%来自清华...

嵌入式 系统和 单片机 的区别? - 171****4478 的回答 - 懂得

系统泛指由一群有关连的个体组成,根据预先编排好的规则工作,能完成个别元件不能单独完成的工作的群体。嵌入式的意思是指,这个系统具有小型化的特征...

猜你喜欢