嵌入式开发者技能大全


合格的嵌入式开发者应是多面手,应具备各方面的技能,包括从硬件到软件到应用(电力系统保护,自动化,控制,人工智能,机器学习等),从单板到系统整机,从技术到管理,甚至吹拉弹唱也需要了解一点,做项目管理时可以提升团队气氛和丰富业余生活。

嵌入式知识和技能体系庞大,样样精通者凤毛鳞角,一般都是一专多能,各类技能多少都能说上一点。按照嵌入式开发层次关系,整理嵌入式开发者技能大全如下。

 

1、处理器

  MCU架构及开发MCUMicrocontroller Unit),俗称单片机(Single Chip Microcomputer),把中央处理器(CentralProcess UnitCPU)的频率和规格作适当删减,并将内存(Memory)、计数器(Timer)、USBA/D转换、UARTPLCDMA等周边接口,甚至LCD等驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同的组合控制。常见的MCU包括IntelC51/C8051F系列,Motorola68K系列,MicroChipPIC系列等。

  MPU架构及开发MPC指微处理单元,一般不带外围器件(如存储器阵列等),是高度集成的通用结构的处理器。典型如IntelX86系列、飞思卡尔的PowerPC系列、P1系列,ARM架构处理器等。

  DSP架构及开发DSP采用哈佛结构,同一个时钟周期内可以多次访问存储器,多级指令执行流水结构提高了系统的执行效率,DSP芯片常用于复杂的运算,典型如TITMS CXX系列,ADISHARC系列、Blackfin系列等。

 

2CPLD&FPGA架构及开发

  CPLD&FPGA作为专用集成电路(ASIC)领域中的一种半定制电路而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。通过可编程逻辑单元实现各种算法和组合逻辑。 

  基于CPLD&FPGA实现程序开发。包括RTL门级逻辑图设计,VerilogHDL程序设计,VHDL程序设计,XILINX编译软件使用,ALTERA编译软件使用,低速串、并行通信控制器设计,高速串行通信控制器设计。

 

3、电路设计和分析

  包括模拟电路和数字电路设计,包括器件DataSheet阅读,原理图及PCB阅读等。

 

4、原理图/PCB设计工具

CadenceAltiumPADSDXP等。

 

5、电路仿真工具使用

MultisimPspiceADSMATLAB等。

 

6、分立类电子元器件工作原理和选型

电路防护类器件,阻容器件,电感磁珠,DC/DC,晶振,二极管,三极管,稳压管,光耦,MOS管,IGBT,继电器,开关和按键,LED指示灯,PCB板用接线端子,交流互感器等。

 

7、集成类电子元器件工作原理和选型

        AD,逻辑器件,DA,运放,计数器,触发器,锁存器,译码器,SRAM,SDRAM,DDR,FLASH,EEPROM,接口芯片等。

 

8、失效分析与可靠性

物料的构造与工作原理,金相切片,显微观察,PCB形变测量,HALT实验技术,可靠性计算等。

 

9、硬件测试(器件、模件、整机)

元器件测试方法,模件、整机测试方法,元器件、模件、整机测试问题分析,国标、行标理解,EMC问题分析和解决等。

 

10、操作系统架构及开发环境

了解操作系统原理及基本编译原理。操作系统提供CPU资源管理、外设驱动、内存管理、线程/进程管理、文件系统、网络通讯、安全机制、界面管理等。嵌入式实时操作系统的基本特征是事件响应的快速性和确定性,在嵌入式系统中广泛应用。

通用操作系统包括windowsUnixLInux等。目前在嵌入式领域广泛使用的操作系统包括:嵌入式实时操作系统µC/OS-II嵌入式LinuxWindowsEmbeddedVxWorksFreeRTOSQNX等,以及应用在智能手机和平板电脑的AndroidiOS等。

 

11、底层驱动开发

VxWorks操作系统驱动开发,Linux移植,Linux开发,单板DTS配置以及根文件系统生成(Buildroot),U-BOOT移植和开发,C语言开发,Python语言开发,Makefile编写,GNU编译器及工具链的使用,Linux操作系统使用。

具体包括以太网驱动,SPI驱动,I2C驱动,文件系统驱动,CAN驱动等。

 

12、系统软件设计

面向对象,设计模式,UML,嵌入式多任务开发,重构,多核开发等。了解常用的开发过程,如敏捷编程,测试驱动开发等。

 

13、系统软件开发

熟悉开发语言,包括:CC++C#QTPythonJAVA,等。熟悉WEB 开发,开发规范等。

 

14、数据结构与算法

常用数据结构和算法,图论算法,数字信号处理算法,小波算法等。

 

15、网络与通信

计算机网络原理,TCP/IP协议原理及分析,IEC61850规约(建模,MMSSVGOOSE等),103规约,104规约,DNP规约,Modbus协议,物联网Zigbee协议,bluetoothwireshark等报文分析工具,环网HSR协议,网络安全等。

 

16、数据库

数据库原理与设计,SQLite/Access/MySQL/SQLServer/Oracle/大数据hadoop等。

 

17、界面和图形库。ZincUGLQTSVGMiniGUI等。

 

18、应用知识(以电力系统自动化为例)

电力系统常识,继电保护知识,测控知识;智能变电站网络架构,网分,故障录波器,保信,远动等。

 

19、调试和测试

软件测试基础,61850规约测试,网络测试,时间管理测试,应用功能测试(继电保护功能等),ATS测试开发与使用,Labview测试程序开发等。

 

20、项目管理

  配置管理如版本管理工具Git使用等,项目计划与任务划分,项目进度跟踪,项目协调等。


嵌入式开发者技能大全_第1张图片

你可能感兴趣的:(架构设计)