单片机和嵌入式开发的深入理解,你了解多少?

单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们自己的定义,接下来,我们信盈达小编就谈谈这两个概念的深入理解。这也就是市面上很多公司都在做的单片机开发板。嵌入式系统应该跑在什么样的硬件上嵌入式和单片机的区别

什么是微控制器

首先明确一下概念,什么是单片机? 微控制器是一种集成电路芯片,采用超大规模集成电路技术,将具有数据处理能力的中央处理器(CPU)、随机存取存储器RAM、只读存储器ROM、各种I/O端口和中断系统、定时器组合在一起。 /计数器等功能(还可能包括显示驱动电路、脉宽调制电路、模拟多路复用器、A/D转换器等电路)集成到一块硅芯片上,形成一个小而完整的微型计算机系统,广泛应用于计算机领域工业控制。

对于微控制器来说,一颗芯片实际上就是一切。 其他的元件,比如单片机的最小系统,是为了单片机的正常工作而添加的,比如晶振、5v电源、电感和电阻等。当然,最小系统只能保证单片机的正常工作。单片机,几乎无法实现任何基于单片机的应用。

为了让微控制器实现应用程序,必须添加其他外设。 例如按钮、LED灯、LED屏、蜂鸣器以及各种传感器。 这是市面上很多公司都在做的单片机开发板。

综上所述,单片机是完成计算、逻辑控制、通信等功能的单个模块。 也就是说,该单片机真正命名为“Single”。 DSP芯片也可以被视为微控制器。 当然,它们的性能非常强大,但是功能仍然很简单。 简而言之,它们只是处理数据和逻辑。

嵌入了什么

那么什么是嵌入呢? 一般来说,嵌入式是指嵌入式系统。 IEEE(InsTItute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或协助操作机器和设备”。

嵌入式系统是一种专用计算机系统,是装置或设备的一部分。 通常,嵌入式系统是一个嵌入式处理器控制板,其控制程序存储在ROM中。

嵌入式系统是一个结合了应用程序、操作系统和计算机硬件的系统。 它以应用为中心,以计算机技术为基础。 软件和硬件均可定制。 其针对的用户应用对功能、可靠性、成本有一定影响,在体积、功耗、使用环境等方面有特殊要求的专用计算机系统。

嵌入式系统应该运行在什么样的硬件上?

当谈到嵌入式硬件或者开发板时,我想很多人的第一印象就是Raspberry Pi,它是一个信用卡大小的微型计算机。 虽然外表看起来“娇小”,但内部却非常强大,视频、音频等功能齐全。 真可谓“麻雀虽小,五脏俱全”。 树莓派推出后,很多厂商都争相推出类似的产品,比如Banana Pi等。

ARMv7相对于ARMv6指令集的另一个优势是,使用ARMv7的处理器的实际性能更加强大。 ARMv7相对ARMv6有很多优点,比如一些显着的改进:实现了超标量架构,包括SIMD操作指令,以及改进分支预测算法,从而大大提高了某些性能。

嵌入式和微控制器的区别

以上是一款基本嵌入式核心板的性能参数。 与上述单片机的性能参数相比,单片机的处理能力较低,主频大多在几十MHz左右,而嵌入式频率很容易达到几百MHz。 1000M的处理速度还是相差很大的。 另外,单片机不具备图形界面的处理能力。 也就是说,缺少GPU使得单片机几乎无法驱动图形界面。

单片机的存储空间与嵌入式处理器不是一个级别的。 单片机的片上存储器通常只有几千字节大小。 由于外设的限制,大规模增加外设emmc不太可能,而嵌入式处理器通常有几千字节的存储空间。 数百兆的RAM,如此巨大的差异使得微控制器几乎不可能像嵌入式处理器那样运行操作系统。 甚至无法运行TCP/IP协议栈和USB协议栈。 一些高端微控制器如ST的STM32系列,可能可以运行一些轻量级的系统操作系统和嵌入式网络协议栈,如IwIP协议栈。

嵌入式处理器丰富而强大的性能决定了它可以完成更多单片机无法完成的应用,例如网络通信功能、视频传输和处理功能等。当外围存储增加时,嵌入式处理器可以轻松运行各种Linux系统,图形GUI界面。

单片机和嵌入式系统在开发方式上也有很大的区别,即编译过程的区别。 微控制器主要是在Windows等图形界面下开发。 目前有很多成熟的IDE工具如keil、IAR、ti的CCS等。 这些工具集编译、汇编、链接和仿真于一体,并且由于是在Windows下开发的,因此具有友好的用户界面。 开发者只需编写C代码,然后点击编译链接按钮即可。 如果发生错误,他们还可以调试或模拟。 上手还是很容易的。 非常快。

嵌入式开发一般是在Linux下进行的。 需要在自己的主机上编译C代码,然后通过系统镜像或者uboot引导将编译好的文件烧录到开发板中。 由于主机处理器是x86架构,编写的代码是为了在arm架构或sparc架构处理器上运行,所以存在交叉编译链安装。 另外,Linux下没有像Windows那样的IDE,即编译和链接源码需要开发者自己完成。 这通常是通过使用 GNUmake 脚本编写 Makefile 和配置文件来完成的。 Makefile文件写的是如何编译c或h文件,即编译规则和依赖文件是什么。 这些都需要开发者自己完成。 而上述过程全部在Linux下的终端,即命令行中完成,这也使得嵌入式开发变得更加困难。

新英达学院的课程从0基础入门开始,面向广泛的受众:如应届毕业生、转行人士、对IT行业感兴趣的人士。 这并不像你想象的那么难!

您可以去新英达官网联系客服小姐姐预约上课。

嵌入式系统开发实验

单片机和嵌入式开发的深入理解,你了解多少?

C51单片机实战

单片机和嵌入式开发的深入理解,你了解多少?

单片机

PLC与单片机的差别是什么?有什么区别呢?

2024-2-4 9:03:14

单片机

学习哪一种编程语言好?——单片机的BASIC编译器

2024-2-4 10:02:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索