学习嵌入式开发基础水平测试:
大家都知道这个领域人才非常稀缺,但是,学习周期比较长,需要的知识面也比较广,所以不要心急。先看看下面的几个问题,了解一下你现在的知识水平:
1.你用VC++或BC++编写过应用程序吗?
如果编写过应用程序,那就做好了,如果你没有做过上层应用程序,那么又如何能够去理解更深的更高深的底层程序呢,那就赶快补上这一课吧!!!
2.你曾经编写过单片机或者DSP的程序吗?
我们把类似51单片机或者DSP上面跑的没有操作系统的程序叫做“代码裸奔”,我们也都曾经编写过裸奔的代码。因为有的时候比如我们编写一个简单的程序,就只需要点几个LED检测几个按钮的状态,那么“代码裸奔”弄一个while(1)的死循环就足够了,杀鸡何必用牛刀。
编写这种裸奔的代码,也是学习嵌入式的必由之路,因为,你将会用C语言去对寄存器写控制字,这就是以后写驱动程序的基础呀。
另外需要说明的是,从概念上说,“代码裸奔”也已经属于嵌入式开发的范畴。
3.到了最后一个阶段,你就可以开始找一个方向(uCos、Linux、VxWorks、WindowsCE、Palm等等等等),学习有操作系统的嵌入式开发了。
嵌入式操作系统的种类也是无法计数的,有一些我连名字也叫不上来,太多太多了。但是值得庆幸的是,这些操作系统大同小异,相通的。
你正在在读书,建议学习uCos操作系统(看邵贝贝的《UC/OS操作系统》);如果你不喜欢这么Basic的操作系统,VxWorks也是一个不错的选择,VxWorks进入中国已经好多年了,国内出版的书也都很好,尤其推荐陈智育的《VxWorks程序开发实践》和周启平的《VxWorks下设备驱动程序及BSP开发指南》;Linux简直是恶梦,但是如果你能够走出这个噩梦,你也就成了高手了。
嵌入式开发入门学习基本步骤:
1、基础知识
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programminglanguage(一直没时间读)、数据结构-C2。
2、学习linux
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习
A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。
C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital SignalProcess,DSP处理器通过硬件实现数字信号处理算法。
学习嵌入式linux精品书籍推荐:
1.linux应用编程类
linux程序设计 第三版
李健、宋健建翻译 人邮出版社 (很好,重点推荐)
linux高级程序设计(第二版)人邮出版社
UNIX环境高级编程(第二版) (比较难,建议后期翻阅)
2.平台、驱动类:
《嵌入式linux应用开发完全手册》 韦东山编 人民邮电出版社 定价:69 书号:97871151182623
(讲2440硬件及其2.6平台构建比较好)
《linux设备驱动开发详解》 (宋宝华编) 人民邮电出版社 定价:89
linux2.6字符驱动讲的比较好
llinux设备驱动程序 (第三版)
(驱动的一些理论讲的比较好,但是比较深)
《构建嵌入式LINUX系统》
(美)雅默 着,韩存兵,龚波 改编 中国电力出版社 定价48
本书详细解释了多种不同的目标板架构和硬件配置,包括彻底分析支持嵌入式硬件的Linux。
通过演示如何从源码建立操作系统组件,以及如何查找更多文档和帮助,
《 Linux内核设计与实现(第二版)》 (美)拉芙(Love,R.)着,陈莉君 等译 机械工业出版社 定价:38
本书基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。
3.QT学习教程:
1、 Qt自带的参考文档,包括类的简介、类相关函数的介绍、自带例程的源码及讲解、函数的查找和使用、核心特性、关键技术等
2、《 C++GUI Programming with Qt4,SecondEdition 》
--官方参考文档,讲解精到
3、QT24小时教程
原文转自:http://emb.sunplusedu.com/questions/2013/0705/1904.html