嵌入式开发需要掌握哪些知识?嵌入式开发相对于其他传统的开发行业来说,嵌入式开发更复杂一些,因为需要同时掌握软件开发和硬件开发的知识,这也是为什么很多人学习的过程总是摸不着头脑的原因,学到牛牛下面就来为大家做详细的讲解
嵌入式开发需要掌握哪些知识:
1. 编程能力:嵌入式工程师大类上属于软件工程师的范畴,编程技能是基本功,对C/C++要求熟练掌握,还要熟悉一种脚本语言,并且对于Linux系统的需要有了解。
2.处理器架构
求熟练掌握或者精通STM32单片机和ARM处理器架构,在很多公司里面如果掌握DSP更好、熟练使用ARM Cortex-A或M系列内核的SOC。
3.操作系统
操作系统是嵌入式开发非常重要的一项知识内容,掌握系统里面的基本操作,系统的内存管理、进程管理、多核、中断、锁、消息队列,性能分析等等内容要足够熟悉。
4.接口与驱动
CAN、SPI、I2C、UART这些常见的低速接口都要求熟悉,其它的像LCD、Touch、Camera、USB、BT/WIFI/GPS、IMU这些在普通人的电子产品上的应用开发如果能熟悉更好。
5.Framework
中间件和协议栈的部分有一个特点,研发机器人的企业一般都会要求熟悉ROS,相机类的企业要求熟悉camera、codec、storage相关的pipeline。
6.应用编程与调试
熟悉Linux或Unix系统编程,了解基本的编译原理,需要掌握gdb、valgrind、strace、perf、coredump等调试手段,用好log系统。
7.硬件知识
很多人都在说嵌入式开发不需要掌握硬件知识,其实在学到牛牛看来这是不对的,因为掌握基本的硬件知识能更好的解决在开发的遇到的问题,至少需要看得懂原理图,并对常用的元件需要有了解。