软件跟硬件之间的界限已经越来越模糊了,那么处于这个灰色地带的,就是固件了。这就分成三类工作者。
1、软件工程师一般指做图形界面的程序员,工作内容就是写C++、JAVA、Web等。
2、硬件工程师当然是指玩电路板的,工作内容就是画原理图、PCB等。
3、固件工程师也叫单片机工程师,既写代码(主要是C语言、汇编)又要画电路图。
玩单片机的人,可能会有个疑问,为什么我写的C语言能操作到底层的硬件?其实在《计算机组成原理》已经有很详细的介绍了。
我这里粗略地介绍一下,这个原理。
首先你可以搜索一下“从零开始造电脑”,这位叫Steve的大神,就告诉你,用晶体管可以做出CPU(单片机也是CPU)。
当然,我们现在可不会落后到需要到晶体管来制造电脑。
接下来,你可以看一部叫《乔布斯》的电影,剧中就给你展示苹果公司的第一台计算机。
嘿嘿,看到那些黑色的芯片没有?还有两个大大的变压器。这说明了在大学玩单片机的时代,就相当于回到苹果公司的初始时期!是不是很激动人心?
其实你可以用74系列的逻辑IC、单片机等,来搭建一个属于自己的计算机。这就是说人们把若干个晶体管集成为一块74系列的IC,如果集成度更高呢?那就是手机或者台式机用的多核C