嵌入式系统学习的方法、参考科目

来源:互联网 发布:淘宝怎么排名的 编辑:程序博客网 时间:2024/05/14 14:55

一、学习方法:

1先学好ARM接口知识,掌握ARM开发工具ADS,学会使用仿真器,写些接口方面的代码

2掌握好ARM接口知识后,接着再进行bootloader的学习,uboot移植以及系统移植,这时因为之前已经有了ARM接口方面的知识,所以uboot学习及移植就会很快了。接着我们可以移植kernel、制作自己的文件系统。这些都做好后,嵌入式开发环境你就搭好了。

3下面就可以学习Linux系统编程及Linux驱动开发。接口的基础会帮你更容易的理解驱动原理。

二、所学教材 

  1、《C语言》第二版 谭浩强 ; 《C程序设计语言》第二版 徐宝文译 机戒工业出版社 

      指针数组和数组指针吗?你知道函数指针吗? 

      定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗? 

  2、《数据结构》C语言版  黄国愉、叶乃青编  清华大学出版社 

用C语言实现书中的单链表、双链表数据结构吗? 

  3、《实用C++程序设计》第二板 中国电力出版社 Steve_Oualline著 

  此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。 

  4、学习单片机,最好能找个前辈带一带。 

  5、学习ARM单片机。 

   (1)、细读《ARM微控制器基础与实战》周立功编写 (注:即使你不用书中的开发板) 

   (2)、细读相关芯片的原版英文文档。如:arm920TE.pdf  S3C2410_1.2.pdf 

  6、学习uCOS!!操作系统。 

   (1)、细读《嵌入式实时操作系统uC/OS-!!》第二版 召贝贝译 

    你能把uCOS!!移植到自己的平台上吗? 

   (2)、能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序 

  7、熟悉Linux环境,学习Linux环境编程,学习交叉编程 

   (1)、细读《linux命令大全.pdf》 

   (2)、细读《GNU Make 使用手册(中译版).pdf》 

   (3)、学习创建交叉编程环境. 

  8、学习Linux操作系统。      

   (1)、《UNIX环境高级编程》 

   (2)、细读“joyfire 笔记”,可在“www.qianrushi.com”网站的好书下载栏目获取 

      (3)、细读《linux内核完全注释》 

   (4)、细读《understanding the linux kernel 2 

   (5)、利用源代码阅读利器工具"Source Insight"进行真正的linux内核原码刨析 

   (6)、最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序 

  9、学习Linux设备驱动编写。可参考《Linux设备驱动程序》 

  10、复习C++,学习用QT进行图形界面编程 

   (1)、细读《QT编程宝典》 

   (2)、学会通过查看QT电子文档进行QT GUI实地编程 

   (3)、学习交叉编程.(其实就是把命令qmake变为tmake) 

  11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)