芯学长 | 掌握芯资讯,引领芯未来

您当前所在位置:首页 > 芯片设计 > 嵌入式硬件

嵌入式软件开发需要学什么?

发布时间:2023-07-17来源:芯学长 0

1. 编程能力

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

2. 处理器架构

美团、小马智行、石头科技、OPPO、VIVO都要求熟练掌握或者精通STM32单片机和ARM处理器架构,其它加分项有DSP、熟练使用ARM Cortex-A或M系列内核的SOC。这部分我们需要了解Cortex-M和Cortex-A系列处理器架构。哈佛架构、冯诺依曼架构、多级流水线、是最简单的问题。SIMD、MIMD、指令预取、乱序执行这些概念也要搞懂。

3. 操作系统

目前的电子产品功能越来越多,也越来越复杂,操作系统可以极大地简化产品的开发难度。

大疆、美团、小马智行、小米、地平线都要求熟悉Linux下的多进程多线程、网络编程的开发和调试,内存、功耗、性能优化等。

需要懂得C语言和一些简单的汇编语言编程;能够阅读一般嵌入式系统的原理图;至少熟悉一种嵌入式系统的软件开发环境;熟悉一种嵌入式系统软件的开发过程;必要硬件基础知识;理解常见的嵌入式操作系统的工作原理。
需要懂得:(1)懂得C语言和一些简单的汇编语言编程。
(2)能够阅读一般嵌入式系统的原理图。
(3)至少熟悉一种嵌入式系统的软件开发环境。
(4)熟悉一种嵌入式系统软件的开发过程,如:单片机系统、DSP系统、ARM系统或其它的一些潜入式系统。
(5)理解常见的嵌入式操作系统的工作原理,理解线程、进程、信号量、消息机制、同步与互拆、并发控制等软件编程时用到的概念。
(6)必要硬件基础知识。

【免责声明】:本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。

文章评价

-   全部 0 条 我要点评

有疑惑?
在线客服帮您
029-81122100

立即咨询 >