今天我们来学习一下,到底什么是BSP工程师?
嵌入式系统 要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基百科上对嵌入式系统的定义如下: 嵌入式系统(Embedded System),是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统。 通俗的讲,嵌入式系统就是一种具有专一功能的计算机系统。 我们身边就有好多嵌入式设备,常见的比如智能手机,数码相机等消费类的电子设备,再比如最近几年兴起的诸如智能音箱、智能电视、扫地机器人智能家居设备。 当然还包括汽车防抱死系统、各种医疗成像系统等设备。 总之各行各业我们都有可能接触到它,尤其随着智能化时代的到来,很多非智能的设备也将逐步由嵌入式设备所替代,典型的如智能门锁。
嵌入式工程师
随着嵌入式设备应用越来越广泛,相关人才的需求也越来越大。那么相关的人才都有哪些呢? 其中最主要的就是嵌入式工程师。 嵌入式工程师分为两种:嵌入式硬件工程师和嵌入式软件工程师。 嵌入式硬件工程师主要职责: 嵌入式软件工程师从系统软件上又可以分为两种: 嵌入式应用软件工程师主要是负责编写基于嵌入式系统的应用软件。类似于基于Windows上的QQ, Word。 由于我本人是做BSP的,因此这里我们着重讨论BSP工程师。
BSP工程师
BSP,全称Board Support Package,汉语意思即板级支持包。 BSP工程师,顾名思义就是负责板级支持包的开发、调试和维护工作。 那么什么是板级支持包呢? 前面我们讲过,嵌入式硬件工程师负责设计硬件,画出PCB图,工厂会根据PCB图生产出对应的电路板。 一个嵌入式系统光有电路板是不够的,还要有对应的软件支持,软件开发的前提是首先使板子正常稳定的工作,然后再在其上编写对应的应用软件以实现其特有的功能。 其中使板子正常稳定的工作的代码就属于板级支持包。 那么BSP工程师的具体工作有哪些呢? 我们首先从嵌入式设备谈起,前面我们谈到了很多的嵌入式设备,从系统角度来讲这些设备有些是跑操作系统的,有些没有跑。 对于不跑操作系统的设备来讲,其功能相对简单一点,使用的主控芯片一般也比较简单,比如风靡一时的51系列单片机、STM32系列的单片机。 对于这些简单系统来讲,它对软件开发人员要求相对比较低,当然也就没有我前面所说的分工那么详细,有时候甚至从画板、点亮、开发都是由一个人来完成的。
|