嵌入式工程师需要学哪些

 我来答
小楠教育问答
2023-07-24 · TA获得超过107个赞
知道大有可为答主
回答量:3322
采纳率:99%
帮助的人:46.6万
展开全部

嵌入式工程师需要学编程能力、处理器架构、操作系统等。

1、编程能力

嵌入式工程师大类上属于软件工程师的范畴,编程技能是基本功,DJI、小马智行、NINEBOT、石头科技、OPPO、小米、地平线这些公司都对C/C++要求熟练掌握的程度。除此以外对解释型语言要求为至少熟悉一种脚本语言。

了解Linux系统,会使用Makefile工程管理工具等。可见,C和C++仍旧是嵌入式开发绝对主流的语言。底层软件这么多年来,一直是C的天下,在可预见的将来,不会改变。

随着系统复杂度越来越高,越来越多的应用层软件采用C++来编写。Sehll主要用于制作工程管理工具,Python可以让你和人工智能工程师愉快对话。

2、处理器架构

美团、小马智行、石头科技、OPPO、VIVO都要求熟练掌握或者精通STM32单片机和ARM处理器架构,其它加分项有DSP、熟练使用ARM Cortex-A或M系列内核的SOC。

这部分我们需要了解Cortex-M和Cortex-A系列处理器架构。哈佛架构、冯诺依曼架构、多级流水线、是最简单的问题。SIMD、MIMD、指令预取、乱序执行这些概念也要搞懂。

3、操作系统

目前的电子产品功能越来越多,也越来越复杂,操作系统可以极大地简化产品的开发难度。大疆、美团、小马智行、小米、地平线都要求熟悉Linux下的多进程多线程、网络编程的开发和调试,内存、功耗、性能优化等。

无人驾驶和无人机,这些对响应速度要求高的行业,对实时操作系统也有不同程度的要求。在这一部分我们需要掌握基本的操作系统知识,理论结合实际,熟悉一个RTOS,大多数的RTOS的复杂度远小于Linux。Linux拥有完善的生态,相较于RTOSLinux的C库配置已经很完善了。

但是想要用好就有一定难度了,在这里需要了解内存管理、进程管理、多核、中断、锁、消息队列,性能分析等等内容来应对开发工程中帧率下降、系统秒级卡死、相机丢帧等异常。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德朴森
2024-04-22 广告
序号\x09课程代码\x09课程名称\x09学分 1\x0903708\x09中国近代史纲要\x092 2\x0903709\x09马克思主义基本原理概论\x094 3\x09 15\x09英语(二)\x0914 4\x090420\x09... 点击进入详情页
本回答由德朴森提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式