本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品名称: 嵌入式Linux开发教程 | 出版社: 人民邮电出版社 | 出版时间:2017-07-01 |
作者:宋娟 | 译者: | 开本: 32开 |
定价: 59.80 | 页数: | 印次: 1 |
ISBN号:9787115447012 | 商品类型:图书 | 版次: 1 |
版本*新:书中涉及的软件及开发环境都是当前*为流行的版本
由浅入深:从嵌入式系统的软硬件开始讲解,逐步深入到实际开发
内容全面:涵盖嵌入式Linux系统开发的大部分知识点和典型应用
注重原理:对每个知识点从概念和基本原理进行了详细而透彻的分析
重点突出:对Bootloader和Linux内核的功能和移植进行了详细介绍
第1篇为嵌入式基础,介绍了嵌入式系统入门、嵌入式软硬件系统、嵌入式Linux、软件开发环境建立和嵌入式开发的C语言基础;第2篇是嵌入式系统基础,介绍了ARM的内部资源、ARM处理器、ADS集成开发环境等;第3篇是嵌入式设备驱动与移植,介绍了Linux设备驱动、各类驱动设计和引导程序、内核移植等相关知识点;*后一篇通过一个真正的嵌入式B超程序案例详解嵌入式开发的完整过程,以此提高读者的实战水平。
作者技术涉猎广泛,熟悉Intel IXA架构网络处理器、ARM体系结构、MIPS体系结构和TCP/IP网络协议栈等。目前担任嵌入式软件研发工程师和软件研发工程师,从事某公司骨干网P2P流量管理设备的研发。
第1篇 嵌入式开发基础
第1章 嵌入式系统基础 1
1.1 嵌入式处理器简介 1
1.1.1 嵌入式微处理器 2
1.1.2 嵌入式微控制器 2
1.1.3 嵌入式数字信号处理器 2
1.1.4 嵌入式片上系统 3
1.2 ARM微处理器简介 3
1.3 嵌入式操作系统概述 4
1.4 搭建嵌入式开发环境 5
1.4.1 Ubuntu16.04的安装 5
1.4.2 Minicom的安装配置 8
1.4.3 Tftp服务的安装配置 9
1.4.4 NFS的安装配置 10
1.4.5 建立交叉工具链 12
1.5 启动目标板系统 16
1.5.1 Boot Loader和Kernel 16
1.5.2 根文件系统 18
1.6 小结 19
1.7 习题 19
第2章 嵌入式C语言开发流程 20
2.1 命令行下的开发流程 20
2.1.1 编写代码 20
2.1.2 编译程序 21
2.1.3 运行程序 22
2.1.4 交叉编译 22
2.1.5 编写Makefile 23
2.2 基于Eclipse的开发流程 24
2.2.1 下载和安装Eclipse 24
2.2.2 新建工程 25
2.2.3 编写代码 26
2.2.4 编译工程 26
2.2.5 运行程序 28
2.3 小结 28
2.4 习题 28
第3章 Linux操作基础 29
3.1 Linux的基本概念 29
3.1.1 文件 29
3.1.2 目录 29
3.1.3 分区 31
3.1.4 挂载 31
3.1.5 用户系统 31
3.1.6 用户权限 32
3.1.7 shell 32
3.1.8 环境变量 33
3.2 Linux的命令行 33
3.2.1 执行命令 34
3.2.2 参数 34
3.2.3 重定向符号 34
3.2.4 获取帮助 35
3.3 Linux的常用命令 36
3.3.1 文件管理 36
3.3.2 内容管理 39
3.3.3 权限管理 40
3.3.4 备份压缩 41
3.3.5 系统设置 43
3.3.6 进程控制 45
3.3.7 网络设置 47
3.4 小结 48
3.5 习题 49
第4章 嵌入式C编程基础 50
4.1 C语言概述 50
4.1.1 C语言程序的结构 50
4.1.2 C语言的语句 51
4.1.3 C语言的关键字 51
4.1.4 C语言程序设计步骤 51
4.2 数据类型 52
4.2.1 常量与变量 52
4.2.2 整型数据、实型数据 52
4.2.3 字符型数据 53
4.3 运算符和表达式 53
4.3.1 算术运算符 53
4.3.2 关系和逻辑运算符 53
4.3.3 位操作符 54
4.3.4 ?操作符 55
4.3.5 表达式的优先级 55
4.4 流程控制 55
4.4.1 顺序程序设计 55
4.4.2 选择结构设计 56
4.4.3 循环结构设计 57
4.5 函数 58
4.5.1 函数定义的一般形式 58
4.5.2 函数的参数和函数的值 59
4.5.3 函数的调用 59
4.5.4 局部变量和全局变量 60
4.6 数组、指针 61
4.6.1 数组 61
4.6.2 指针的基本概念 62
4.6.3 指针与数组 64
4.6.4 指针与字符串 66
4.6.5 指针与函数 67
4.6.6 指针其他用法 68
4.6.7 动态内存管理 68
4.7 小结 69
4.8 习题 69
第2篇 嵌入式系统基础
第5章 S3C2440的内部资源 70
5.1 S3C2440微处理器 70
5.1.1 主要结构 70
5.1.2 片内资源 70
5.1.3 体系结构 71
5.2 S3C2440存储器映射 71
5.2.1 bank0总线宽度 72
5.2.2 nWAIT引脚的作用 73
5.2.3 nXBREQ/nXBACK引脚操作 73
5.3 S3C2440内部资源详解 73
5.3.1 Cache高速缓存 74
5.3.2 时钟和电源管理 74
5.3.3 中断控制器 75
5.3.4 脉冲带宽调制(PWM)定时器 76
5.3.5 实时时钟(RTC) 77
5.3.6 通用I/O端口 77
5.3.7 LCD控制器 77
5.3.8 UART控制器 78
5.3.9 A/D转换和触摸屏接口 79
5.3.10 看门狗定时器 79
5.3.11 IIC总线接口 79
5.3.12 AC97音频解码器接口 80
5.3.13 USB设备控制器 80
5.3.14 SD接口 81
5.3.15 SPI接口 81
5.3.16 相机接口 82
5.3.17 工作电压 82
5.4 小结 82
5.5 习题 82
第6章 ARM微处理器 84
6.1 ARM微处理器的结构 84
6.1.1 体系结构 84
6.1.2 寄存器结构 85
6.1.3 指令结构 85
6.2 ARM微处理器的选择 85
6.2.1 内核的选择 85
6.2.2 工作频率的选择 85
6.2.3 芯片内存储器的选择 86
6.2.4 片内外围电路的选择 86
6.3 ARM微处理器的指令集 86
6.3.1 ARM微处理器的指令分类和
格式 86
6.3.2 指令的条件域 87
6.3.3 跳转指令 88
6.3.4 数据处理指令 88
6.3.5 乘法指令与乘加指令 92
6.3.6 程序状态寄存器访问指令 94
6.3.7 加载/存储指令 95
6.3.8 批量数据加载/存储指令 97
6.3.9 数据交换指令 97
6.3.10 移位指令 98
6.3.11 协处理器指令 99
6.3.12 异常产生指令 100
6.4 ARM微处理器指令的寻址方式 101
6.4.1 立即寻址 101
6.4.2 寄存器寻址 101
6.4.3 寄存器间接寻址 101
6.4.4 基址变址寻址 102
6.4.5 多寄存器寻址 102
6.4.6 相对寻址 102
6.4.7 堆栈寻址 102
6.5 小结 103
6.6 习题 103
第7章 ADS集成开发环境 104
7.1 命令行开发工具 104
7.1.1 使用armcc 104
7.1.2 使用armlink 106
7.1.3 ARM运行时库 106
7.1.4 CodeWarrior集成开发环境 107
7.1.5 ADS调试器 109
7.2 使用ADS创建工程 109
7.2.1 创建新工程 109
7.2.2 编译和链接工程 112
7.2.3 ARM fromELF工具 114
7.2.4 在命令行下编译工程 115
7.3 使用AXD调试代码 116
7.3.1 打开调试文件 116
7.3.2 查看存储器内容 117
7.3.3 设置断点 118
7.3.4 查看变量值 118
7.4 小结 119
7.5 习题 119
第8章 S3C2440的外部电路 120
8.1 核心板电路 120
8.1.1 晶振电路 120
8.1.2 复位电路 120
8.1.3 启动配置电路 120
8