《ARM Linux 入门与实践 基于 TI AM335x 处理器》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:程昌南,沈建华编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2018
  • ISBN:9787512426467
  • 页数:405 页
图书介绍:全书分成ARM硬件、ARM前后台系统和基于Linux系统的应用3个部分。ARM硬件部分包括ARM335x Starter Kit硬件分析和评估版入门指南。ARM前后台系统部分包括StarterWare开发环境搭建及应用分析、启动代码分析、Boot源代码分析等。Linux系统的应用部分包括基于PC的操作、应用编程和驱动、嵌入式Linux开发环境创建、嵌入式Linux 驱动开发和网络编程等。本书可作为有志于掌握ARM、Linux等嵌入式技术的高校学生、在职工程师的参考用书。

第一篇 ARM硬件 2

第1章 概述 2

1.1嵌入式系统、单片机、ARM及Linux 2

1.2ARM处理器的选择 3

1.3AM335x简介和公版资源 4

1.4AM335x官方开发资源 7

1.4.1硬件开发板 7

1.4.2软件开发包 9

1.5ARM开发工具及调试方法 12

1.5.1集成开发环境 12

1.5.2硬件仿真器 12

1.5.3前后台系统的调试方法 18

1.5.4嵌入式Linux的开发调试方法 19

1.6“实践再实践”在ARM学习中的意义 20

第2章 AM335x Starter Kit实验平台硬件分析 22

2.1AM335x Starter Kit实验平台概述及功能组成 22

2.2地址空间分配 25

2.2.1AM335x处理器内存映射 25

2.2.2AM335x Starter Kit平台地址空间分配 31

2.3常用元件概述 34

2.3.1电阻标称值 34

2.3.2肖特基二极管 36

2.3.3功率电感 37

2.3.4铁氧体磁珠 37

2.3.5自恢复保险丝PPTC 38

2.3.6有源和无源蜂鸣器 38

2.4AM335x Starter Kit(TMDSSK3358)原理图分析 39

2.4.1MPU AM3358 39

2.4.2时钟电路 48

2.4.3上电引导模式配置 49

2.4.4JTAG接口电路 50

2.4.5μSD卡接口 50

2.4.6DDR3 SDRAM存储器 51

2.4.7调试串口 53

2.4.8以太网接口 55

2.4.9按键 GPIO 57

2.4.10LED显示 58

2.4.11IIC总线的EEROM存储器 58

2.4.12复位电路 59

2.4.13按键中断输入 60

2.4.14电源输入及PMIC电源管理芯片 60

2.4.15Wi-Fi和蓝牙模块 64

2.4.16USB Host/Device 64

2.4.17IIS音频电路 64

2.4.18LCD显示 69

第3章 AM335x Starter Kit入门 72

3.1AM335x Starter Kit快速入门指南 72

3.2硬件调试概述 76

3.3XDS100v2仿真器和CCS软件的使用 78

3.3.1集成开发环境CCS的下载与安装 78

3.3.2仿真器与目标板的硬件安装 82

3.3.3XDS100v2 USB仿真器在CCSv6集成开发环境中的配置 83

第二篇 ARM前后台系统 92

第4章 无操作系统平台下的应用库——StarterWare 92

4.1StarterWare下载安装 92

4.2StarterWare快速入门指南 94

4.2.1StarterWare概述 94

4.2.2在AM335x Starter Kit开发板上运行StarterWare应用 96

4.2.3Windows下开发环境的搭建 98

4.3AM335x内存映射和启动过程 105

4.3.1AM335x处理器内存映射 105

4.3.2AM335x处理器启动过程 106

第5章 启动代码分析 109

5.1启动代码和Bootloader的区别 110

5.2汇编基础 110

5.2.1伪操作 110

5.2.2CCS支持的伪操作 115

5.2.3汇编指令及伪指令 118

5.2.4ARM程序状态寄存器和段 122

5.3启动代码bl_init.asm及功能模块分解 123

5.3.1全局变量、内部符号等的定义 123

5.3.2程序入口及各种模式的堆栈初始化 124

5.3.3BBS段初始化 125

5.3.4进入C语言程序 126

5.3.5bl_init.asm汇编结束 126

5.3.6bl_init.asm总结 126

第6章 Boot源代码分析 128

6.1Boot源代码目录结构 128

6.2启动代码bl_init.asm分析 128

6.3bl_main.c主函数分析 129

6.4bl_platform.c平台配置及硬件初始化分析 130

6.5bl_copy.c映像复制分析 132

6.6跳转到app运行 135

第7章 LCD例程源代码分析 136

7.1LCD例程源代码目录结构 136

7.2rasterDisplay.c文件分析 137

7.2.1内存管理和高速缓存的配置 137

7.2.2中断相关的配置分析 137

7.2.3LCD背光设置 145

7.2.4LCD显示模块配置 151

7.2.5LCD控制器Raster及中断使能 154

7.3LCD显示修改实验 156

7.3.1demo工程中关于LCD显示代码的对比分析 156

