文章较长,希望耐心阅读,读完相信会对你的学习一定有帮助~
嵌入式工程师须要把握的内容十分广泛,嵌入式可以说是当下最有前途的IT应用领域,小到电子辞典、手机,大到民航航天设备都是典型的嵌入式系统,为此,通过嵌入式技术人才的职业发展空间是特别大的。要快速学习把握技术我们要学会捉住重点,学会抉择,达到一通百通,事半功倍的学习疗效。
近几年,嵌入式系统产品逐渐建立,并在全世界各行业得到广泛应用。2004年,全球嵌入式系统产品的产量已达2000亿港元,国外嵌入式软件的产量也达到600亿人民币。目前红旗linux操作系统,嵌入式系统产品的研发和应用已然成为我国信息化推动工业化、工业化促使信息化发展的新的国民经济下降点。随着消费电器的智能化,嵌入式更显重要,像我们平时看到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字单反(DC)、数字摄像机(DV)、U-Disk、机顶盒(SetTopBox)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天民航设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里产生更大的应用领域。
嵌入式软件工程师学习路线解读及书籍推荐:
一、嵌入式软件编程的基础
这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。
非常是C语言中对表针的理解和应用。这一阶段的主要目的是学习编程语言、开发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。必学内容有:LinuxUbuntu操作系统安装、使用、Linux常用命令、samba服务器、SSH远程登陆GCC编译器、GDB调试器、VI编辑器
1、嵌入式C语言中级编程
1、C数据类型、控制句子
2、C程序结构设计、数组、函数、预处理:
3、指针及字符串操作
4、结构体、共用体、宏、枚举
5、文件I/O操作
推荐的嵌入式学习书籍:
《C程序设计语言》
《C语言核心技术》
《数据结构与算法剖析--C语言描述》
《C和表针》
《C圈套与缺陷》
《C++Primer》
二、嵌入式设备及GUI开发
操作系统的嵌入式系统的建立,包括系统的启动流程熟悉使用。编撰嵌入式环境配置与开发工具学习。这一阶段的主要目的是把握带有操作系统的嵌入式系统的建立和烧录过程,以及对嵌入式系统软件的总体构成有个整体认识,为我们接出来学习嵌入式应用和驱动开发打下坚实的基础。
1、Linux下项目管理工具Make以及Makefile工作原理及其编撰
2、Linux下shell脚本相关知识及其编撰
3、嵌入式开发环境的基本概念及其搭建
4、A53开发板介绍、设备使用、A53开发板与笔记本通讯、交叉编译
GUI图形界面开发
1、常用控件——button、label、textedit等
2、常用布局形式——水平布局、垂直布局、固定布局、网格布局、相对布局等
3、常用风波及讯号处理技术——信息反弹、鼠标、键盘风波等
4、时间编程、数据储存、绘图机制、定时器处理、多任务处理等
这一阶段推荐的嵌入式学习书籍:
1、《Linux与UnixShell编程手册》
2、《嵌入式Linux应用程序开发解读》
三、嵌入式Linux中级程序设计
这一阶段主要学习下层的嵌入式Linux应用程序开发,包括基于Linux多进程、多线程、网络、文件与目录和QT编程。把握嵌入式Linux环境下应用程序开发技术。嵌入式Linux系统编程。
1、Linux系统调用概念
2、进程相关概念、多进程实现多任务开发
3、进程间通讯:无名管线、命名管线、信号、消息队列、共享显存等
4、多线程实现多任务开发
5、多任务的同步互斥开发:互斥锁、信号量
四、Linux中级网路程序设计
Linux中级网路编程
1、网络相关概念及网路发展
2、TCP/IP合同
3、socket编程、TCP网路编程、UDP网路编程、Web编程开发等
4、Linux网路应用程序开发,Linux网路编程相关API
5、TCP合同服务器的编程技巧和并发服务器的实现
6、HTTP合同及其实现方式,熟悉UDP广播、多播的原理及编程技巧,把握混和C/S构架网路通讯系统的设计
7、IPv6与IPv4合同嵌入式linux应用程序开发考卷,及其编程插口
8、网络数据通讯过程
9、网络原始套接字概念及编程插口
这一阶段推荐的书籍:
《UNIX环境中级编程》
《Unix网路编程》
《QtCreator快速入门》
《精通Qt4编程》
《Linux设备驱动程序》
《Linux设备驱动开发解读》
五、数据库开发
1、数据库概念、数据库类型、常见数据库
2、SQLite数据库介绍及其安装与移植
3、SQL数据库语言(数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)、数据控制语言(DCL))
4、sqlite数据库C语言编程中的各类SQL指令执行函数完成对数据库的控制。
六、C++面向对象中级语言程序设计
C++语言中级语言开发
1.熟悉面向对象的语言概述
2.熟练把握c++语言的基本知识和类与对象及其中级应用
3、作用域运算符、内联函数、强制类型转换
4、new、delete显存管理
5、对象成员、成员函数
6、构造函数、析构函数、拷贝构造函数、函数重载
7、对象字段、this表针、枚举、
8、静态成员、静态成员函数
9、对象成员
10、友元
11、封装、继承、多承继、多态
12、虚函数、纯虚函数、抽象类、虚析构函数等
七、物联网开发
1、了解物联网、泛在网、互联网基本要领及其关系
2、熟悉RFID从低频段到高频段的基本工作原理,以及RFID标签的种类与行业应用,优盘原理与通讯过程
3、熟悉TI的cc2530的基本应用,包含基本硬件资源,合同栈相关插口使用,以及点对点通讯、星形通讯、广播通讯、绑定通讯,三种网路结构star、tree、mesh,把握zibgee相关微控制处理芯片
4、了解zigbe合同栈组成,以及zigbee在通讯、组网、摇控等领域的不同应用
5、通过Bluetooth、wifi和zigbee技术对比各自的异同点,并重点介绍zigbee的各类应用
6、掌握气温、湿度、光照、PH值、二氧化碳等传感的工作原理及通讯插口
7、了解NB-IOT基本概念及移运BC95模块
8、熟悉CoAP合同在NB-IOT中的应用
9、掌握常用AT指定集
嵌入式技术关键在于理论和实践的结合,要才能学因而用,完成了以上的所有阶段的知识点学习后,究竟有没有学会linux空间,会不会用,能不能应用所学知识来解决实际开发中的问题,我们须要来完成一个综合的嵌入式实训项目,比如:
项目一:智能家装项目
本项目实现设备的本地控制与远程控制,对开关量设备,就能实现信息采集类设备的控制如温温度,就能实现监控类设备的控制如视频监控,安全系统如外人入侵才能手动通过GPRS报案。项目涉及技术c语言、多任务开发、网络socket开发、boa网路服务器、CGI编程、html网页设计等
项目二:智能人脸辨识项目
本项目首先通过opencv库的使用来实现人脸基本训练模型检查、再深入学习通过人脸辨识以及实时抓取图象剖析并辨识,了解认识opencv、dlib等开源工具
项目三:RFID智能门禁项目
本项目实现RFID卡辨识嵌入式linux应用程序开发考卷,用户信息注册、修改、删除、语音播报提示可按不同的查询条件查询,可实现考勤
项目四:多媒体播放器项目
实现带有图形界面的音乐播放、暂停、上一曲、下一曲、歌曲列表歌词同步等播放器功能,涉及到的知识点有c语言、数据结构数组、Linux多进程、多线程、进程间通讯、同步互斥等
项目五:智能手机设计项目
本项目就能实现智能手机接打电话、来电显示、收发中法文邮件,查看邮件、信号硬度测量、运营商检查。项目涉及到的技术GPRSAT指令集、Linux多进程、多线程、进程间通讯、同步互斥、GUI图形开发等
项目六:智慧课室项目
本项目可通过NB-IOT等标准物联网通讯合同是实现现代化资源统筹管理,基本功能是实现课室灯控、空调、通风、窗帘、门禁、人流等实时远程监控,以实现联动、手动控制和数据采集剖析
这种项目都综合应用了嵌入式开发当中的应用,驱动和QT开发技术。以上就是我建议的比较系统的嵌入式学习路线。系统学习并能灵活应用以上知识后,嵌入式基本上即使入门了,具备企业项目的嵌入式研制能力了,这时侯去应聘企业的嵌入式研制工程师岗位就不会有哪些问题了。