嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)把握主流嵌入式微处理器的结构与原理(初步定为arm9)(2)必须把握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)(3)必须熟悉嵌入式软件开发流程并起码做一个嵌入式软件项目。从事嵌入式软件开发的用处是:(1)目前国外外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是由于这一领域较新,目前发展太快嵌入式linux应用程序开发标准教程,大多数人无条件接触。(2)与企业估算等应用软件不同,嵌入式领域人才的工作硬度一般低一些(但收入不低)。(3)哪天倘若创业,搞自已的产品,嵌入式不像应用软件那样容易被偷版。硬件设计通常都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就弄成自己的产品了。(4)兴趣所在,这是最主要的。从事嵌入式软件开发的缺点是:(1)入门起点较高,所用到的技术常常都有一定难度,若软硬件基础不好,非常是操作系统级软件功力不深,则可能不适于此行。(2)这方面的企业数目要远多于企业估算类企业。(3)有少数公司常常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。
但大多数公司也并无此要求,只要有经验即可。(4)平台依托强,换平台比较辛苦。兴趣的来历:1、成功观念不同,不蹉跎今生,就是我的成功。2、喜欢思索,挑战逻辑思维。3、喜欢CC是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成句子如下:相信程序员。不要制止程序员做这些须要去做的。保持语言短小精干。一种方式做一个操作。促使它运行的够快,虽然它并不能保证将是可移植的。4、喜欢底层开发,厌恶vb类开发工具(并不是说vb不好)。5、发展前景好,适宜创业,不想自己要死了的时侯还是一个工程师。方式步骤:1、基础知识:目的:能读懂硬件工作原理,但重点在嵌入式软件,非常是操作系统级软件,那将是我的优势。课目:数字电路、计算机组成原理、嵌入式微处理器结构。汇编语言、C/C++、编译原理、离散物理。数据结构和算法、操作系统、软件工程、网络、数据库。方式:虽课目诸多,但都是较简单的基础,且大部份已把握。不一定全学,可依照须要必修。主攻书籍:thec++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等。2010-8-2116:46回复122.90.173.*2楼C、网络与信息安全技术:如加密技术,数字证书CA等。D、DSP技术:DigitalSignalProcess嵌入式linux应用程序开发标准教程,DSP处理器通过硬件实现数字讯号处理算法。说明:太多细节未说明,可依照实际情况调整。
重点在于1、3,毋须完全依照次序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是用来显摆得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。注意:要学会举一反多,有强悍的基础,好多东西简单瞧瞧才能会。想成为合格的程序员,前提是必须熟练起码一种编程语言linux系统命令,并具有良好的逻辑思维。一定要理论结合实践。不要一味钻研技术,即使挤出时间是很难做到的,但还是要留点余地去建立其他的爱好,例如宇宙,绘画、机械、管理,心理学、游戏、科幻连续剧。还有一些不乐意做但必需要做的!技术是通过编程编程在编程编下来的。永远不要梦想一步登天,不要做浮躁的人,不要认为路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,虽然成功了发展空间也不一定很大)。嵌入式书籍推荐Linux基础1、《Linux与UnixShell编程手册》C语言基础1、《CPrimerPlus中国linux操作系统,5thEdition》【美】StephenPrata着2、《TheCProgrammingLanguage,2ndEdition》【美】BrianW.KernighanDavidM.Rithie(K&R)着3、《AdvancedProgrammingintheUNIXEnvironment,2ndEdition》(APUE)4、《嵌入式Linux应用程序开发解读》Linux内核1、《深入理解Linux内核》(第三版)2、《Linux内核源代码情境剖析》毛德操胡希明著研制方向1、《UNIXNetworkProgramming》(UNP)2、《TCP/IP解读》3、《Linux内核编程》4、《Linux设备驱动开发》(LDD)5、《Linux中级程序设计》杨宗德著硬件基础1、《ARM体系结构与编程》杜春雷着2、S33CC24102410Datasheet英文基础1、《计算机与通讯专业语文》系统教程1、《嵌入式系统――体系结构、编程与设计》2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操胡希明着3、《BuildingEmbeddedLinuxSystems》4、《嵌入式ARM系统原理与实例开发》杨宗德著理论基础1、《算法简史》2、《数据结构(C语言版)》3、《计算机组织与体系结构?性能剖析》4、《深入理解计算机系统》【美】RandalE.BryantDavidO''Hallaron着5、《操作系统:真谛与设计原理》6、《编译原理》7、《数据通讯与计算机网路》8、《数据压缩原理与应用》C语言书籍推荐1.TheCprogramminglanguage《C程序设计语言》2.PointersonC《C和表针》3.Ctrapsandpitfalls《C圈套与缺陷》4.ExpertCLanuage《专家C编程》5.WritingCleanCode-----MicrosoftTechiniquesforDevelopingBug-freeCPrograms《编程精萃--Microsoft编撰优质无错C程序绝招》6.ProgrammingEmbeddedSystemsinCandC++《嵌入式系统编程》7.《C语言嵌入式系统编程修练》8.《高质量C++/C编程手册》林锐尽可能多的编码,要学好C,不能只重视C本身。算法,构架形式等都很重要。这儿好多书虽然是推荐而已,何必太在乎,关键还是基础,才是重中之重!!!