说到嵌入式开发,对于很多非本专业的人来说都比较陌生,因此那些跨行的人如果想要学习嵌入式开发,那么就必须先了解什么是嵌入式开发,然后才能更好的学习嵌入式开发相关的知识和内容,对此大家不必担心,我们为大家整理了嵌入式开发入门需要的具备一些条件,希望大家能更好根据自身情况,扬长补短。
1. 编程能力
嵌入式工程师也可以说是软件开发工程师的一种,因此编程是基本技能,很多公司要求嵌入式开发工程师要掌握C/C++,除此之外还要掌握一门脚本语言,对Linux也要有了解。
2. 处理器架构
很多大公司都要求熟练掌握或者精通STM32单片机和ARM处理器架构,其它加分项有DSP、熟练使用ARM Cortex-A或M系列内核的SOC。这部分我们需要了解Cortex-M和Cortex-A系列处理器架构。
3. 操作系统
目前电子设备产品的功能越来越丰富,复杂难度也越来越大,操作系统可以极大的简化产品的开发难度。
4. 接口与驱动
对于很多刚刚进入这一行的人来说,很认为嵌入式开发其实就是写驱动,这种是错误的认知,现在很多企业要求从业者掌握CAN、SPI、I2C、UART这些常见的低速接口,其它的像LCD、Touch、Camera、USB、BT/WIFI/GPS、IMU这些进入寻常百姓家的Sensor驱动开发经验是妥妥的加分项。
5.Framework
中间件和协议栈的部分有一个特点,研发机器人的企业一般都会要求熟悉ROS,相机类的企业要求熟悉camera、codec、storage相关的pipeline。还有基本的协议栈也是必须了解和掌握的。
6. 应用编程与调试
了解基本的编译原理,需要掌握gdb、valgrind、strace、perf、coredump等调试手段,用好log系统。
7. 硬件知识
对于科技企业来说,都要求要掌握一定的硬件编程知识,至少要能看得懂原理图并对常见的电子元器件有一定的了解才行,如果能熟悉数电知识更好。