《面向AWorks框架和接口的C编程 上》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:周立功主编
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2018
  • ISBN:9787512428713
  • 页数:580 页
图书介绍:本书为嵌入式软件工程方法与实践丛书之一,主要讲解面向AWorks框架和接口的编程,内容包括AWorks框架软件和硬件的基础。本书是作者读书笔记和程序设计实践的心得,适合从事嵌入式软件开发的工程师阅读,同时也可作为高校嵌入式软件工程方面的教材。

第一部分 简介篇 2

第1章 AWorks简介 2

1.1 诞生的背景 2

1.2 基本概念 4

1.3 硬件平台 5

1.4 AWorks OS 7

1.4.1 特点 8

1.4.2 架构 9

1.4.3 发布形式 12

1.4.4 使用方法 13

1.5 云接入 14

第二部分 硬件篇 16

第2章 Cortex-M系列无线核心板 16

2.1 M105x无线核心板(M7核) 16

2.1.1 概述 16

2.1.2 产品特性 17

2.1.3 产品功能框图 18

2.1.4 产品选型 18

2.1.5 I/O信息 19

2.2 AW54101无线核心板(M4核) 24

2.2.1 概述 24

2.2.2 产品特性 24

2.2.3 产品功能框图 25

2.2.4 产品选型 25

2.2.5 I/O信息 26

2.3 AW412无线核心板(M4核) 28

2.3.1 概述 28

2.3.2 产品特性 28

2.3.3 产品功能框图 29

2.3.4 产品选型 29

2.3.5 I/O信息 30

2.4 Cortex-M系列无线核心板快速选型 32

第3章 ARM9、DSP、Cortex-A系列核心板 34

3.1 A280核心板(ARM9核) 34

3.1.1 概述 34

3.1.2 产品特性 35

3.1.3 产品功能框图 35

3.1.4 产品选型 36

3.1.5 I/O信息 36

3.2 AW6748核心板(DSP核) 42

3.2.1 概述 42

3.2.2 产品特性 43

3.2.3 产品功能框图 44

3.2.4 产品选型 44

3.2.5 I/O信息 45

3.3 M28x-T核心板(ARM9核) 51

3.3.1 概述 51

3.3.2 产品特性 52

3.3.3 产品功能框图 53

3.3.4 产品选型 53

3.3.5 I/O信息 54

3.4 M6G2C核心板(A7核) 60

3.4.1 概述 60

3.4.2 产品特性 60

3.4.3 产品功能框图 61

3.4.4 产品选型 61

3.4.5 I/O信息 62

3.5 M3352核心板(A8核) 67

3.5.1 概述 67

3.5.2 产品特性 68

3.5.3 产品功能框图 68

3.5.4 产品选型 69

3.5.5 I/O信息 70

3.6 核心板快速选型表 76

第4章 ARM9、Cortex-A无线核心板 78

4.1 A280无线核心板(ARM9核) 78

4.1.1 概述 78

4.1.2 产品特性 79

4.1.3 产品功能框图 80

4.1.4 产品选型 80

4.1.5 I/O信息 81

4.2 A287无线核心板(ARM9核) 87

4.2.1 概述 87

4.2.2 产品特性 88

4.2.3 产品功能框图 89

4.2.4 产品选型 89

4.2.5 I/O信息 90

4.3 A6G2C无线核心板(A7核) 95

4.3.1 概述 95

4.3.2 产品特性 95

4.3.3 产品功能框图 97

4.3.4 产品选型 97

4.3.5 I/O信息 98

4.4 A3352无线核心板(A8核) 103

4.4.1 概述 103

4.4.2 产品特性 103

4.4.3 产品功能框图 104

4.4.4 产品选型 105

4.4.5 I/O信息 105

4.5 无线核心板快速选型表 111

第5章 ARM9、Cortex-A工控主板 114

5.1 i.MX28x无线工控板(ARM9核) 114

5.1.1 概述 114

5.1.2 产品特性 115

5.1.3 产品选型 116

5.2 IoT-3968L网络控制器(ARM9核) 116

5.2.1 概述 116

5.2.2 产品特性 117

5.3 Cortex-A7无线工控板(A7核) 118

5.3.1 产品特性 119

5.3.2 产品选型 120

5.4 IoT7000A-LI网络控制器(A7核) 121

5.4.1 概述 121

5.4.2 产品特性 122

5.5 IoT-A3352LI无线工控板(A8核) 122

5.5.1 概述 122

5.5.2 产品特性 123

5.6 IoT3000A-AWI网络控制器 124

5.6.1 概述 124

5.6.2 产品特性 125

5.7 工控主板快速选型表 126

第三部分 软件篇 128

第6章 通用设备接口 128

6.1 通用LED接口 128

6.2 通用键盘接口 131

6.3 通用蜂鸣器接口 137

6.4 通用数码管接口 141

6.5 通用传感器接口 146

6.6 温控器 159

第7章 通用外设接口 165

7.1 GPIO 165

7.1.1 I/O配置 165

7.1.2 I/O的申请和释放 168

7.1.3 普通I/O接口 170

7.1.4 中断I/O接口 174

7.2 PWM 178

7.2.1 PWM简介 178

7.2.2 PWM接口 179

7.3 SPI总线 183

7.3.1 SPI总线简介 183

7.3.2 SPI总线接口 185

7.4 I2C总线 195

7.4.1 I2C总线简介 195

7.4.2 I2C接口 195

7.5 UART总线 203

7.5.1 UART简介 203

7.5.2 串行接口 205

7.6 A/D转换器 210

