单片机为什么不如嵌入式?


  1.什么是嵌入式?

  什么是单片机?

  (1)什么是嵌入式?

  嵌入式,一般是指嵌入式系统,英文叫Embedded system。嵌入式开发,其实就是对嵌入式系统的开发。

  那什么是嵌入式系统呢?

  嵌入式系统,是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

  以应用为中心,说明嵌入式系统有着明确的实际用途。以计算机技术为基础,说明它其实就是一种特殊的计算机。软硬件可裁剪,说明它具有很强的灵活性和定制能力。

  专用计算机系统,“专用”所对应的就是“通用”,我们常用的个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,就是“通用计算机系统”。

  (2)什么是单片机?

  单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。

  2.嵌入式与单片机

  在系统组成结构上的区别?

  (1)嵌入式系统组成部分:

  嵌入式微处理器、外围硬件设备、嵌入式操作系统、特定的应用程序

  (2)单片机的基本结构:

  运算器、控制器、存储器、输入输出设备

  3、资源、价格、应用领域的区别?

  (1)单片机上资源有限、价格低、应用领域多为小家电、终端设备等

  (2)嵌入式系统片上资源丰富、价格较高、应用领域宽广,譬如智能手机、平板电脑、游戏机、路由器、摄像机、智能电视机、广告机、智能手表、收银机等。

  4、开发模式的区别?

  (1)单片机开发多为裸机,程序规模小,多为单个程序员独立开发。有些复杂产品也会使用高端单片机如STM32之类,并使用RTOS(uCOS、freeRTOS等)。

  (2)嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件的综合研发。

  5、编程语言的区别?

  (1)单片机主要使用C语言(少量用汇编),和标准C略有不同,很少使用结构体、函数指针等c语言高级特性。

  (2)而嵌入式开发较复杂,一般分底层和应用层。底层使用c语言,应用层使用c、c++、java等语言均有。嵌入式c语言对结构体、数据结构、算法、函数指针(用来实现面向对象)等高级特性使用比较多。

  6、软硬件组件方面的区别?

  (1)单片机多涉及一些简单外设,譬如串口、I2C、ADC、LCD(小屏幕和分辨率)

  (2)嵌入式系统则涉及更多复杂外设,譬如网络(有线网卡、wifi、蓝牙等)、USB、音视频解码等

  7、职业发展

  (1)单片机学习路线短,职业平缓,薪资发展很早达到瓶颈,一般瓶颈薪资6-8k

  (2)嵌入式学习路线长,职业生涯久,薪资发展多年才会达到瓶颈,一般瓶颈薪资12-15k

  总结

  从以上我们可以得到其实单片机是属于嵌入式的一个分支,随着现在半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。

  从技术难度和职业发展角度来讲,嵌入式比单片机却有着明显的优势。
其他新闻