嵌入式系统可以说是很多人都熟知的,现在嵌入式发展快速,广泛的应用在我们的生活中,从智能手机到航空航天技术,嵌入式都在发挥着巨大的作用,对于嵌入式而言,他是软硬可裁剪的,所以嵌入式分为嵌入式软件和嵌入式硬件,嵌入式软件现在可以说发展是极快的,而且这个领域比较新,很多企业都在大量招人,嵌入式软件还是很缺的,但是很多人对嵌入式软件还是很不了解,那今天就跟着业界大神来了解一下嵌入式软件。
其实嵌入式软件这个名词还是比较难以准确定义的,一般把“用于控制、监视或者辅助操作机器和设备的装置”称为嵌入式系统,系统包括一系列软硬件设施等,而嵌入式软件姑且可以认为是嵌入式系统的软件开发这部分。比如:手机的系统开发(Android、IOS等),无人机的系统控制软件、驱动开发,路由器的软件系统开发等等。广义上,可以把单片机(STM32)、SOC等等硬件构成的控制系统中软件开发部分都称之为嵌入式软件开发。
嵌入式软件广泛应用于国防、工控、家用、商用、办公、医疗等领域,如我们常见的移动电话、掌上电脑、数码相机、机顶盒、MP3等都是用嵌入式软件技术对传统产品进行智能化改造的结果。嵌入式软件在中国的定位应该集中在国防工业和工业控制、消费电子、通信产业。
对于嵌入式软件来说嵌入式软件的特点有:
1. 嵌入式软件具有独特的实用性:这个表现在它与外部硬件和设备联系紧密,嵌入式系统是以应用为中心,他面向开发,产业,市场和一些特定的行业,每一种嵌入式软件都有独特的使用价值。
2. 嵌入式软件应有灵活的适用性:适用性表现在嵌入式软件通常可以认为是一种模块化软件,它应该能非常方便灵活的运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。首先它要小巧,不能占用大量资源;其次要使用灵活,应尽量优化配置,减小对系统的整体继承性,升级更换灵活方便。
嵌入式软件可以说现在的势头特别好,自从进入90年代,计算机技术、通信技术和软件技术为核心的信息技术取得了更加迅猛的发展,由于嵌入式系统应用广泛,嵌入式软件在整个软件产业中占据了重要地位,并受到世界各国的广泛关注;如今已成为信息产业中最为耀眼的“明星”之一。就嵌入式软件的未来发展而言,他会成为接下来的核心技术产业。
对于嵌入式软件来说工作岗位还是很多的:
1. 桌面程序:Java、C++、C#、VB、C均可。
2. 网站服务器端开发:JSP(Java语法)、PHP、ASP(C#语法)、Web App框架等
3. 网站客户端:HTML、CSS、Javascript、Flash等等
4. 智能手机程序:安卓使用Java,iPhone使用Objective-C
5. 底层、工具开发:C、C++
6. 多功能脚本程序:Python、Perl、Ruby等等
7. 人工智能:Prolog、PDDL
8. 工业控制:C、PLC、汇编
那么嵌入式软件发展的如此之好,那到底嵌入式软件该如何学呢?
首先就要从这3个方面入手:
1.系统层,把前面的驱动层封装起来,并弄出个接口(驱动接口),同时加上进程控制、内存管理、文件系统、网络通信四样东西,再把这些东西再封装起来,最后提供接口给应用层。当然,由于嵌入式系统是专用设备,具有可裁剪的特性,所以上面五样东西不一定都有。
2.应用层,只要是涉及人机交互界面的都属于这里,其中一种就是手机移动开发。在驱动和硬件这两个层次做出来的产品,我们现在称之为智能硬件。比如无人机:简单来看,无人机就是硬件层+驱动层,可能会有操作系统,还有应用层的人机界面。
3.驱动层,主要工作是对MCU寄存器进行读写、总线的使用以及对传感器什么外设的操作等,简单说就是编写直接操作硬件的代码。
你好好掌握上面这些点对你学习嵌入式软件还是很有用的。