7.6.1 模/数信号转换 210

7.6.2 A/D转换接口 214

7.7 D/A转换器 229

7.7.1 数/模信号转换 229

7.7.2 D/A转换接口 230

7.8 看门狗(WDT) 234

7.8.1 看门狗简介 234

7.8.2 看门狗接口 237

第8章 时间管理 241

8.1 时间的表示形式 241

8.1.1 细分时间 241

8.1.2 日历时间 242

8.1.3 精确日历时间 243

8.1.4 细分时间与日历时间的相互转换 243

8.2 RTC通用接口 245

8.3 系统时间 247

8.3.1 获取系统时间 247

8.3.2 设置系统时间 250

8.4 系统节拍 252

8.5 软件定时器 257

第9章 内存管理 262

9.1 堆管理器 262

9.1.1 堆管理器的原理概述 262

9.1.2 堆管理器接口 267

9.1.3 系统堆管理 273

9.2 内存池 279

9.2.1 内存池原理概述 280

9.2.2 内存池接口 281

第10章 实时内核 288

10.1 任务管理 288

10.1.1 多任务环境简介 288

10.1.2 创建任务 291

10.1.3 终止任务 298

10.1.4 任务延时 299

10.1.5 检查栈空间的使用情况 300

10.2 信号量 303

10.2.1 互斥信号量 304

10.2.2 二进制信号量 312

10.2.3 计数信号量 321

10.3 邮箱 326

10.4 消息队列 339

10.5 自旋锁 347

第11章 文件系统 351

11.1 文件系统简介 351

11.2 设备挂载管理 352

11.3 文件基本操作 359

11.4 目录基本操作 372

11.5 微型数据库 378

11.5.1 哈希表 378

11.5.2 微型数据库接口 382

第12章 AWBus-lite总线框架 392

12.1 AWBus-lite简介 392

12.2 AWBus-lite拓扑结构 394

12.3 系统硬件资源 395

12.3.1 硬件设备列表 396

12.3.2 设备描述类型 396

12.3.3 设备描述宏定义 403

12.3.4 设备的配置与裁剪 404

12.3.5 注册设备驱动 407

12.3.6 硬件设备的父总线设备 408

12.4 访问设备 409

12.4.1 通用接口 409

12.4.2 资源ID 411

第13章 深入理解AWBus-lite 413

13.1 通用接口的定义 413

13.1.1 接口命名 413

13.1.2 接口参数 414

13.1.3 返回值 414

13.2 接口的实现 415

13.2.1 实现接口初探 415

13.2.2 LED抽象方法 417

13.2.3 抽象的LED服务 418

13.2.4 Method机制 422

13.2.5 LED服务链表的初始化 426

13.3 设备驱动 429

13.3.1 基础驱动信息 429

13.3.2 实际驱动信息 435

13.3.3 定义设备类型 436

13.3.4 定义设备信息类型 437

13.3.5 实现三个阶段的初始化函数 440

13.3.6 实现LED服务 443

13.3.7 定义Method对象 447

13.3.8 注册驱动 448

13.4 驱动开发的一般方法 450

13.4.1 定义驱动名 452

13.4.2 确定总线类型和设备类型 452

13.4.3 定义设备类型 452

13.4.4 定义设备信息类型 454

13.4.5 实现三个阶段的初始化函数 455

13.4.6 实现通用服务 459

13.4.7 定义Method对象 464

13.4.8 定义驱动结构体常量,实现驱动注册函数 465

第14章 信号采集及接口扩展模块 471

14.1 温度检测模块——TPS0xR/T 471

14.1.1 TPS02R简介 472

14.1.2 添加TPS02R硬件设备 474

14.1.3 使用TPS02R模块 478

14.2 能效检测模块——EMM400x 479

14.2.1 EMM400A简介 480

14.2.2 添加EMM400硬件设备 483

14.2.3 使用EMM400模块 486

14.3 信号调理模块——TPS0xU 488

14.3.1 TPS08U简介 488

14.3.2 添加TPS08U硬件设备 490

14.3.3 使用TPS08U模块 494

14.4 接口扩展模块——RTM11AT 496

14.4.1 RS485简介 496

14.4.2 RTM11AT简介 497

14.4.3 添加RTM11AT硬件设备 500

14.4.4 使用RTM11AT模块 504

第15章 常用外围器件 506

15.1 EEPROM存储器 506

15.1.1 器件简介 506

15.1.2 添加EEPROM硬件设备 507

15.1.3 NVRAM通用接口 512

15.2 SPI NOR Flash存储器 515

15.2.1 器件简介 515

15.2.2 添加SPI NOR Flash硬件设备 516

15.2.3 使用MTD存储器 524

15.2.4 使用NVRAM存储段 529

15.3 RTC实时时钟 530

15.3.1 基于RTC通用接口的应用程序 531

15.3.2 RX8025T 532

15.3.3 DS1302 537

15.4 ZLG72128——数码管与键盘管理 542

15.4.1 ZLG72128简介 542

15.4.2 添加ZLG72128硬件设备 546

15.4.3 使用ZLG72128数码管功能 552

15.4.4 使用ZLG72128按键功能 553

15.5 ADS131E0x——A/D转换芯片 555

15.5.1 器件简介 556

15.5.2 添加ADS131E08硬件设备 559

15.5.3 使用ADS131E08 564

15.6 AD5689R——D/A转换芯片 571

15.6.1 器件简介 571

15.6.2 添加AD5689R硬件设备 574

15.6.3 使用AD5689R 579

参考文献 580