欢迎来到培训无忧网!

全国切换

咨询热线 400-001-5729

位置:培训无忧网 > 新闻资讯 > 电脑/IT > 嵌入式开发 >  学习嵌入式开发需要掌握的内容包括哪些?

学习嵌入式开发需要掌握的内容包括哪些?

来源:培训无忧网 发布人:云朵

2022-01-15 16:09:48|已浏览:5342次

学习嵌入式开发需要掌握的内容包括哪些?

      如果我们想学习嵌入式,需要掌握哪些内容呢?

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库配置已经很完善了。但是想要用好就有一定难度了,在这里需要了解内存管理、进程管理、多核、中断、锁、消息队列,性能分析等等内容来应对开发工程中帧率下降、系统秒级卡死、相机丢帧等异常。

4. 接口与驱动

      许多初涉嵌入式行业的人会狭隘的认为搞嵌入式就是写驱动。

      美团无人配送、小马智行、石头科技对CAN、SPI、I2C、UART这些常见的低速接口都要求熟悉,其它的像LCD、Touch、Camera、USB、BT/WIFI/GPS、IMU这些进入寻常百姓家的Sensor驱动开发经验是妥妥的加分项。

      低速接口的驱动,在厂家提供的BSP中一般都有,只需要仔细看手册,搞清各接口所需的工作模式并做适当配置,该用中断的时候用中断,该用DMA的时候用DMA,即可。

5. Framework

      中间件和协议栈的部分有一个特点,研发机器人的企业一般都会要求熟悉ROS,相机类的企业要求熟悉camera、codec、storage相关的pipeline。还有基本的协议栈也是必须了解和掌握的。

6. 应用编程与调试

      美团无人配送、小马智行、NINEBOT、小米都要求熟悉Linux或Unix系统编程,了解基本的编译原理,需要掌握gdb、valgrind、strace、perf、coredump等调试手段,用好log系统。

      只要掌握上面编程能力、操作系统、Framework这些内功心法,调试工具不过是招数。

7. 硬件知识

      科技企业大多要求了解一定的硬件知识,基础硬件知识的掌握程度,达到可以看懂原理图并对常见的元器件有一定了解,熟悉模电数电知识即可。基本上是电子工程类学生,所学专业课的内容。另外,要会使用示波器等测试仪器,会驱动常见的传感器等。

      注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-15246.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注嵌入式开发频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050

留下你的信息,课程顾问老师会一对一帮助你规划更适合你的专业课程!
  • 姓名:

  • 手机:

  • 地区:

  • 想学什么:

  • 培训无忧网
免 费 申 请 试 听
提交申请,《培训无忧网》课程顾问老师会一对一帮助你规划更适合你的专业课程!