提到单片机很多人都很觉得不陌生,大街小巷上面电子产品都用到。近几年随着嵌入式的发展,做单片机的一帮家伙突然觉得大祸临头一般发现自己熟悉掌握的单片机慢慢被嵌入式超越了,那么嵌入式到底是啥玩意,和单片机有啥区别,怎么完成顺利的转化。 从严格意义上来说,单片机是嵌入式的一个子集,嵌入式其实就是对单片机系统的升级,附加了更多的功能,最普通的单片机只需要一个while循环在里面操作实施就可以了,在嵌入式层次已经升级到操作系统级别,在这里面很多人有个疑惑,为啥一提到嵌入式总是和linux挂上钩,其实嵌入式里面用的系统基本上都是基于linux的,其实还有少量别的操作系统的嵌入式,比如早期的wince系统(微软的嵌入式框架),系统的升级了,现在嵌入式设备都可以玩多进程框架了,于之前相比还是不可想象的。 小个头的单片机和嵌入式到底有啥区别? 1.嵌入式在硬件配置上有了全方面的升级。现在大家用的手机都是嵌入式范畴的,基本山属于微型电脑的级别了,这是单片机不能比拟的,其实硬件的配置的大幅度提升也给维修工带来很大的难度,前几天家里刚买的变频冰箱出问题了,上门的师傅看到样式直摇头,又是变频的啊,然后问了一堆故障之后,首先给售后打了一通电话询问,然后我说你不是带了一堆器具嘛,师傅说了句,现在的冰箱里面都是一堆堆的板子,搞什么智能省电,坏了不是重新刷设备就是换板子,我们这些维修工器具越来越没有用武之地了。 科技的进步,嵌入式的全力发展给人们的生活都会带来不一样的感觉,其实对于搞单片机的硬件的升级还是之前的驱动的开发,以及寄存器的设置大同小异。 2.嵌入式在软件系统层次,比单片机丰富了许多,典型的单片机程序MP3,也在风靡了几年迅速被手机产品取代。这也不是简单几个按钮或者一个小显示屏的单片机所能比拟的,特别是安卓系统的出现,实实在在的拉动嵌入式的发展,搞得大街小巷做芯片的公司,如果上面不能跑安卓似乎都没法和客户谈生意。 由于安卓系统的流行其实给开发人员带来一点很大的不同,以前的嵌入式的应用基本不是c/c++方面的,现在java也上来了,因为嵌入式的设备运行个java的虚拟机根本都不是问题。所以现在c/c++就业不如java火热一个很重要的原因。玩过单片机的需要在这个层次深入的加深,从软件的层次上来说不仅仅是简单的寄存器的配置,还涉及到操作系统里面的多进程,多线程的,以及内存和磁盘的管理这些都需要加强。 嵌入式主要分为三个方向,一是系统开发:侧重开发环境搭建、内核原理、交叉编译等; 二是嵌入式Linux应用开发:侧重Linux应用编程、内核编译、系统调用;三是底层驱动开发:侧重嵌入式Linux系统下的驱动开发、内核的深入分析。
|