嵌入式职业规划
在嵌入式的软件开发中,可以分为:
-
嵌入式MCU软件开发工程师;
-
嵌入式Linux底层(BSP)软件开发工程师;
-
嵌入式Linux应用开发工程师;
-
嵌入式FPGA算法开发工程师
对于前两个阶段
需要掌握的有:
1,嵌入式MCU软件开发工程师
- 【基本武器】:
- (1)C语言编码能力(数据结构,常用算法,指针和数组,结构体和位域等)
- (2)MCU的理论知识(时钟树,内存,中断,GPIO,功能外设(uart,iic,dma等)等)
- (3)MCU的编码方式(寄存器/库函数),编译下载过程(根据题主选择的MCU来学习)
- (4)基本的电路连线图能看懂(MCU的管脚如何连接到外界器件等)
- (5)实时操作系统编码能力(ucos,freertos,liteos等等)
- (6)业务场景知识(根据题主嵌入式产品场景而定)
- 【升级武器】:
- (1)软件架构设计能力
- (2)示波器,逻辑分析仪使用(调试通信器件使用)
- (3)读取反汇编能力(定位Bug时候可能用到)
- (4)掌握通信协议(串口232通信,485通信,iic协议,spi协议,tcp/ip,can协议等等)
2,嵌入式Linux应用开发工程师
- 【基本武器】:
- Linux C语言编码能力(数据结构,常用算法,指针和数组,结构体和位域等)
- Linux常用功能API(多线程,多进程,锁类,进程/线程通信机制相关等)
- Linux Shell使用(基本的Linux操作能力)
- Makefile/GDB调试
- 掌握通信协议(串口232通信,485通信,iic协议,spi协议,tcp/ip,can协议等等)
- 业务场景知识(根据题主嵌入式产品场景而定)(比如视频,那么rtsp,h264编码,视频基础)
- 【升级武器】:
- (1)软件架构设计能力
- (2)读取反汇编能力(定位Bug时候可能用到)
- (3)Linxu操作系统理解(用户态,内核态,中断机制,内存机制等)
3,嵌入式Linux底层(BSP)开发工程师
- 【基本武器】:
- Linux C语言编码能力(数据结构,常用算法,指针和数组,结构体和位域等)
- Linux裁剪,移植,编译
- Linxu操作系统理解(用户态,内核态,中断机制,内存机制等)
- Linux Shell使用(Linux操作能力)
- bootloader(uboot等)修改
- 基本调试用通信方法(uart,tcp/ip)
- 【升级武器】:
- Linux驱动开发能力
- Linux内核机制
- 等等
tcp/ip)
- 【升级武器】:
- Linux驱动开发能力
- Linux内核机制
- 等等