嵌入式设备组织结构的一些认识
嵌入式设备集机械元件、电子器件、软件于一体。我将嵌入式设备按照工作原理分为机械层、硬件层、驱动层、管理层。
各层具体解释为:
1.机械层:由机械零件及各类电气元件<如电动机、气阀>、传感器<如限位开关、加速度计>组成一体的机械设备,但是其保留了电子信号驱动接口。也就硬件层的驱动端口。
2.硬件层:由微控制器或者DSP、SoC这类元件完成数字处理及控制功能,LCD及Button这类显示输入外设完成显示和外部控制,或者其它芯片的硬件控制板。其中LCD、Button为用户管理设备提供了显示和输入接口。
3.驱动层:简单说就是完成能够驱动硬件层中芯片的代码。例如,完成LCD的驱动代码。再该层中可以为硬件层加入RTOS<例如UCOS-Ⅲ、FreeRTOS>,为LCD的显示加入GUI<如STenWim>制作漂亮的界面。
4.管理层:根据嵌入式设备的具体用途,我们可以设置不同的管理方式。普通用户管理设备常用一些APP实现,拿智能手环为例子,里面有健走、跑步、骑行等等APP,普通用户只需要关心这些APP如何使用即可,而对于专业人员来说他们可能需要更加全面地了解设备,因此可以为这类人员设置一些二次开发接口,最常见比如,Microsoft设计了Windows操作系统,同时为了专业人员能够高效地开发,增长Windows的繁荣性,提供对Windows系统的编程接口。
其实也可以看出管理层的开发人员比驱动层、硬件层的开发人员多,主要是因为管理层上开发更加灵活,实现相对而言更加简单。所以,嵌入式软件工程师的需求肯定高于嵌入式硬件工程师的需求。但嵌入式硬件工程师缺一不可,而嵌入式软件工程师少了你,还有其他人顶替。
再看看各层需要的专业人员:
1.机械层:机械工程师、电气工程师 <主要是说,机械电气一体设备>
2.硬件层:硬件工程师 <具体还可以细分>
3.驱动层:嵌入式驱动工程师
4.管理层:嵌入式软件工程师 <其实还应该包含 算法工程师>
当然还能期望各层工程师能够完成文档的编写工作。
再看看各层的工资会发生怎样的变化。工资多少是资本方与技术提供方博弈的结果。<注:这讲的是完成市场化的情形下。国企、事业单位等不在此列>
可以得出两个基本结论:1.资本方会以较低的价格招募人员 2.技术提供方会以较高的价格应聘
当资本方强势、技术提供方弱势时,显然将实现资本方的目标。<大量技术人员找不到工作,资本方必定会压低招募价格>
当资本方弱势、技术提供方强势时,显然将实现技术提供方的目标。<技术人员较少时,资本方为了活下去,必定会抬高招募价格>
然而事实却是,资本方强势的时间永远比技术提供方长,长,长。
再看工资,一名出色的机械工程师、电气工程师、硬件工程师的工资肯定高于嵌入式软件工程师。然而事实却是,相反。造成这种原因的主因,还是资本方太强势<明显的有削减对应就业岗位、通过学校增加该类工程师的培养、龌龊的可以雇佣写手贬低该类工程师的职业价值>。