【嵌入式技能树】

  • 嵌入式工程师需要哪些技能书/技能加点?
  • 学习程度:熟悉 < 有过经验 < 熟练 < 精通

通用技能树

软件

C/C++语言编程经验、编程能力、应用开发、OOP面向对象编程方式、软件框架、
C指针、文件IO、进程线程、高级IO、
对C++中的智能指针、多线程、网络编程有深入的认识和有项目实践经验。
QT项目开发能力,GUI设计、参与过商业项目开发,至少2个以上项目开发经验,

汇编语言、ARM汇编指令集、(编译原理)交叉编译工具的选项设置,

精通嵌入式数据库
算法,入栈出栈、入队出队、插入和删除链表、
数据结构(FIFO)、堆栈、队列、栈、单向和多向链表
操作系统原理
MySQL数据库语言基本语句,独立完成简单的增删改查
在纸上正确写出无语法和逻辑错误的基本算法:冒泡排序/二分查找/链表基本操作

shell脚本编写、Makefile语法、Python、Matlab
运用脚本标准化自动化辅助处理常见的问题,
所以运用脚本语言shell、Makefile、JAVA、Python

OS入门、FreeRTOS/linux/ecos/ucos/wince/VxWorks,

  • 工作内容

根据要求写程序、
根据代码找BUG、
编写代码说明书、

硬件

单片机软硬件知识:中断系统、各种外设模块、时钟系统
原理图、电路图、PCB
对8位、16位、32位MCU,LPC564xx、STM32、A7、A9等ARM芯片进行项目开发

51系列单片机、ARM/MIPS架构知识
熟悉模电数电基础和电路设计,熟悉网络技术,熟悉各种芯片外围电路设计和设计经验,最好有现成的项目产品。

通信

底层(UART/USART-TTL/232/485、IIC、SPI、IIS、CAN)、DQ通信协议及其驱动
上层(USB、IDE、TCP/IP、以太网口、SDIO)

工具

嵌入式开发环境搭建、
开发机linux系统的安装、
相关工具(TFTP、NTP)的使用和配置、
开发环境搭建,keil、IAR、git开发工具、Xshell、eclipse、tftp、
gcc、g++编程工具,在linux下编译运行C/C++开发的小型项目
vim编辑器
gdb调试器

调试

示波器、万用表、

其他

编程习惯和风格,程序稳定可靠,

参加过商业项目开发,

编写规范的概要和详细设计文档

有丰富的嵌入式多任务软件系统分析和设计能力

能否可以在项目中独当一面?能独立完成项目系统方案

开发过程或者产品出现问题时懂得解决?解决系统故障和问题、熟悉项目管理流程

能否站在用户的角度编写说明书?良好的文档编写能力和习惯,能够编写规范的概要和详细设计文档

懂得一个项目完整流程怎么完成?

专业单词和词组,较强的合作精神,上进心、吃苦、加班996?良好的英文阅读能力及较强的学习能力是从事这一领域工作的基础

芯片手册英文版>中文版

了解软件开发工程,生命周期全过程——需求、设计、实现、测试、发布、维护,具有良好规范的编程习惯和文档编写习惯

良好的编程习惯

独立编写超过1万行的模块或工程

与他人合作完成超过10万行模块或工程

掌握10万行代码的模块或工程的内部主要逻辑

学历,多少年工作经验,

有创新精神,抗压能力强,吃苦耐劳,善于沟通,态度认真等等等等

嵌入式软件工程师

U-BOOT

分析、配置、移植、定制编写bootloader

linux内核

分析、简单的配置、编译、烧写移植、裁剪、定制系统模块
模块、内存、进程、设备、中断、同步

根文件系统

制作映像文件、移植busybox、glibc

驱动程序编写

LED、按键、扩展串口、网卡、硬盘、SD卡、LCD、USB、摄像头驱动、NAND、AV

驱动框架

platform框架、input子系统框架

GUI桌面应用系统

基于Qtopia和C++、基于X移植

linux进阶

多进程、多线程、线程池技术、网络编程

嵌入式驱动工程师

编写和移植各种芯片驱动,如音频芯片、图像芯片
优化硬件设备驱动,如温湿度传感器
【驱动层】linux下的BSP包开发和构建、编写linux设备驱动为上层提供API接口,对硬件功能调试
【进阶层】boost
【进阶层】ffmpeg音视频
熟悉linux内核
至少熟悉掌握一个驱动或模块的内部原理
精通控制理论,精通电路设计,
精通汇编,编译器,二进制工具;
精通通信技术;精通硬件原理图;精通PCB设计;精通计算机结构;
精通各种硬件驱动开发,精通bootloader,精通linux内核以及裁剪,
精通多线程编程,精通各种网络协议,精通各种总线协议,
精通各种媒体封装格式,编解码;

嵌入式应用工程师

内核调试技术(添加kgdb补丁,栈回溯、gdb调试)
应用程序调试技术
编写业务逻辑程序
调用驱动工程师提供的接口设备
【应用层】linux的发行版、linux下的socket和opencv网络编程、熟悉TCP/IP协议工作原理
【系统层】linux、windows、塞班、android、ios常用命令和系统架构、android系统的开发和优化,了解系统调度、信号量、锁机制

嵌入式硬件工程师

自动化,电子,通信等专业,
他们要求熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力,熟悉硬件开发模式和设计模式,
熟悉各种芯片及外围设备,熟悉8位16位32位处理器嵌入式硬件平台开发。有的要求有FPGA的开发经验,
精通常用的硬件设计工具:Protel/PADS(PowerPCB)/Cadence/OrCad。一般要有4~8层高速PCB设计经验。

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值