怎么学习当一名嵌入式软/硬件工程师?

发布时间:2017-01-27 阅读量:10814 来源: 我爱方案网 作者: cywen

本文是资深嵌入式工程师和大家分享作为一名嵌入式工程师,应当怎么学习和积累。

嵌入式技术是各种电子产品的核心技术,也是工业4.0、远程医疗、3D打印等新兴产业的核心技术,具有广阔的发展前景。很多计算机、电子信息类专业的学生都想把嵌入式开发作为自己的职业目标,但是因为嵌入式涉及的知识太多,太杂,太广,很多嵌入式初学者陷入嵌入式知识的海洋中,东学一点,西学一点,找不到学习的方向。 作为过来人,想给大家谈谈正确的嵌入式学习路线,供各位嵌入式初学者参考,希望对大家有所帮助。

嵌入式工程师需要掌握的内容非常广泛,主要包括嵌入式软件、嵌入式硬件、以及相关行业、产品的专业知识。作为嵌入式初学者,我们不可能,也没有那么多精力把所有的知识都搞的很精通,要学会抓住重点,学会取舍,达到一通百通,事半功倍的学习效果。

首先嵌入式技术主要分为嵌入式软件和嵌入式硬件2大方向。

嵌入式硬件方向

嵌入式硬件工程师主要工作职责是为产品设计硬件电路原理图,设计硬件PCB板,选择合适的元器件,焊接调试硬件电路板,保证硬件电路板的可靠性、稳定性和抗干扰能力。因为现在集成电路发展迅速,大部分集成电路厂商都会提供参考电路,所以硬件电路原理图的设计相对来说比较简单,硬件工程师工作的含金量主要体现在产品的可靠性和稳定性设计、以及电磁兼容设计,这才是硬件设计工程师的含金量所在。 一个资深的嵌入式硬件工程师年薪都在10万~ 30万之间。

要成为一个资深的嵌入式工程师相当难,一方面要有非常扎实的理论知识,同时也要有相当的那种大型的、高频CPU、多层PCB板的设计经验。嵌入式硬件工程师要学的课程主要有模拟电路设计、数字电路设计、电磁波理论等。熟悉常用的放大电路、滤波电路、电源电路设计和分析。

嵌入式软件方向

嵌入式软件工程师的职责主要是根据产品的功能需求设计好软件,让硬件工作起来。嵌入式电子产品硬件部分,大部分都是相同的,核心的都是由CPU、RAM和FLASH 几大部分组成,而软件就千差万别了。产品的具体功能都是由软件来实现的,一般来讲一个产品的实现,软件设计的工作量是硬件设计的4~5倍。所以一般情况下,一个公司的软件工程师数量是硬件硬件工程师的4~5倍,嵌入式软件工程师需求比硬件工程师大很多,同时跟硬件工程师相比,嵌入式软件工程师学起来相对容易些,所以这里我重点和大家谈一下嵌入式软件工程的学习路线。


1、打好嵌入式软件编程的基础
这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。

特别是C语言中对指针的理解和应用。这一阶段的主要目的是学习编程语言、开
发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。 这一阶段推荐的嵌入式学习书籍如下:《C程序设计语言》,《C语言核心技术》,《数据结构与算法分析--C语言描述》,《C和指针》,《C陷阱与缺陷》,《C++ Primer》

2、学习ARM体系结构编程
这一阶段才是真正的嵌入式编程,首先我们要选择一款嵌入式CPU和一款嵌入式开发平台,目前ARM 嵌入式CPU应用最广泛,这一阶段重点是学习嵌入式CPU的裸机编程,熟悉中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等常用嵌入式外围设备的硬件工作原理,以及如何使用C语言来编程、控制这些硬件。这一阶段除了要学习对硬件编程之外,还需要学习嵌入式硬件的知识,但是对于嵌入式软件工程师来讲,重点是学习硬件的工作原理,在掌握硬件工作原理的基础上,对硬件进行编程控制。这和硬件工程师学习的侧重点有所不同。这一阶段对应的学校的课程主要包括模拟电路、数字电路、微机原理和单片机。这一阶段重点是要看CPU的芯片手册,大部分的参考书也是对芯片手册的翻译。推荐的参考书籍如下:《ARM嵌入式系统开发--
软件设计与优化》。

3、学习嵌入式系统的构建
这一阶段主要学习带有操作系统的嵌入式系统的构建,包括系统的启动流程、Bootloader的工作流程、UBOOT的编译、裁剪与移植、嵌入式Linux内核的裁剪、移植与编译,嵌入式根文件系统的定制、BootLoader、内核和根文件系统的烧写。 这一阶段的主要目的是掌握带有操作系统的嵌入式系统的构建和烧写过程,以及对嵌入式系统软件的总体构成有个整体认识,为我们接下来学习嵌入式应用和驱动开发打下坚实的基础。 这一阶段推荐的书籍如下:《构建嵌入式Linux核心软件系统实战》

