全面的嵌入式开发学习路线规划_第1页
全面的嵌入式开发学习路线规划_第2页
全面的嵌入式开发学习路线规划_第3页
全面的嵌入式开发学习路线规划_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全面的嵌入式开发学习路线规划一般的应用开发,例如桌面应用的开发,移动应用的开发,通常都是在一个IDE集成开发环境中完成。开发者,熟悉了IDE的使用,熟悉了相关应用编程接口API,就能开发应用了。不需要关心系统本身的太多东西。(当然,这并不是说,一般的应用开发,不需要了解很多的系统知识。如果开发者具有深厚的系统知识,那当然对于应用开发大有帮助)。而嵌入式开发却有所不同,他相当于是做系统集成。开发者可能需要自己确定使用什么cpu,什么内存,什么flash,使用什么外围设备。同时,整个系统的软件,包括boot、内核、文件系统、应用程序,可能有部分或全部需要自己去拼凑或开发。这样的话,光靠一点点编程语

2、言的知识,就难以搞定了。那怎么办呢,当然要学习一些额外的东西了。好了,话归正转。下面给出相关的学习资料。资料出现的顺序,也就是我们学习的顺序。1、 C程序设计语言 C语言作者写的书,超级精简。因为精简,所以,这本书要很认真的读。不要求快,要细嚼慢咽,要多思考,要从头到尾(包括附录)的读。2、 Unix环境高级编程 知名的Unix编程书籍。学完这本书,对一般的Linux应用开发,基本上可以达到得心应手的地步。3、深入理解计算机系统注意,到这里,要进入关键的一步了。这本书,共分为3部分,我们只要看前2部分即可。 这本书,要相当认真的学习。不仅要看,要思考,还要做完所有的练习题(做题非常重要,一定要

3、坚持先做,再看答案)。 同时,书中的内容不可能解答你全部的编程疑问。因此,在学习过程中,对自己以前不理解的概念(如C语法的含义,C+多态究竟是如何实现的等问题),要多写小函数或者小代码片段,多分析他们对应的汇编代码(objdump这个最精确;当然,通过使用-S编译选项也行,它的可读性要好一点,但是可能会带有宏指令)。另外,我的经验是,写小函数时,参与运算的变量,最好将它定义为入参(编译器不敢优化)而不是局部变量或全局变量(容易被编译器优化,导致未能生成你要想看的机器码)。 这本书学完,你将真正成为C语言(甚至C+)的专家。因为你将从机器码的层次,理解C(及C+)的语义究竟是怎么实现的。你还会理

4、解,从C语言代码生成可执行程序的整个过程(预处理,编译,链接,静态库,动态库等)。你还将理解进程的概念,包括进程如何运行,进程如何与OS交互(中断、异常、系统调用)。4、Linux内核设计与实现 到这里,算是开始踏入Linux内核的大门了。这本书,从比较高的层次介绍Linux内核。是非常好的内核入门书籍。5、Linux内核源代码情景分析 华人写的书,超级通俗易懂。从帮助读者理解内核的角度来看,本书几乎可以算是最好的一本书了。6、Linux设备驱动程序 这本书非常注重实用。我们最终的开发,基本上,要么是开发驱动,要么是在内核中做些应用(并与用户态做一定交互)。而这本书恰恰教给我们最老练的开发方法。7、u-boot学习学习u-boot,最好还是买块开发板,以便于实验。开发板不用买高档的,买个基本的arm9的就行了。因为我们是学习嵌入式系统原理,有个基本的arm9 CPU就足够了。当然,如果是做产品,那还是需要根据产品本身的需求来做选型的。有了开发板,就可以修改、编译、烧写u-boot、内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论