📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
FW是什么?
Firmware指固件,但不同于计算机软件产品,特指那些小型系统(各种各样的单片机控制器)上独立运行的特制的软件产品,比如:遥控器,电视机,洗衣机等等。Firmware是这些产品的大脑,几乎控制着产品所有用户交互功能的实现。它非常重要,对特定产品,Firmware往往是实现竞争优势的主要部分,因为它是软件,看不见摸不着,也就不容易抄袭模仿和破解。
以SSD的固件为例,如果将SSD比作计算机,固件则是包含核心操作系统和应用软件的集合体。
固件通过驱动主控芯片调度各个硬件模块,实现闪存和主控芯片之间的兼容,完成数据从主机端到闪存端的写入和读取,实现标准计算机可以使用的均存储设备功能。
FW开发岗位
Firmware开发岗位在市场上有多种称呼:嵌入式软件开发工程师,Firmware工程师,固件工程师。
当前,几乎所有电子产品内部均需搭载微型控制单元(MCU),因此固件开发成为电子产品设计的核心环节。随着智能设备、物联网终端及工业控制系统的广泛普及,这一领域的市场规模持续扩大,进而催生出对固件开发人才的庞大需求。
从薪酬体系来看,固件工程师的薪资水平横向对比呈现以下特征:虽略低于纯软件领域开发人员,但相较于硬件设计与结构工程岗位仍具备显著优势。
FW工程师职业发展路线
从职业发展通道来看,固件工程师群体呈现典型的技术纵深成长路径。行业通行的晋升体系为:初级工程师(1-3 年)→中级工程师(3-5 年)→高级工程师(5 年以上)。资深从业者通常面临两条发展路径选择:横向转型为技术管理岗(如研发项目经理、技术总监),或纵向深耕成为领域专家(如系统架构师、算法专家)。行业发展天花板高度与细分赛道的技术迭代速度、企业平台的技术生态位直接相关。目前行业共识认为,MCU 原厂(如 STMicroelectronics、NXP)及各垂直领域头部企业(如大疆、华为终端)能为技术型人才提供最前沿的研发场景和最具挑战性的技术命题。
FW岗位技能要求
1、能读懂电路图,理解产品的电子设计原理,Firmware开发是基于硬件设计的。不需要特别深入,但一定要能读懂硬件的设计,才能根据硬件设计,编写对应的Firmware功能。
2、熟悉计算机体系结构和原理,理解Firmware程序在单片机(MCU)上启动,执行过程。
3、掌握并熟练使用C语言进行开发,懂汇编语言。
4、掌握常用的MCU通讯接口协议:I2C,SPI,UART,I2S。
5、掌握特定领域的应用协议:HTTP,USB,BT/BLE,HDMI,WIFI。
6、熟悉至少一种常用的嵌入式操作系统:Lunix,uCOS-II,ThreadX,VxWorks,FreeRTOS。
固件的存储介质
固件的存储介质可以包括以下三种:
a. ROM(只读存储器):这是最常见的固件存储介质之一,其中的数据在制造过程中被固化,用户无法进行修改。
b. Flash存储器:Flash存储器是一种可擦写和可重写的存储介质,广泛用于固件存储。它可以通过专门的程序进行擦除和写入操作。
c. EEPROM(电可擦可编程只读存储器):EEPROM是一种可擦写的存储介质,它可以在电源关闭的情况下保留数据。与Flash存储器相比,EEPROM更适用于小容量的存储需求。
固件的生成文件格式
固件的生成文件格式通常根据不同的硬件平台和开发工具而有所不同,以下是其中三种常见的文件格式:
a.bin:二进制文件是最基本和常见的固件文件格式之一。它是由机器语言指令组成的二进制形式,可以直接加载到目标设备中运行。
b.hex:十六进制文件是一种常见的固件文件格式,通常用于微控制器和嵌入式系统。它将固件的机器语言指令以十六进制数的形式表示,适合直接烧写到存储器中。
c. elf(Executable and Linkable Format):ELF是一种通用的可执行文件格式,广泛用于嵌入式系统和操作系统。它包含了程序的可执行代码、数据和其他相关信息,可以用于调试和动态加载。