嵌入式系统的基本架构,主要分为硬件和软件两大类,所以需要掌握的知识点主要有:
▪ 硬件方面:外设,常用的传感器,驱动器、总线、信号转换,处理器,存储区,IO设备;
▪ 软件方面:固件开发,操作系统,中间层软件开发,应用软件开发。
所以需要掌握的能力主要有:
▪ 编程能力:C/C++语言开发。基本的开发能力,熟悉函数,指针,链表,结构体,共用体等;
▪ 英语:因为涉及到的芯片手册都是英文,协议,官网,论坛,交流等;
▪ 操作系统:存储,任务调度,进程管理,中断,文件等;
▪ 画图:流程图,控制框图,原理图,示意图;
▪ 技术文档:文档编辑,技术总结;
▪ 测试:测试工具会用,测试方案会出,测试验证会做;
▪ 调试:仿真器调试,在线debug;
▪ 数电/模电:芯片处理逻辑,模拟电路设计;
▪ 工具:会看原理图,会使用调试工具,万用表,示波器,电烙铁,压线钳等;
▪ 算法:各种算法,运动控制,数字滤波,数据查找,数据可视化;
▪ 协议:上下位机通信协议,常用的USART, modbus, Ethercat, CAN, CANOPEN, tcp/IP,▪ 蓝牙,zigbee,wifi,自定义协议等;
▪ 联调:上下位联调,很痛苦;
▪ 其他:软件架构 ,工具软件,debug,编程规范,可能还有管理能力,团队协作;
……
嵌入式的内容多而且杂,相对应的嵌入式有很多路子可选,随着人工智能和物联网的发展,嵌入式也发挥着越来越重要的作用,企业对专业的嵌入式开发人才的需求也越来越大,无论是从行业发展前景还是薪资待遇上来说,从业者都可考虑这一领域。
▪ 硬件方面:外设,常用的传感器,驱动器、总线、信号转换,处理器,存储区,IO设备;
▪ 软件方面:固件开发,操作系统,中间层软件开发,应用软件开发。
所以需要掌握的能力主要有:
▪ 编程能力:C/C++语言开发。基本的开发能力,熟悉函数,指针,链表,结构体,共用体等;
▪ 英语:因为涉及到的芯片手册都是英文,协议,官网,论坛,交流等;
▪ 操作系统:存储,任务调度,进程管理,中断,文件等;
▪ 画图:流程图,控制框图,原理图,示意图;
▪ 技术文档:文档编辑,技术总结;
▪ 测试:测试工具会用,测试方案会出,测试验证会做;
▪ 调试:仿真器调试,在线debug;
▪ 数电/模电:芯片处理逻辑,模拟电路设计;
▪ 工具:会看原理图,会使用调试工具,万用表,示波器,电烙铁,压线钳等;
▪ 算法:各种算法,运动控制,数字滤波,数据查找,数据可视化;
▪ 协议:上下位机通信协议,常用的USART, modbus, Ethercat, CAN, CANOPEN, tcp/IP,▪ 蓝牙,zigbee,wifi,自定义协议等;
▪ 联调:上下位联调,很痛苦;
▪ 其他:软件架构 ,工具软件,debug,编程规范,可能还有管理能力,团队协作;
……
嵌入式的内容多而且杂,相对应的嵌入式有很多路子可选,随着人工智能和物联网的发展,嵌入式也发挥着越来越重要的作用,企业对专业的嵌入式开发人才的需求也越来越大,无论是从行业发展前景还是薪资待遇上来说,从业者都可考虑这一领域。