一位合格的嵌入式工程师

牛逼的工程师是什么样?

1首先是懂各种C语言的技巧:枚举、宏定义函数、函数内静态变量、函数指针、链表。

1.1编程规范、注释规范、代码内文档自动生成。

2文档编写技巧:画流程图、框图、写说明文档。

3一点汇编。

4一点算法:傅里叶、快速傅里叶、矩阵、虚数。

5一点数电:知道操作寄存器、buffer、中断。

6操作系统:内存管理、进程管理、中断管理、启动流程、文件系统、字符驱动、块驱动、uboot、bootfs。

7一点模电:看懂原理图、使用万用表、示波器、逻辑分析仪查找各种问题、使用电烙铁热风枪修复问题。

8一点管理:知道瀑布开发、敏捷开发、项目管理、部门管理。

9架构:死循环、状态机、模块路由。

10通讯协议:UART I2C SPI USB TCP/IP BLUETOOTH CAN ZIGBEE WIFI 4G MPEG2。

11测试:单元测试、黑盒测试、白盒测试、烤机压力测试、高低温老化测试。

12英语:看懂芯片手册、协议文档、芯片官网和论坛。

13调试:使用仿真器:查看内存、寄存器、单步、断点。

13.1查找运行时异常崩溃原因:通过崩溃文件现场恢复、CoreDump、Gdb。

14工具软件:Ubuntu Linux、VMWare虚拟机、Sygwin、Shell/Dash命令行,代码管理Git SVN Gitlab、打tag、分支管理master develop release CICD、版本管理规范,编辑器VSCode SourceInsight VI VIM,调试GDB,文件对比BeyondCompare,二进制查看转换UltraEdit,画图Visio、做表Excel、文档Word、演示PPT。

15附加:JSION、HTML、CCS、JavaScript、PHP、JAVA、C#、显示驱动:贝塞尔曲线、二次贝塞尔曲线、矢量图、位图、点阵。

16转行:web前端、web后端、全栈、ios、安卓、游戏、数据库、C#Windows桌面程序、人工智能、大数据、云计算。

也不知道最后怎样,反正头可以秃了。

你可能感兴趣的:(嵌入式软硬件技术专栏)