嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。

       嵌入式系统的分层在我们学习嵌入式的过程中是必须了解清楚的,尤其是作为硬件工程师来说,你不熟悉这些构造对你的工作影响非常大。

       我们如果从下到上分解嵌入式系统,我们可以分为硬件层,驱动层,系统层,应用层。如果你发现有些嵌入式系统没有系统层,这是非常正常的,你也会发现没有系统层的嵌入式系统是相对简单的。       对于不同的分层,我们需要学习的内容也是不一样的,例如硬件层,这个一般是硬件工程师的活,对于他们来说模拟电路、各种元器材还有数字电路是必须摸通摸透的,当然还包括设计PCB,懂FPGA开发等。       而驱动层,中断过程、bootloader过程、相关处理器体系结构都是需要熟悉的。至于硬件原理图、时序图不用说,也是要读懂的。       我们再看到系统层这边,一般来说,这一层大家都不会动手去写操作系统,并不是懒,只是移植会更方便而已。即便如此,该会的还是要会的,例如你要移植Linux,那你u-boot移植不能丢,还有交叉编译、内核调试、根文件系统制作等整个流程也是要熟记在心的。       至于应用层,我们需要分情况来看,是否有操作系统。如果没有,那程序一般是比较简单的。但如果有的话,你不妨将其看成桌面软件开发。一般来说掌握Linux操作系统的相关知识即可。      虽然看着需要掌握的东西不少,但我们在学习嵌入式时做好定位,再分层熟悉学习,还是非常快速能搞懂的。