图书介绍

嵌入式系统原理与应用2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

嵌入式系统原理与应用
  • 常华,黄岚,张海燕编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302292500
  • 出版时间:2013
  • 标注页数:429页
  • 文件大小:74MB
  • 文件页数:444页
  • 主题词:微型计算机-系统设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式系统原理与应用PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 嵌入式系统概述1

1.1嵌入式系统的定义1

1.2嵌入式系统的发展2

1.3嵌入式系统的组成3

1.4嵌入式系统的分类4

1.5嵌入式系统的开发流程8

1.6如何学习嵌入式系统10

第2章将ARM微处理器S3C2440作为高档单片机的开发与应用12

2.1了解ARM微处理器S3C244012

2.1.1 S3C2440的硬件资源配置12

2.1.2 S3C2410与S3C2440的主要区别14

2.1.3认识一个由S3C2440微处理器组成的嵌入式系统14

2.2 S3C2440对存储器和寄存器的组织15

2.2.1 S3C2440对存储器的组织16

2.2.2 S3C2440对寄存器的组织17

2.2.3 S3C2440对特殊功能寄存器SFR的组织18

2.3 S3C2440的启动方式19

2.3.1 Nand Flash与Nor Flash19

2.3.2 S3C2440的Nor Flash启动20

2.3.3 S3C2440的Nand Flash启动20

2.4 ARM指令系统20

2.4.1 ARM指令系统21

2.4.2 ARM指令系统的寻址方式23

2.4.3 ARM指令系统的分类27

2.4.4 ARM指令集和Thumb指令集的关系29

2.5 ARM伪指令系统30

2.5.1符号定义伪指令31

2.5.2数据定义伪指令31

2.5.3汇编控制伪指令32

2.5.4宏定义伪指令33

2.5.5段定义伪指令33

2.5.6杂项伪指令34

2.5.7 ARM伪指令35

2.5.8 ARM连接器的保留字35

2.5.9 ARM汇编器的内置变量36

2.6在ADS开发环境下开发S3C244037

2.6.1建立ADS开发环境37

2.6.2编写一个汇编语言框架程序37

2.6.3编写一个在Boot RAM中运行的LED驱动程序43

2.6.4制作一个可以自动运行的LED闪烁装置45

2.7 S3C2440对电源和时钟系统的管理45

2.7.1认识S3C2440时钟系统45

2.7.2系统时钟设置步骤47

2.7.3电源和时钟系统管理方案48

2.8 S3C2440对SDRAM的初始化51

2.8.1初始化SDRAM存储器所需的控制寄存器52

2.8.2代码搬移55

2.9用C语言对S3C2440编程56

2.9.1在ADS环境下直接使用C语言编程57

2.9.2由汇编语言转入C语言58

2.9.3汇编语言与C语言无参函数的相互调用59

2.9.4汇编语言与C语言带参函数的相互调用61

2.9.5在C语言中嵌入汇编语言63

2.10 S3C2440的Nand Flash控制器64

2.10.1 Nand Flash控制器的初始化65

2.10.2 Nand Flash读操作流程70

2.10.3 Nand Flash读操作编程示例71

2.11 S3C2440对中断的组织74

2.11.1 S3C2440的工作模式74

2.11.2 S3C2440对中断(异常)的响应76

2.11.3 S3C2440对中断源的组织78

2.11.4 S3C2440中断控制器的初始化80

2.11.5汇编语言的中断编程框架示例83

2.11.6 C语言的中断编程框架示例87

2.12 S3C2440 TFT型液晶显示器的使用92

2.12.1 S3C2440内置LCD控制器介绍92

2.12.2 LCD初始化编程示例98

2.13 S3C2440的ADC和电阻式触摸屏的使用100

2.13.1四线电阻式触摸屏的工作原理101

2.13.2 ADC和触摸屏接口使用方法102

2.13.3 ADC和触摸屏编程示例104