7.3.2LCD显示实验调试曾出现的问题及解决方法 161

第8章 触摸屏例程源代码分析 171

8.1触摸屏例程源代码目录结构 171

8.2tscCalibrate.c文件分析 172

8.2.1内存管理和高速缓存的配置 172

8.2.2中断使能和注册 172

8.2.3调试串口初始化设置 173

8.2.4定时器初始化 173

8.2.5触摸屏函数分析 173

第9章 StarterWare对BeagleBone Black的支持 177

9.1补丁包Start erWare_BBB_support.gz 177

9.2demo在BeagleBone Black上死机现象的分析及追踪 178

9.3StarterWare在BeagleBone Black上死机现象的解决 182

第10章 基于前后台系统的应用 184

10.1前后台系统概述 184

10.2Bootloader的设计 185

10.3简易文件系统设计 185

10.3.1文件系统结构 186

10.3.2文件系统功能函数 187

10.3.3文件系统的测试 196

10.4简易图形用户界面(GUI)的设计 199

10.4.1字符和汉字的显示 199

10.4.2基本图形和控件的绘制 205

10.4.3触摸屏事件处理 217

第三篇 基于Linux系统的应用 222

第11章 基于PC的Linux学习 222

11.1RedHat Linux系统下的常用操作 222

11.1.1RedHat Linux 9下的常用操作问答 222

11.1.2超级终端Minicom的使用 225

11.1.3NFS的使用 226

11.2Ubuntu系统的安装与常用操作 227

11.2.1Ubuntu 14.04的安装 227

11.2.2Ubuntu 14.04的基本设置和常用操作 228

11.2.3Ubuntu常用命令 232

11.2.4Ubuntu Linux与Windows系统下的文件共享 234

11.2.5Ubuntu Linux与Linux系统下的文件共享 236

11.2.6超级终端Minicom的使用 236

11.3Linux下的应用编程 237

11.3.1进程间隔定时器 238

11.3.2关于进程的体会 241

11.4Linux下的驱动程序设计 244

11.4.1模块编程实验 244

11.4.2简单的字符设备驱动实验 245

第12章 嵌入式Linux开发环境 249

12.1概述 249

12.1.1Linux开发环境概述 249

12.1.2TI官方AM335x Linux SDK资源及参考文档 249

12.1.3PROCESSOR-SDK-LINUX-AM335x概述 250

12.2PC宿主机环境的创建 250

12.2.1安装基本的软件开发工具 250

12.2.2下载安装Sitara Linux SDK for AM335x 251

12.2.3Sitara Linux SDK for AM335x目录结构和软件架构 259

12.2.4Sitara Linux SDK for AM335x环境配置 261

12.2.5交叉编译工具链的安装与配置 266

12.3嵌入式Linux系统的配置和编译 269

12.3.1SDK根目录下编译U-boot和Linux内核 269

12.3.2Bootloader的配置和编译 269

12.3.3Linux内核的配置和编译 274

12.3.4文件系统 276

12.4目标板Linux系统的创建 277

12.4.1Windows系统下AM335x Linux SDK SD卡的创建 277

12.4.2Ubuntu系统下AM335x Linux SDK SD卡的创建 287

12.5嵌入式Linux平台测试 296

12.5.1串口调试终端Minicom和以太网测试 296

12.5.2TFTP网络文件下载 300

12.5.3Hello测试程序 302

第13章 嵌入式Linux驱动开发 304

13.1设备树 304

13.1.1Linux内核对硬件的描述 304

13.1.2设备树概述 305

13.1.3AM335x Starter Kit设备树分析 307

13.2LED显示驱动 322

13.2.1AM335x的LED控制 322

13.2.2Linux内核中的leds子系统概述 322

13.2.3leds子系统驱动代码分析 323

13.2.4leds驱动与DTS中的联系 340

13.2.5leds驱动的测试 341

13.3按键输入驱动 344

13.3.1AM335x的按键测试 344

13.3.2Linux内核中的input子系统概述 345

13.3.3输入子系统中按键驱动代码分析 346

13.3.4按键驱动与DTS中的联系 352

13.3.5按键驱动的测试 353

13.4PWM的LCD背光调节驱动 355

13.4.1AM335x的背光调节测试 355

13.4.2Linux内核中的Backlight背光子系统概述 356

13.4.3Backlight背光子系统驱动代码分析 356

13.4.4背光驱动与DTS的联系 362

13.4.5背光驱动的测试 363

13.5LCD显示驱动及配置 365

13.5.1LCD DTS配置 365

13.5.2LCD测试程序 368

13.6ADC及触摸屏驱动 368

13.6.1AM335x的触摸屏测试 369

13.6.2触摸屏驱动代码分析 371

13.6.3触摸屏驱动与DTS的联系 379

13.6.4触摸屏驱动的测试 380

第14章 网络编程 383

14.1常用函数 383

14.2服务器实例 394

14.3客户端测试 399

14.4利用I/O复用替代多进程的并发服务器 401

参考文献 405