首页
登录 | 注册

嵌入式系统实用教程

主  编:     张同光
ISBN号:     978-7-302-32917-6   9787302329176
出版日期:   2013-09-01
出版社:     清华大学出版社

页码:430      定价:¥45元

http://www.tup.com.cn/booksCenter/book_05374601.html

配套资源下载




1  嵌入式系统开发技术基础... 2

1.1  嵌入式系统概述... 2

1.1.1  嵌入式系统的定义、分类与特点... 3

1.1.2  嵌入式系统的组成... 5

1.1.3  嵌入式系统的应用领域及发展趋势... 5

1.2  嵌入式处理器... 9

1.2.1   嵌入式处理器的分类与特点... 9

1.2.2   ARM微处理器简介... 11

1.2.3  ARM微处理器基础... 12

1.2.4  ARM微处理器的指令系统... 25

1.2.5  ARM内存管理单元... 42

1.3  嵌入式操作系统... 43

1.3.1  嵌入式操作系统的种类、特点与发展... 44

1.3.2  嵌入式Linux概述... 48

1.4  嵌入式系统的结构、开发流程、开发要点... 50

1.4.1  嵌入式系统的结构... 50

1.4.2  开发模式及开发流程... 51

1.4.3  嵌入式Linux系统开发要点... 53

... 54

  1. 54



2  嵌入式系统开发环境... 2

2.1  嵌入式系统开发环境简介... 2

2.2  OK2440-II开发平台介绍... 3

2.2.1  OK2440-II开发板构成... 3

2.2.2  OK2440-II开发板硬件资源... 4

2.2.3  实例—OK2440-II开发板的基本使用... 6

2.2.4  实例—引导Windows CE. 15

2.2.5  实例—引导Linux. 17

2.3  交叉编译的基本知识... 20

2.3.1  ARM编译环境... 20

2.3.2  ARM交叉编译工具链... 21

2.3.3  嵌入式软件开发流程... 22

2.4  实例—创建交叉编译环境... 24

2.5  实例—QEMUGDB的安装及简单使用... 28

2.5.1  QEMU的安装... 28

2.5.2  GDB的安装... 28

2.5.3  运行ARM汇编程序... 29

2.5.4  调试ARM汇编程序... 30

2.6  SkyEye的安装及简单使用... 32

2.6.1  SkyEye简介... 32

2.6.2  实例—安装SkyEye-1.2.6. 34

2.6.2  实例—使用SkyEye-1.2.6. 38

2.7  实例—TFTP服务器的搭建... 41

2.8  实例—NFS务器的搭建... 42

... 45

    2. 45



3  嵌入式软件开发基础... 2

3.1  Linux C语言程序设计基础知识... 2

3.1.1  程序安装目录、头文件、库文件... 2

3.1.2  gcc编译器... 4

3.1.3  实例—使用gcc编译器... 8

3.1.4  GNU make工具Makefile文件... 12

3.1.5  实例—使用makeMakefile文件... 15

3.1.6  glibc. 29

3.1.7  gdb. 30

3.1.8  实例—使用gdb调试器... 31

3.1.9  Binutils工具包... 36

3.2  汇编分类... 39

3.2.1  AT&TIntel汇编语言的比较... 40

3.2.2  ARM ASMGNU ARM ASM.. 43

3.3  GNU ARM汇编语... 43

3.3.1  简单的GNU ARM汇编源程序举例... 44

3.3.2  GNU ARM汇编程序中的语句格式... 47

3.3.3  GNU ARM汇编源程序中的标号... 47

3.3.4  GNU ARM汇编程序中的分段... 48

3.3.5  GNU ARM汇编程序中定义入口点... 49

3.3.6  GNU ARM汇编程序中的宏定义... 49

3.3.7  GNU ARM汇编程序中的常数... 49

3.3.8  GNU ARM汇编程序中的常用伪操作... 50

3.3.9  GNU ARM汇编程序中的特殊字符和语法... 51

3.3.10  ATPCS. 51

3.4  ARM汇编&C语言混合编程... 53

3.4.1  C内联ARM汇编... 54

3.4.2  模块化程序设计... 59

3.4.3  ARM汇编&C语言混合编程... 61

3.5  x86汇编&C语言混合编程... 64

3.6  ELF文件的格式... 66

3.6.1  目标文件的格式... 67

3.6.2  可执行文件的格式... 72

3.7  GNU-ld链接脚本... 76

... 79

    3. 79



4  引导加载程序BootLoader的移植... 2

4.1  BootLoader 2

4.1.1  BootLoader概述... 3

4.1.2  BootLoader的工作流程... 4

4.2  常见BootLoader介绍... 8

4.3  U-Boot-1.1.4源代码分析... 10

4.3.1  U-Boot的代码结构... 11

4.3.2  U-Boot的启动流程... 11

