传统的嵌入式C语言程序员快要灭绝了?
Posted 面包板社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传统的嵌入式C语言程序员快要灭绝了?相关的知识,希望对你有一定的参考价值。
在2000年前后,嵌入式软件工程师有着一套非常具体的技能,他们通常是电气工程师,不仅了解底层硬件的工作原理,还可以在底层编写汇编代码或者C语言代码,以使系统满足实时需求。嵌入式软件工程师不仅要了解诸如C语言的软件开发,还要了解硬件。位、字节、寄存器的世界,正是嵌入式软件工程师的领域。
在早期,嵌入式开发人员通常使用8位或者16位的体系结构,这些结构比较简单,因此开发人员一般在几个月的开发周期内便能掌握这些结构。
但是近些年来,许多嵌入式开发团队已经转向更加复杂的 32 位体系结构,不仅包括一些用于数据采集的采样传感器,以及外围的通信设备,还包括日益繁多的各种协议,例如 USB、DMA、 TCP/IP、蓝牙等。这些复杂的体系架构,或者相关的通信协议,开发人员往往需要数年才能真正的完全掌握。
为了应对“真空”,有些公司并未大力培养嵌入式C语言软件工程师,而是开始依赖具有Windows应用程序或者移动设备程序开发经验的人员来开发他们的实时嵌入式软件。这会导致另外一个较为致命的问题出现:这些开发人员大多只了解公司分配的任务所需的高层应用程序框架,对底层硬件却不够了解。
这样的公司并不在少数。因此微控制器制造商目前正在大力推动为开发人员提供高层的软件框架和工具,真正的硬件底层开发,则由制造商完成。这使得嵌入式软件开发人员,甚至应用程序开发人员更容易在更高层上编写软件,他们不必再担心底层的硬件了,因为相关的“轮子”已经“出厂自带”了。
未来的嵌入式软件工程师将与传统的前辈们有着不一样的技能,他们也不再关心硬件底层,不再关心位、字节、寄存器,也不再关心任务的实时性,事实上,他们可能不再关心任何传统嵌入式程序员需要关心的东西。未来的嵌入式软件工程师可能只需要具备应用程序开发技能,知道如何调用一个 API 让硬件做事。
但是,他们不知道为什么要这么做,以及 API 到底是怎样命令硬件做事的,所以他们也不具备实时调试硬件的技能甚至概念,无法深入到寄存器中。这些工程师,更像是远离硬件的 Windows 程序员。
了解底层硬件的传统嵌入式程序开发人员永远都不会被“淘汰”,否则谁能提供 API,让上层应用程序开发人员调用,以控制硬件工作?
然而现实是,传统嵌入式程序开发人员被公司忽略了。很多高科技公司更加青睐机器视觉、机器学习和其他尖端研究领域的开发人员,值得说明的是,这些尖端人才往往不屑于驱动硬件这类“基础工作”。但是,如果没有程序员能够与硬件设备沟通,所谓的“机器”视觉和“机器”学习又怎样才能实现呢?
-END-
在面包板社区后台,回复"关键词"(如:PCB、电源、电机、嵌入式、信号系统、模电、华为、电子学、电路、c语言...),即可领取:"学习资料包"迎接你的人生巅峰~
#推荐阅读#
▼点击阅读原文,下载《348个实用电路图大全资料》
以上是关于传统的嵌入式C语言程序员快要灭绝了?的主要内容,如果未能解决你的问题,请参考以下文章
[转]什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查