当前位置: 首页 > news >正文

单片机和ARM A的区别

单片机和ARM A的区别

  • 1. 架构
  • 2、软件方面
  • 3、硬件方面
  • 4.区别
  • 5.开发难度
  • 6.单片机是微控制器,ARM是微处理器
  • 7.reference

1. 架构

arm现在分为A R M三个系列,A面向高端,M主要面向低端。
M说白了就是单片机,现在比较流行的cortex-m3。
stm32(cortex-m3内核)的低端的价格可以低到10块钱以下,价格非常的低廉,性能很强,而且有库函数的支持,开发的流程简化很多,理论上应该会替代,但是其他的单片机也有自己的优势,比如:51也有自己的优势,简单,使用的人多,价格更低,开发工具更多,MSP430的低功耗,各有各的优势,取不取代还要看市场,公司的推广。

2、软件方面

这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛?
1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。

2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。

3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。

3、硬件方面

单片机大多是把内存和存储集成在一起,支持GPIO ADC TIM UART USB等接口,对于高速信号很少支持。
ARM A系列多把内存和存储分开,需要外接,支持GPIO ADC TIM UART USB等接口,重点还有像HDMI MIPI 4/8K_Camera 编解码 NPU GPU等复杂的运行硬件模块。

4.区别

1.单片机是一种有完整计算机体系的芯片,适用于简单的测控系统,功能相对简单。
2.ARM是微处理器,具有强大的事务处理功能,可以配合嵌入式操作系统使用。
ARM最大的优势在于速度快、低功耗、芯片集成度高,多数ARM芯片都可以算作SOC,基本上外围加上电源和驱动接口就可以做成一个小系统了,基于ARM核心处理器的嵌入式系统以其自身资源丰富、功耗低、价格低廉、支持厂商众多的缘故,越来越多地应用在各种需要复杂控制和通信功能的嵌入式系统中。
目前,采用ARM核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。

5.开发难度

单片机开发周期短,硬件设计简单,方便快速成产品。
ARM A先要调试linux系统,驱动复杂,硬件设计复杂,开发周期一般在3-6个月。

6.单片机是微控制器,ARM是微处理器

总的来说,单片机是个微控制器,ARM显然已经是个微处理器了。
单片机适合做一些工控产品,ARM A更适合做消费电子等产品。

7.reference

  • 单片机和ARM的区别
  • 单片机与ARM嵌入式,DSP,FPGA的联系与区别

相关文章:

  • STC 51单片机40——汇编语言 串口 接收与发送
  • python破解wifi教程
  • Android App开发即时通信中通过SocketIO在客户端与服务端间传输文本和图片的讲解及实战(超详细 附源码)
  • 【网络安全】文件上传之安全狗bypass
  • MATLAB | 世界杯来用MATLAB画个足球玩叭~
  • LeetCode | 循环队列的爱情【恋爱法则——环游世界】
  • Android App开发音量调节中实现拖动条和滑动条和音频管理器AudioManager讲解及实战(超详细 附源码和演示视频)
  • 电视剧里的代码真能运行吗?
  • 让我们进入面向对象的世界(三)
  • 动态域名解析
  • 《工程伦理》1-13章汇总
  • Jackson @JsonProperty重复字段处理
  • 元组啊,不就是不可变的列表吗?
  • Java练习题
  • 蓝桥杯跑步锻炼.c语言
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Apache的基本使用
  • bearychat的java client
  • C++类的相互关联
  • PHP 7 修改了什么呢 -- 2
  • python3 使用 asyncio 代替线程
  • Python连接Oracle
  • Sass Day-01
  • Spark RDD学习: aggregate函数
  • spring security oauth2 password授权模式
  • 分布式熔断降级平台aegis
  • 分享一份非常强势的Android面试题
  • 工作手记之html2canvas使用概述
  • 和 || 运算
  • 简单实现一个textarea自适应高度
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 栈实现走出迷宫(C++)
  • 通过调用文摘列表API获取文摘
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #QT(串口助手-界面)
  • (BFS)hdoj2377-Bus Pass
  • (day6) 319. 灯泡开关
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (十八)三元表达式和列表解析
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (译) 函数式 JS #1:简介
  • (转)大道至简,职场上做人做事做管理
  • *上位机的定义
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Core 项目指定SDK版本
  • .skip() 和 .only() 的使用
  • @ConfigurationProperties注解对数据的自动封装
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [C#]获取指定文件夹下的所有文件名(递归)
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [FC][常见Mapper IRQ研究]
  • [IE技巧] 如何让IE 启动的时候不加载任何插件