4、学习嵌入式Linux应用程序开发
这一阶段主要学习上层的嵌入式Linux应用程序开发,包括基于Linux多进程、多线程、网络、文件与目录和QT编程。掌握嵌入式Linux环境下应用程序开发技术。这一阶段推荐的书籍有: 《UNIX环境高级编程》, 《Unix网络编程》,《Qt Creator快速入门》, 《精通Qt4编程》

5、学习嵌入式Linux驱动程序开发
这一阶段主要学习底层嵌入式Linux设备驱动程序开发设计,包括常用的字符设备驱动、块设备驱动、LCD设备驱动、触摸屏设备驱动以及驱动程序开发中的核心技术。这一阶段推荐的参考书籍有:《Linux设备驱动程序》,《Linux设备驱动开发详解》

6、完成一个综合项目
嵌入式技术关键在于理论和实践的结合,要能够学以致用,完成了以上的所有阶段的知识点学习后,到底有没有学会,会不会用,能不能应用所学知识来解决实际开发中的问题,我们需要来完成一个综合的嵌入式实训项目,例如: 基于嵌入式Linux平台实现的飞行器、 基于嵌入式Linux平台实现的智能机器人等,这些项目都综合应用了嵌入式开发当中的应用,驱动和QT开发技术。

以上就是我建议的比较系统的嵌入式学习路线。系统学习并能灵活应用以上知识后,嵌入式基本上就算入门了,具备企业项目的嵌入式研发能力了,这时候去应聘企业的嵌入式研发工程师岗位就不会有什么问题了。
相关资讯
快包故事:精准匹配,高效交付——1Mbps蓝牙高速冷钱包硬件方案成功落地

一位专注于高安全性与便捷性数字资产管理的客户,计划开发一款硬件冷钱包(离线存储加密货币私钥的设备)。其核心需求明确且具有挑战性:设备需支持蓝牙传输(速度要求达到1Mbps,关键数据传输需在5秒内完成);配备显示屏用于操作确认和交易信息展示;集成高安全性指纹识别模块进行用户身份验证;核心功能是安全可靠的离线签名机制(私钥永不触网);并确保设备具备充足的**运行内存(512MB或以上)**以保证复杂加密算法和操作的流畅性。此外,客户对产品的安全性、稳定性和用户体验有着极高要求。

高精度充电监控系统的开发与交付

某工业设备制造商通过专业平台寻求电源管理系统解决方案,核心需求为实时监控充电过程。该系统需集成2.4寸LCD显示屏动态展示充电进度、电压电流参数及剩余时间,同时通过RS232串口将数据传输至PC端软件实现双屏同步显示。界面设计强调直观性,要求关键数据布局清晰,便于操作人员快速获取信息。

快包故事:精准掌控,一目了然 —— 我爱方案网助力智能充电监控系统高效交付

在智能设备普及的今天,用户体验的细腻程度往往决定了产品的市场竞争力。当一家新能源设备制造商面临一个看似明确却充满技术挑战的需求——实时、精准、直观地显示充电核心数据,并实现本地与远程双重监控时,他们亟需一个可靠的解决方案合作伙伴。这个过程涉及精密的数据采集、优雅高效的UI设计、稳定的数据传输以及软硬件的完美协同。面对精度要求、显示优化、双通道数据同步等难点,他们如何快速找到“对的人”,高效地将蓝图变为现实?本文将分享一个通过我爱方案网平台精准匹配,成功开发并交付“智能充电监控显示系统”的真实快包故事,揭秘其核心需求、攻克的技术堡垒以及确保客户满意的交付历程,展示专业方案对接如何为创新产品注入强大动能。

快包故事:智能4G多触发模块与跨平台监控系统成功交付

迅联科技公司是一家专注于智慧农业监控的创新企业,他们急需一种能够远程、及时、精准触发的监控系统,用于大棚异常状况的报警联动。当传感器检测到大棚环境异常时,该系统需要第一时间将报警信息推送给分散在全国各地的多个管理员,并区分不同报警类型的优先级。他们通过“我爱方案网”平台发布了需求,迅速吸引了众多方案商的目光。

快包故事:24路电磁阀同步控制器的急速交付——我爱方案网助力工业设备商实现CAN总线到高压驱动的精准转换

当24路电磁阀的同步脉冲成为产线升级的生死线,当CAN总线指令与24V强电驱动陷入跨电压战局——这家工业设备商在我爱方案网打响了一场72小时闪电战!基于现成STM32F103核心板的二次开发,方案商以三大破局之术:CAN总线毫秒级响应优化、3.3V/24V混合驱动堡垒设计、原子级操作实现0.2μs通道同步,不仅撕碎技术困局,更用「核心板+底板」定制模式将交付周期砍掉67%。这不仅是控制 器的胜利,更是平台精准匹配经验与供应链极速响应的暴力破壁!