图片52
除了PC端之外,嵌入式系统应用非常广泛,广泛应用于MCU、PLC、FPGA+CPLD、ARM+Linux等,ARM+Linux都属于嵌入式范畴,嵌入式主要内容包括linux系统、C语言开发、数据库等。
嵌入式技术是指嵌入式技术以应用为中心,基于计算机技术的系统技术,将软件直接烧录到硬件中,而非安装在外部存储介质上。也就是将操作系统移植到现有的硬件上,让操作系统去管理软、硬件资源,减少软件和硬件之间的耦合,在操作系统上做上层应用开发,在操作系统下做底层开发。
内嵌软件使得产品更加智能化,运行更多软件。与操作系统相结合的开发软件是嵌入式软件,而非嵌入式软件是裸机开发(不运行操作系统)。要判断产品是否是嵌入式产品,要看产品是否有跑操作系统,在各行各业有不同类型的操作系统,应用很广泛,但其作用都是孤立的软硬件。
单片微机开发是传统的开发方式,开发流程是先看原理图,再写代码,最后将代码下载到开发板,即由软件和硬件两大要素构成,了解硬件工作原理后再去编写软件,把写好的软件烧录到硬件上,由软件来控制硬件工作(软件即代码,底层的开发板即硬件)。
缺点:软硬件耦合度高,软件移植性差(平台适配性差),运行效率低,功耗大;对于开发者能力的要求,传统的开发工程师是软硬兼施的,相对于团队合作,其开发效率低,工程师精力有限,难以顾及全局,用户体验降低。
内嵌的嵌入式开发是在软硬件的中间移植到操作系统中。系统能够对软件资源和硬件资源进行管理,实现软硬件隔离,如希望在硬件上运行摄像机,首先让软件对操作系统发出相应的指令;通过操作系统来控制硬件,硬件把数据送回操作系统,然后操作系统把数据返回给软件,这样我们就不必在开发软件的时候去理解硬件是如何工作的,如果操作系统没有改变,对硬件的更改也不会影响软件。优势:软件可移植性(适配平台能力强),开发者能力划分更加明确,操作系统可以执行多种任务机制,提供丰富的网络协议,并提供开放源代码软件和库。