怎样做一个优秀的嵌入式工程师?
发布网友
发布时间:2022-03-01 20:26
我来回答
共5个回答
热心网友
时间:2022-03-01 21:56
一、嵌入式工程师必备技能总览
在介绍学习路径之前,我们先来了解一下要成为一个优秀的嵌入式开发工程师,需要具备哪些技能。我们从硬件和软件两部分来介绍。
v 硬件部分:
1. 了解主要器件(电阻、电容、电感、各类二极管、三极管、场效应管、逻辑门电路等)。
2. 熟悉万用表的用法,熟悉以上器件的测试方法和测试原理。
3. 了解器件封装的常见类型和特点(直插、表贴、QFNP、BGA、SOT等)。
4. 掌握使用示波器、逻辑分析仪进行测量的方法。
5. 熟知常见器件间通信方式和总线。
6. 能熟练阅读器件手册(datasheet)并根据项目需求对器件进行选型、电路原理图绘制、电路板布局布线,配合结构工艺完成电路板设计。
7. 能根据故障现象对电路板进行测量排查,找出错误并修正。
8. 掌握基本的手焊、拆焊、飞线技能。
v 软件部分:
1. 熟练掌握C语言,熟悉位操作,位段和对齐方式等概念。
2. 掌握基本的汇编语言。
3. 熟悉编译连接的过程和编译指令。
4. 理解程序运行中堆与栈的分配和使用。
5. 熟悉linux系统操作和gcc编译工具、Makefile编写。
6. 熟悉主流嵌入式CPU的架构(如ARM)
7. 熟悉内核态和用户态,了解不同程序运行的状态和编程注意事项。
8. 熟悉系统引导流程,能移植uboot和操作系统,构建根文件系统和设备树。
9. 掌握各类驱动程序模块的编写方法和编译方法。
10. 熟悉网络编程原理和数据库编程。
11. 了解UART,IIS,IIC,CAN,SPI等接口协议并能调试相关设备。
12. 了解至少一种物联网应用层协议如MQTT等。
13. 了解常见的低功耗无线通信模块的使用如wifi,蓝牙,ZigBee。
二、学习路径和重点
确实,我们嵌入式工程师需要掌握的知识很多,上述的每个知识点都可以展开作为一个单独学科或者专题进行讨论。上面繁多的技能要求可能让很多同学望而生畏,不过我们嵌入式工程师的任务主要是工程实现,而不是理论研究,因此对于上面的知识点,我们不需要特别深入的了解,只需要在概念、原理和实践方向进行理解和转化,让我们在工程实践中能受这些理论的指导,利用这些理论完成设计和调试即可。
有一些同学有这样的疑问:我以后的工作目标是嵌入式软件工程师,那我还需要硬件部分的知识吗?这个问题的答案是肯定的,主要有以下2个原因:
1. 嵌入式工程师没有严格的软硬件区分。
嵌入式工程师在实际工作中要不断和硬件打交道,硬件工程师提供了原理图和PCB布局布线图,我们嵌入式工程师要根据数据手册,器件编程指南以及硬件工程师提供的原理图进行软件设计,需要对设计进行上板验证,需要调试除错,这都需要我们有扎实的硬件设计功底,否则就需要不断的去找硬件工程师来咨询,必然会拖慢整个项目的进度。
2. 要想成为优秀的嵌入式软件工程师,一定要熟知硬件知识。
优秀的嵌入式工程师会参与项目的需求分析,器件选型等硬件设计工作,这不仅需要我们有丰富的行业经验,更需要我们有扎实的硬件基础。
另外,驱动编写等工作要求我们必须清晰的了解硬件的特性,如总线速度、时延、单双工模式、是否有缓冲、是否支持DMA等等,了解硬件的特性才能充分挖掘硬件潜力,提升速度和稳定性。
又如,在和硬件工程师一起调试设备问题时,嵌入式软件工程师需要根据硬件特点编写对应的测试程序,如并行总线的数据相位测试、串行差分信号的眼图测试,都需要嵌入式软件工程师编写对应的测试程序。如果嵌入式软件工程师没有相应的硬件知识,沟通成本会陡然增加,项目延期风险也就大大增加了。
综上,要做优秀的嵌入式工程师,而不是浑浑噩噩混日子的小工,就要严格要求自己,把硬件知识也补上来。
热心网友
时间:2022-03-01 23:14
在IT应用领域,嵌入式系统的火爆程度恐怕不低于当下的室外温度,在工业、医疗、家电、通讯等行业中,无所不在的嵌入式系统显现出巨大的发展潜力,然而,嵌入式系统人才的匮乏,已成为*这个行业进一步发展的主要瓶径,无论是在北京、上海、深圳还是内地,嵌入式企业的人力资源经理们最头痛的就是没有办法为企业找到足够的嵌入式系统工程师,与每年几十万找不到工作的应届大学生相比,成为了一个鲜明的差别。
那么,是什么阻碍了嵌入式系统人才的培养和出现呢?在长沙市首家专业嵌入式培训基地——长沙英腾信息技术有限公司,笔者了解到,由于嵌入式系统属于一门年轻的科学技术,在国内的高等教育机构,还没有形成完善高效的培训机构,很多优秀的理工科大学生虽然看好嵌入式系统,但由于找不到合适的学习途径和学习方法,花费了不少时间,走了不少弯路,却始终不能迈入嵌入式系统的门槛。
如何成为一名合格的嵌入式系统工程师,英腾技术的培训老师建议,首先,要对C语言进行充分学习和全面了解,这是IT系统开发的基础,特别是要掌握规范的编程技巧和编拟软件开发文档,从一入门就打好良好的编程习惯;再其次,对逻辑电路和模拟电路,也要有足够的了解,弄懂电路设计的来龙去脉,在这方面,并不需要去学习什么高深的应用技术,但基本功一事实上要扎实,对基本原理和设计方法有充分的理解,也就是说,你不需要能够设计出一块电路板,但一定要熟悉目前市场上的主流开发板;有了这些基础,就可以涉及嵌入式操作系统的原理和编程了,虽然这方面,有很多的资料(其中绝大部份是英文的)可供参考,但在一个经验丰富的老师指导下学习是最快的途径,在 长沙英腾技术已毕业的近千名学员中,绝大部分都可以在授课老师的帮助下用2个半月的时间完成理论知识的掌握,如果是自学的话,时间则至少要在1年以上。
热心网友
时间:2022-03-02 00:48
打好基础 学号C语言,主要还是得动手写程序的!看是永远看不会的。多动手写下代码、根据实验指导师一步一步来。时间搭不上是学不出来的!祝你成功!
热心网友
时间:2022-03-02 02:40
随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。
热心网友
时间:2022-03-02 04:48
学海无涯苦作舟 基础练好要实践然后实践加学习才会成为高手。 相信你
想做一个嵌入式开发工程师需要学什么
想成为一名嵌入式开发工程师,你需要掌握一系列的知识和技能。首先,你需要深入学习嵌入式系统的基本概念和原理,了解嵌入式系统的硬件和软件架构。这包括处理器、内存、接口等硬件知识,以及操作系统、编程语言等软件知识。其次,你需要熟练掌握C/C++编程语言,这是嵌入式开发中最常用的编程语言。你还需要学...
做嵌入式软件工程师需要具备什么技能
1.专注于一个工作,对于程序员来讲,专注于某一个开发工作是非常重要的,如果同时处理几个任务,你只会为此耗费精力,这样只会导致工作效率降低,所以作为嵌入式工程师应该专心做好一个工作,再去做下一个。2.建立条理工作系统,对于程序员来讲,工作如果没有条理,那将是多么可怕的一件事,会直接影响...
一位合格的嵌入式系统软件工程师所需要具备的条件
7、熟练使用嵌入式系统开发平台拥有一套嵌入式系统实验平台,能够极大地帮助嵌入式系统软件初学者尽快熟悉和掌握嵌入式系统 熟悉一个实际的嵌入式系统开发平台,并且能够从事某个具体项目的开发,是获得实际进行嵌入式系统软件开发工作经验的必经之路 如果你满足了上面的这些要求,你就可以成为一位合格的嵌入式...
未来的嵌入式开发工程师需要具备哪些能力
6. 具备吃苦耐劳和不断学习的能力,作为一个嵌入式开发工程师一是要具有吃苦耐劳 的能力、毕竟软件开发是一个项目性很强的工作,再其次,优秀的工程师还需要有不断学 习的能力,软件行业的发展速度惊人,今天还引以为傲的开发技能和经验,二三年后或许 就会成为明日黄花,所以要求开发人员一定要具备不断...
嵌入式软件工程师平时主要负责什么工作
嵌入式软件工程师平时的工作就是负责嵌入式软件系统的规划、设计、编码、测试等工作。嵌入式工程师做嵌入式开发一般都是做产品,而不是做系统,开发周期一般都比较短,加上产品开发都有计划性,加班的情况比较少。加上产品的延续性,嵌入式工程师一个项目需要做很长的时间,越有经验越吃香。由于嵌入式的...
嵌入式工程师的学习流程是什么样子的?
一、基础语言学习 嵌入式工程师的学习之路通常从编程语言开始。首先,你需要熟练掌握C/C++语言,它们是嵌入式系统开发中最常用的编程语言。学习内容包括语法、指针、数据结构、算法等。二、嵌入式系统开发 在掌握了编程语言之后,你需要学习嵌入式系统的基本构成、硬件与软件的交互原理以及常见的嵌入式系统...
如何成为一个优秀的嵌入式BSP工程师?
成为一名优秀的嵌入式BSP工程师,需要具备以下能力:掌握计算机原理、操作系统、硬件原理、C语言等基础知识;能够理解和优化计算机程序;熟悉Linux操作系统及其基础操作;具备Linux驱动程序开发经验;能够阅读和理解Linux内核源码。在学习过程中,推荐阅读以下书籍:《深入理解计算机系统》、《鸟哥的Linux私房菜》、...
如何才能成为嵌入式开发高级工程师
要想成为一个优秀的嵌入式开发工程师,至少需要具体6种能力:1.了解嵌入式硬件知识,包括硬件基础,构成,原理和接口技术等等。2. 精通C语言程序设计,因为嵌入式就是靠C语言来开发应用,所以不懂C语言,一切 免谈。3. 熟悉嵌入式系统知识,如时下比较流行的嵌入式linux系统,要熟悉它的内核代码 ,...
怎样做一个优秀的嵌入式工程师?
一、嵌入式工程师必备技能总览 在介绍学习路径之前,我们先来了解一下要成为一个优秀的嵌入式开发工程师,需要具备哪些技能。我们从硬件和软件两部分来介绍。v 硬件部分:1. 了解主要器件(电阻、电容、电感、各类二极管、三极管、场效应管、逻辑门电路等)。2. 熟悉万用表的用法,熟悉以上器件的测试方法...
嵌入式软件工程师需要学什么?
嵌入式软件工程师需要具备简单的硬件电路设计能力。需要懂得C语言和一些简单的汇编语言编程;能够阅读一般嵌入式系统的原理图;至少熟悉一种嵌入式系统的软件开发环境;熟悉一种嵌入式系统软件的开发过程;必要硬件基础知识;理解常见的嵌入式操作系统的工作原理。需要懂得:(1)懂得C语言和一些简单的汇编语言编程。...