2.14 S3C2440中的各类定时器的使用106

2.14.1看门狗Watch dog的使用106

2.14.2实时时钟——RTC的使用108

2.14.3 S3C2440定时器与PWM接口的使用112

2.15 S3C2440串行接口(UART)的使用118

2.15.1 UART控制器的结构118

2.15.2串行口的初始化119

2.15.3串行口应用举例122

2.16 S3C2440 Ⅰ2C接口的使用124

2.16.1 AT24C08 EEPROM操作124

2.16.2 12C接口的初始化128

2.16.3 Ⅰ2C接口的编程示例128

2.17 S3C2440 DMA控制器的使用132

2.17.1 DMA控制器的设置132

2.17.2 DMA控制器编程示例135

2.18 S3C2440的内存管理单元MMU137

2.18.1 MMU的基本概念137

2.18.2 MMU的映射原理140

2.18.3 S3C2440的MMU设置141

2.18.4 MMU段映射编程示例146

2.19用Scatter文件组织程序149

2.19.1什么时候使用Scatter文件150

2.19.2 Scatter文件的编写和应用150

2.20在S3C2440上运行Ⅰ2C/OS-Ⅱ嵌入式实时操作系统155

2.20.1 RTOS的基本概念155

2.20.2 RTOS中的任务管理156

2.20.3 RTOS的任务状态与任务调度159

2.20.4 RTOS中的基本任务操作160

2.20.5 RTOS下的任务设计161

2.20.6嵌入式实时操作系统Ⅱ164

2.20.7将μC/OS-Ⅱ移植到S3C2440开发板165

2.20.8基于μC/OS-Ⅱ的多任务程序设计示例169

第3章Linux操作系统下嵌入式系统开发环境的建立174

3.1嵌入式系统为什么要配用操作系统174

3.2认识一个配有Linux操作系统的S3C2440嵌入式系统开发板175

3.3建立嵌入式系统开发环境177

3.3.1建立嵌入式系统开发环境的步骤177

3.3.2嵌入式系统开发过程中经常使用的Linux操作系统命令181

3.4嵌入式系统的开发过程182

3.4.1 vi编辑器的使用182

3.4.2对源程序的编译、交叉编译及执行185

3.4.3环境变量的设置191

3.4.4 gdb调试工具的使用193

3.5 shell程序的编写198

3.5.1 shell是什么198

3.5.2一个简单的shell程序199

3.5.3 shell程序的用户变量定义与引用200

3.5.4 shell程序的常用系统变量201

3.5.5 shell程序的算术和逻辑运算202

3.5.6 shell程序的流程控制204

3.5.7 shell编程要点208

3.5.8 shell程序的调试209

3.6 Makefile文件的编写211

3.6.1什么是Makefile文件211

3.6.2 Makefile文件的结构214

3.6.3 Makefile文件变量的定义、赋值与引用216

3.6.4 Makefile文件中内嵌命令(函数)的使用219

3.6.5 Makefile文件中两种常用规则的使用220

3.6.6 Makefile文件的几种特殊的编程方法222

3.6.7 make命令的执行223

3.6.8 Makefile文件框架的自动生成224

3.7 SourceInsight程序编辑/浏览器使用方法226

第4章Linux操作系统下设备驱动程序的编写与应用228

4.1什么是设备驱动程序229

4.2设备驱动程序初探230

4.2.1一个简单的设备驱动程序231

4.2.2设备驱动程序与应用程序的区别233

4.2.3带参数设备驱动程序的编写与加载234

4.3简单字符设备驱动程序框架236

4.3.1静态分配设备号的简单字符设备驱动程序框架237

4.3.2动态分配设备号的简单字符设备驱动程序框架242

4.3.3应用程序与简单字符设备驱动程序的数据交换245

4.3.4简单字符设备驱动程序编写和测试步骤249

4.4嵌入式系统简单字符设备驱动程序的编写250

