查看: 2244|回复: 0

[经验] 单片机工程师与嵌入式工程师需要具备的技能

[复制链接]

该用户从未签到

发表于 2021-4-21 15:05:07 | 显示全部楼层 |阅读模式
分享到:
一、单片机的岗位分析                     
1、硬件方向                     
a. 熟悉模拟电路和数字电路的设计运用;
b.有过项目原理图PCB设计,有硬件调试经验;
c.熟练使用硬件开发工具(AD10等),以及PCB设计软件;
d.掌握VHDL、Verilog硬件描述语言,能够编写控制逻辑;

2、软件层面                      
a.熟练AVR,STM32等MCU,熟悉各类传感器;
b.精通C/C++语言,具备良好的代码书写规范;
c.熟悉SPI、IIC、UART、CAN,会多种裸机驱动编写;
d.熟练使用至少一种单片机,如STM32,MSP430等;
e .熟悉KEIL、IAR等集成开发环境的使用、调试、仿真、流程;
f.至少熟悉一种ARM架构,例如:Cortex-M3;
g.了解实时操作系统原理,如UCOS/FreeRTOS/RT-thread;

二、嵌入式的岗位分析                  
接着我们来分析一下嵌入式工程师的岗位需求和技能方向。来了解一下如何成为一名合格的嵌入式工程师。

1、嵌入式软件开发工程师               
Linux平台下的C开发(做嵌入式产品的大型公司):
a.精通C语言;
b.熟悉数据结构;
[表、栈和队列、树(平衡二叉树,霍夫曼树,二叉排序树,二叉查找树,树的应用),图的存储方式、遍历、相关算法]

c.了解和使用常用查找,排序算法;
[静态查找:(1)顺序查找(线性查找)、(2)折半查找(二分或对分查找)、(3)分块查找(索引顺序查找),动态查找:(1)二叉排序树(2)平衡二叉树、哈希查找(哈希表)]

d.熟悉Linux环境,会编写shell脚本;
[对Linux操作系统的组成以及各个层次的实现,Makefile能看懂]

e.熟悉Linux的IO,进程、线程,网络编程(并发服务器的搭法);
f.了解通信相关的知识,至少掌握一种数据库的使用;
g.具备良好的编程习惯和一定问题分析与定位能力,并解决;

2、嵌入式系统工程师               
a.精通C语言,了解汇编语言、数据结构和常用算法;
b.掌握一种CPU体系架构,熟悉常见CPU体系架构,理解MMU、CACHE、内存、DMA等;
c.精通一种嵌入式操作系统,熟悉常见的嵌入式操作系统、文件系统、协议栈;
d.精通Linux操作系统移植、裁剪,驱动编程和调试;
e.具有LCD,Touch,CAMERA,USB,BT/WIFI/GPS,Sensor等驱动3种以上的开发经验;
f.具有良好的英文能力和团队精神;

3、驱动工程师               
a.熟悉数模电,能看懂原理图;
b.熟悉各种硬件协议(SPI\IIC\UART等)及kernel,fpga等;
c.具有一定相关的基础理论,且具备英文文档的阅读能力;
d.熟练掌握device tree、电源管理、内存管理、文件系统管理;
e.熟悉Linux操作系统(驱动模块),驱动框架,会编写shell脚本、makefile;

从上面我们可以看出,单片机和嵌入式方向的岗位要求是不同的。相比于单片机,嵌入式方向对于操作系统的依赖性非常强。另外,虽然单片机工程师也会用到C语言,但使用的语法和复杂程度较低。所以要想转入嵌入式方向,我们要在原有的知识体系上加入的有:

1.C/C++高级语法
2.I/O操作
3.数据结构+算法
4.嵌入式操作系统

建议单片机到嵌入式的转换,比较切合自身特长的方向应该是驱动开发。单片机注重硬件、偏底层,从广义上讲,单片机开发也算是嵌入式开发,相当于简单的嵌入式系统。

单片机工程师一般有着比较熟悉的硬件知识,只需要深入学习一下Linux等嵌入式操作系统的源代码和架构,掌握Linux平台下驱动开发的核心技术,就可以实现从单片机工程师到嵌入式工程师的转换了。并且,如果是想做32位单片机的开发,也可以从STM32系列入手,相关的学习资料还是比较多的。




回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条



手机版|小黑屋|与非网

GMT+8, 2025-1-13 15:58 , Processed in 0.142470 second(s), 18 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.