4.3.3  cpu/arm920t/start.S. 11

4.3.4  lowlevel_init.S. 18

4.3.5  lib_arm/board.c. 19

4.3.6  init_sequence[] 23

4.3.7  common/main.c. 29

4.4  移植U-Boot-1.1.4S3C2440A平台... 32

4.4.1  U-Boot的配置与编译... 32

4.4.2  实例—移植U-BootS3C2440A平台... 41

4.4.3  实例—烧写U-BootFlash. 42

4.5  实例—使用U-Boot 43

4.5.1  U-Boot的常用命令... 44

4.5.2  U-Boot的环境变量... 49

4.5.3  U-Boot与内核的关系... 49

4.5.4  添加U-Boot命令... 54

4.6  实例—基于skyeye的移植三部曲之一:Bootloader 56

... 68

  4. 68



5  LinuxARM平台的移植... 2

5.1  Linux内核... 2

5.1.1  Linux内核简介... 2

5.1.2  Linux内核源代码结构... 4

5.1.3  Linux内核源代码的配置... 5

5.1.4  MakefileKconfig.config的关... 6

5.2  Linux内核的移植... 7

5.3  zImage内核的生成过程... 11

5.4  实例—基于skyeye的移植三部曲之二:Kernel 13

5.5  Linux内核启动流程分析... 24

... 25

    5. 25

 


6  根文件系统... 2

6.1  嵌入式Linux的文件系统... 2

6.1.1  基于FLASH的文件系统... 3

6.1.2  基于RAM的文件系统... 7

6.1.3  网络文件系统NFS. 8

6.1.4  Linux根文件系统... 10

6.1.5  Linux根文件系统的目录结构... 11

6.2  Linux系统的引导过程... 11

6.3  建立根文件系统... 18

6.3.1  实例—用BusyBox建立文件系统... 18

6.3.2  实例—建立JFFS2根文件系统... 24

6.3.3  实例—建立Ramdisk文件系统... 27

6.3.4  实例—建立Cramfs文件系统... 32

6.3.5  实例—建立romfs文件系统... 32

6.3.6  实例—建立YAFFS2根文件系统... 34

6.4  实例—基于skyeye的移植三部曲之三:RootFS. 37

... 41

    6. 41



7  嵌入式Linux设备驱动程序开发... 2

7.1  Linux设备驱动程序的相关知识... 2

7.1.1  设备驱动程序的概念... 3

7.1.2   设备类型... 3

7.1.3  Linux设备驱动程序概述... 4

7.1.4 设备驱动程序中关键的数据结构... 5

7.2  Linux设备驱动程序设计... 7

7.2.1 实例—动态加载模块... 7

7.2.2 实例—简单字符驱动程序... 11

... 15

    7. 15



8  嵌入式Linux的图形用户接口... 2

8.1   嵌入式Linux中的GUI简介... 2

8.2   Qt/Embedded. 2

8.3   Microwindows 4

8.4   MiniGUI 5

8.5  OpenGUI 8

... 8

    8. 9






相关文章

  • 搜索引擎设计实用教程-以百度为例 之一:查询处理以及分词技术 中科院软件所 张俊林 2005年11月 随着搜索经济的崛起,人们开始越加关注全球各大搜索引擎的性能.技术和日流量.作为企业,会根据搜索引擎的知名度以及日流量来选择是否要投放广告等 ...
  • 拼写检查错误提示是搜索引擎都具备的一个功能,也就是说用户提交查询给搜索引擎,搜索引擎检查看是否用户输入的拼写有错误,对于中文用户来说一般造成的错误是输入法造成的错误.那么我们就来分析看看百度是怎么实现这一功能的. 我们分析拼写检查系统关注以 ...
  • 上面说过,经过分析得出百度的分词系统采用双向最大匹配分词,但是后来发现推理过程中存在一个漏洞,而且推导出来的百度分词算法步骤还是过于繁琐,所以进一步进行分析,看看是否前面的推导有错误. 那么以前的分析有什么漏洞呢?我们推导百度分词有反向最大 ...
  •     相关提示也是几乎所有搜索引擎提供的一个附加功能,所谓相关提示,就是对于用户提交的查询进行分析,然后根据其它用户相似的查询给予用户提示,比如我输入查询"大长今",检索系统会提示其它象"大长今主题曲&quo ...
  • 各行各类实用网站大合集
    国内学习网站 2. 小语种学习网站:http://xyz.tingroom.com/ 4. 中国大学:http://www.icourse163.org/ 6. 央视网–公开课:http://opencla.cntv.cn/ 8. MOOC ...
  • MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据
    MongoDB最简单的入门教程之一 环境搭建 MongoDB最简单的入门教程之二 使用nodejs访问MongoDB org.mongodb mongodb-driver 3.6.4 bson mongodb-driver mongodb- ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.014 s.
京ICP备10005923号