4.4.1设备驱动程序交叉编译环境的建立250

4.4.2一个简单字符设备驱动程序252

4.4.3将设备驱动程序编写得更“专业”一些255

4.4.4带有中断功能的简单字符设备驱动程序259

4.4.5利用内存映射在应用层直接对外设编程266

4.5多个次设备号驱动程序的编写269

4.6对简单字符设备驱动程序的基本印象273

4.7 Linux操作系统下字符设备驱动程序的应用273

4.7.1 LCD设备应用编程274

4.7.2音频设备应用编程278

4.7.3串口设备应用编程285

4.7.4 USB字符设备应用编程287

4.7.5触摸屏设备应用编程292

4.7.6触摸屏接口程序tslib的移植与应用293

4.7.7 USB摄像头设备应用编程295

4.7.8使用camera接口应用编程297

4.7.9实时时钟(RTC)应用编程301

4.7.10开发板上简单硬件装置的测试程序304

4.8块设备驱动程序的应用306

4.8.1 SD卡的使用306

4.8.2 U盘的使用307

4.9将设备驱动程序静态加载307

第5章Linux操作系统下关于信号、进程、线程的编程311

5.1几个基本概念的解释311

5.1.1任务、进程、线程311

5.1.2进程间的通信313

5.1.3 Linux下关于进程与线程的基本操作命令314

5.1.4关于本章示例程序的说明315

5.2进程的创建及多进程编程317

5.2.1相关函数317

5.2.2创建进程编程示例320

5.2.3 exec函数族的使用321

5.2.4 exec函数族编程示例322

5.3信号的使用324

5.3.1什么是信号324

5.3.2进程对信号的响应326

5.3.3相关函数327

5.4进程间的通信330

5.4.1信号通信330

5.4.2管道通信333

5.4.3消息队列(报文)通信339

5.4.4内存(文件)映射与共享内存通信343

5.4.5信号量(信号灯)通信351

5.4.6套接字通信356

5.5线程的创建及多线程编程368

5.5.1相关函数368

5.5.2创建线程编程示例370

5.5.3互斥锁的使用371

第6章 图形界面系统Qt/Embedded的移植与应用375

6.1 Qt/Embedded的移植376

6.1.1 Qt/Embedded移植前的准备376

6.1.2 Qt/Embedded-4.6.3的移植377

6.2 Qt/Embedded-4.6.3的测试385

6.2.1对X86版的测试385

6.2.2对Qte版的测试386

6.2.3对ARM版的测试386

6.3 Qt/Embedded-4.6.3应用程序的开发过程387

6.3.1编写一个X86版的应用程序387

6.3.2编写一个Qte版的应用程序389

6.3.3编写一个ARM版的应用程序390

6.4 Qt/Embedded-4.6.3与开发板外部设备之间的接口391

第7章 嵌入式Linux操作系统的移植过程395

7.1嵌入式Linux操作系统的组成396

7.2 BootLoader——引导加载程序397

7.2.1 U-Boot的基本概念399

7.2.2 U-Boot的目录结构400

7.2.3 U-Boot的启动流程401

7.2.4 U-Boot与Linux内核的关系401

7.2.5 U-Boot的常用命令403

7.2.6 U-Boot的移植过程404

7.3 Linux内核的配置(裁剪)与移植407

7.3.1 Linux操作系统内核特点及源码结构407

7.3.2 Linux内核配置(裁剪)过程409

7.3.3 Linux内核配置(裁剪)系统的组织411

7.3.4 Linux内核的Makefile文件416

7.3.5 Linux内核的编译420

7.3.6 Linux内核的移植过程420

7.4根文件系统的建立421

7.4.1嵌入式系统的文件系统421

7.4.2嵌入式系统的根文件系统422

7.4.3 BusyBox工具422

7.4.4使用BusyBox构建根文件系统过程423

附录 配书光盘文件目录428

参考文献429

热门推荐