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设计经验。