图书介绍

21天学通Linux嵌入式开发PDF|Epub|txt|kindle电子书版本网盘下载

21天学通Linux嵌入式开发
  • 薛园园等编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121106217
  • 出版时间:2010
  • 标注页数:417页
  • 文件大小:154MB
  • 文件页数:419页
  • 主题词:微处理器,ARM-系统设计;Linux操作系统-系统设计

PDF下载


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

下载说明

21天学通Linux嵌入式开发PDF格式电子书版下载

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

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

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

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

图书目录

第一篇 走进嵌入式系统开发29

第1章 嵌入式系统开发概述(教学视频:44分钟)29

1.1 何为嵌入式系统29

1.1.1 嵌入式系统的概念29

1.1.2 嵌入式系统的基本结构30

1.1.3 嵌入式处理器30

1.2 嵌入式系统的特点及发展趋势32

1.3 嵌入式系统的开发过程32

1.3.1 芯片选择32

1.3.2 配置硬件平台33

1.3.3 BootLoader移植33

1.3.4 操作系统裁减33

1.3.5 系统移植33

1.3.6 应用程序开发33

1.4 如何成为嵌入式开发人员33

1.5 小结34

1.6 习题34

第2章 嵌入式操作系统简介(教学视频:37分钟)35

2.1 嵌入式操作系统概述35

2.1.1 嵌入式操作系统的发展历史35

2.1.2 嵌入式操作系统的分类35

2.1.3 嵌入式操作系统的特点36

2.2 主流嵌入式操作系统简介36

2.2.1 VxWorks36

2.2.2 pSOS37

2.2.3 Palm OS37

2.2.4 QNX38

2.2.5 OS-938

2.2.6 LynxOS38

2.2.7 Windows CE39

2.2.8 μC/OS-II39

2.2.9 嵌入式Linux40

2.2.10 FreeRTOS40

2.3 小结40

2.4 习题40

第3章 ARM处理器构架(教学视频:53分钟)42

3.1 ARM体系结构概述42

3.1.1 ARM简介42

3.1.2 CISC的体系结构42

3.1.3 RISC的体系结构43

3.1.4 ARM微处理器的应用领域43

3.1.5 ARM体系结构的特点44

3.2 ARM处理器系列44

3.2.1 ARM7微处理器44

3.2.2 ARM9微处理器45

3.2.3 ARM9E微处理器45

3.2.4 ARM10E微处理器45

3.2.5 ARM11微处理器46

3.2.6 SecurCore微处理器46

3.2.7 StrongARM微处理器46

3.2.8 Xscale微处理器47

3.2.9 Cortex-M3微处理器47

3.2.10 基于ARM核的芯片选择47

3.3 ARM处理器结构48

3.3.1 ARM的系统构架48

3.3.2 ARM的流水线结构49

3.3.3 ARM的存储器结构49

3.4 ARM编程模型50

3.4.1 工作模式和工作状态50

3.4.2 特权访问和用户访问50

3.4.3 数据类型50

3.4.4 存储器格式50

3.5 ARM开发调试工具综述51

3.6 小结51

3.7 习题51

第4章 搭建嵌入式开发平台(教学视频:39分钟)53

4.1 基于ARM的RealView MDK开发环境53

4.1.1 RealView MDK简介53

4.1.2 RealView MDK系统安装需求54

4.1.3 RealView MDK的安装54

4.1.4 RealView MDK集成开发环境总览55

4.1.5 RealView MDK的菜单栏56

4.1.6 RealView MDK的工具栏59

4.1.7 RealView MDK的快捷键62

4.2 基于ARM Cortex-M3的STM32选型表63

4.3 基于ARM Cortex-M3的STM32最小开发系统63

4.4 程序下载方式64

4.5 小结65

4.6 习题65

第二篇 ARM嵌入式系统开发基础66

第5章 ARM Cortex-M3指令集(教学视频:30分钟)66

5.1 数据传送指令66

5.1.1 寄存器间数据传送指令66

5.1.2 存储器数据传送指令66

5.1.3 索引数据传送指令67

5.2 数据处理指令68

5.2.1 算术四则运算指令68

5.2.2 逻辑及移位操作指令69

5.2.3 数据序转及位操作指令70

5.3 子程序呼叫及转移指令70

5.4 隔离指令71

5.5 不支持的指令71

5.6 小结72

5.7 习题72

第6章 基于ARM Cortex-M3的STM32在应用编程(教学视频:31分钟)74

6.1 在应用编程简介74

6.2 STM32的启动配置74

6.3 STM32的在应用编程75

6.3.1 电路原理图75

6.3.2 BootLoader固件下载步骤76

6.4 小结78

6.5 习题79

第7章 嵌入式实时操作系统FreeRTOS(教学视频:42分钟)80

7.1 嵌入式实时操作系统FreeRTOS简介80

7.2 嵌入式操作系统基本概念80

7.2.1 多任务81

7.2.2 调度81

7.2.3 上下文切换82

7.2.4 实时应用和调度82

7.3 FreeRTOS的API模块82

7.3.1 定制82

7.3.2 任务创建和删除84

7.3.3 任务控制85

7.3.4 内核控制86

7.4 小结87

7.5 习题87

第8章 嵌入式系统UC/OS-Ⅱ(教学视频:39分钟)88

8.1 UC/OS-Ⅱ嵌入式系统简介88

8.2 UC/OS-Ⅱ任务管理88

8.2.1 建立任务OSTaskCreate89

8.2.2 建立任务OSTaskCreate Ext89

8.2.3 任务堆栈91

8.2.4 堆栈检验OSTaskStkChk91

8.2.5 删除任务OSTaskDel92

8.2.6 请求删除任务OSTaskDelReq93

8.2.7 改变任务的优先级OSTaskChangePrio94

8.2.8 挂起任务OSTaskSuspend95

8.2.9 恢复任务OSTaskResume96

8.2.10 获得有关任务的信息OSTaskQuery97

8.3 任务之间的通信与同步98

8.3.1 信号量98

8.3.2 邮箱98

8.3.3 消息队列98

8.4 小结99

8.5 习题99

第三篇 深入ARM嵌入式控制器100

第9章 通用I/O接口(教学视频:48分钟)100

9.1 通用I/O接口的结构100

9.1.1 GPIO的基本结构100

9.1.2 GPIO的功能101

9.1.3 GPIO的功能配置102

9.1.4 复用功能与重映射103

9.2 通用I/O接口的编程方法106

9.2.1 GPIO寄存器结构107

9.2.2 GPIO寄存器复位函数GPIO_DeInit107

9.2.3 复用功能寄存器复位函数GPIO_AFIODeInit108

9.2.4 参数初始化函数GPIO_Init108

9.2.5 复位GPIO_InitStruct函数GPIO_StructInit110

9.2.6 读输入引脚函数GPIO_ReadInputDataBit110

9.2.7 读输入端口函数GPIO_ReadInputData111

9.2.8 读输出引脚函数GPIO_ReadOutputDataBit111

9.2.9 读输出端口函数GPIO_ReadOutputData111

9.2.10 置位引脚函数GPIO_SetBits111

9.2.11 清除引脚位函数GPIO_ResetBits112

9.2.12 置位或清除引脚函数GPIO_WriteBit112

9.2.13 写端口函数GPIO_Write112

9.2.14 引脚配置锁定函数GPIO_PinLockConfig113

9.2.15 选择事件输出引脚函数GPIO_EventOutputConfig113

9.2.16 使能事件输出函数GPIO_EventOutputCmd113

9.2.17 改变引脚映射函数GPIO_PinRemapConfig114

9.2.18 选择EXTI线函数GPIO_EXTILineConfig115

9.3 综合练习115

9.4 小结116

9.5 习题116

第10章 Flash(教学视频:24分钟)118

10.1 Flash闪存的结构118

10.2 Flash闪存的基本特性119

10.2.1 Flash闪存读取119

10.2.2 Flash闪存编程和擦除119

10.3 Flash的编程方法119

10.3.1 Flash寄存器结构120

10.3.2 设置代码延时值函数Flash_SetLatency121

10.3.3 使能或禁用半周期访问函数Flash_HalfCycleAccessCmd121

10.3.4 使能或禁用预取缓冲区函数Flash_PrefetchBufferCmd121

10.3.5 解锁擦除控制器函数Flash_Unlock122

10.3.6 锁定擦除控制器函数Flash_Lock122

10.3.7 擦除页函数Flash_ErasePage122

10.3.8 擦除全部页函数Flash_EraseAllPages122

10.3.9 擦除选项字节函数Flash_EraseOptionBytes123

10.3.10 字写入函数Flash_ProgramWord123

10.3.11 半字写入函数Flash_ProgramHalfWord124

10.3.12 写选项字节函数Flash_ProgramOptionByteData124

10.3.13 页写保护函数Flash_EnableWriteProtection125

10.3.14 使能或禁用读保护函数Flash_ReadOutProtection126

10.3.15 写选项字节函数Flash_UserOptionByteConfig127

10.3.16 获取选项字节函数Flash_GetUserOptionByte128

10.3.17 获取写保护选项字节函数Flash_GetWriteProtection OptionByte128

10.3.18 获取读保护状态函数Flash_GetReadOutProtectionStatus128

10.3.19 获取预取缓冲区状态函数Flash_GetPrefectchBufferStatus128

10.3.20 使能或禁用中断函数Flash_ITConfig129

10.3.21 获取标志位状态函数Flash_GetFlagStatus129

10.3.22 清除挂起标志函数Flash_ClearFlag130

10.3.23 获取Flash状态函数Flash_GetStatus130

10.3.24 等待操作结束函数Flash_WaitForLastOperation131

10.4 综合练习131

10.5 小结133

10.6 习题133

第11章 ADC系统(教学视频:52分钟)134

11.1 ADC系统概述134

11.2 ADC系统功能特性135

11.2.1 ADC开关控制135

11.2.2 ADC时钟135

11.2.3 ADC通道选择135

11.2.4 ADC的转换模式135

11.2.5 中断136

11.2.6 模拟看门狗136

11.2.7 ADC的扫描模式136

11.2.8 ADC的注入通道管理137

11.2.9 间断模式137

11.2.10 ADC的校准模式137

11.2.11 ADC的数据对齐138

11.2.12 可编程的通道采样时间138

11.2.13 外部触发转换138

11.2.14 DMA请求139

11.2.15 双ADC模式139

11.2.16 温度传感器141

11.3 ADC系统的编程方法141

11.3.1 ADC寄存器结构142

11.3.2 ADC寄存器复位函数ADC_DeInit143

11.3.3 参数初始化函数ADC_Init143

11.3.4 复位ADC_InitStruct函数ADC_StructInit145

11.3.5 使能或禁用ADC模块函数ADC_Cmd145

11.3.6 使能或禁用DMA请求函数ADC_DMACmd146

11.3.7 使能或禁用ADC中断函数ADC_ITConfig146

11.3.8 复位ADC校准寄存器函数ADC_ResetCalibration146

11.3.9 获取复位校准寄存器状态函数ADC_GetResetCalibrationStatus147

11.3.10 开始ADC校准函数ADC_StartCalibration147

11.3.11 获取ADC校准状态ADC_GetCalibrationStatus147

11.3.12 使能或禁用软件转换函数ADC_SoftwareStartConvCmd147

11.3.13 获取软件开始转换状态函数ADC_GetSoftwareStartConvStatus148

11.3.14 配置常规组非连续模式函数ADC_DiscModeChannelCountConfig148

11.3.15 使能或禁用常规组非连续模式函数ADC_DiscModeCmd149

11.3.16 配置ADC常规信道函数ADC_RegularChannelConfig149

11.3.17 使能或禁用外部触发函数ADC_ExternalTrigConvCmd150

11.3.18 获取转换结果函数ADC_GetConversionValue151

11.3.19 获取双重转换结果函数ADC_GetDualModeConversionValue151

11.3.20 使能或禁用自动注入组转换函数ADC_AutoInjectedConvCmd151

11.3.21 使能或禁用非连续模式函数ADC_InjectedDiscModeCmd151

11.3.22 配置外部触发器函数ADC_ExternalTrigInjectedConvConfig152

11.3.23 使能或禁用注入信道转换函数ADC_ExternalTrigInjectedConvCmd152

11.3.24 使能或禁用开始注入信道转换函数ADC_SoftwareStartInjectedConvCmd153

11.3.25 获取启动转换注入状态函数ADC_GetSoftwareStartInjectedConvStatus153

11.3.26 配置ADC注入信道函数ADC_InjectedChannelConfig153

11.3.27 配置注入信道音序器长度函数ADC_InjectedSequencerLengthConfig155

11.3.28 设置注入信道转换值位移函数ADC_SetInjectedOffset155

11.3.29 获取注入信道转换结果函数ADC_GetInjectedConversionValue155

11.3.30 使能或禁用模拟看门狗函数ADC_AnalogWatchdogCmd156

11.3.31 配置模拟看门狗域值函数ADC_AnalogWatchdogThresholdsConfig156

11.3.32 配置模拟看门狗保护函数ADC_AnalogWatchdogSingleChannelConfig156

11.3.33 使能或禁用温度传感函数ADC_TempSensorVrefintCmd157

11.3.34 获取ADC标志函数ADC_GetFlagStatus571

11.3.35 清除挂起标志函数ADC_ClearFlag158

11.3.36 获取中断函数ADC_GetITStatus158

11.3.37 清除中断挂起位函数ADC_ClearITPendingBit158

11.4 综合练习159

11.5 小结160

11.6 习题160

第12章 中断系统(教学视频:32分钟)161

12.1 嵌套向量中断控制器(NVIC)161

12.2 NVIC的编程方法163

12.2.1 NVIC寄存器结构164

12.2.2 复位NVIC外设函数NVIC_DeInit165

12.2.3 复位SCB外设函数NVIC_SCBDeInit165

12.2.4 配置优先级组函数NVIC_PriorityGroupConfig166

12.2.5 初始化NVIC外设函数NVIC_Init166

12.2.6 复位NVIC_InitStruct函数NVIC_StructInit167

12.2.7 使能PRIMASK优先级函数NVIC_SETPRIMASK167

12.2.8 用PRIASK优先级函数NVIC_RESETPRIMASK167

12.2.9 使能FAULTMASK优先级函数NVIC_SETFAULTMASK167

12.2.10 禁用FAULTMASK优先级函数NVIC_RESETFAULTMASK167

12.2.11 配置执行优先级函数NVIC_BASEPRICONFIG168

12.2.12 获取BASEPRI掩码值函数NVIC_GetBASEPRI168

12.2.13 获取挂起服务的IRQ通道标识符函数NVIC_GetCurrentPendingIRQChannel168

12.2.14 获取IRQ通道挂起位函数NVIC_GetIRQChannelPendingBitStatus168

12.2.15 设置中断挂起位函数NVIC_GetIRQChannelPendingBit169

12.2.16 清除中断挂起位函数NVIC_ClearIRQChannelPendingBit169

12.2.17 返回活动句柄函数NVIC_GetCurrentActiveHandle169

12.2.18 获取IRQ通道活动位函数NVIC_GetIRQChannelActiveBitStatus169

12.2.19 获取ID号函数NVIC_GetCPUID170

12.2.20 设置向量表和偏移量函数NVIC_SetVectorTable170

12.2.21 系统复位函数NVIC_GenerateSystemReset170

12.2.22 核复位函数NVIC_GenerateCoreReset170

12.2.23 低功耗模式条件函数NVIC_SystemLPConfig170

12.2.24 使能或禁用系统句柄函数NVIC_SystemHandlerConfig171

12.2.25 配置系统句柄优先级函数NVIC_SystemHandlerPriorityConfig171

12.2.26 获取系统句柄挂起位函数NVIC_GetSystemHandlerPendingBitStatus172

12.2.27 设置系统句柄挂起位函数NVIC_SetSystemHandlerPendingBit173

12.2.28 清除系统句柄挂起位函数NVIC_ClearSystemHandlerPendingBit173

12.2.29 获取系统句柄活动位函数NVIC_GetSystemHandlerActiveBitStatus173

12.2.30 获取系统故障句柄源函数NVIC_GetFaultHandlerSources174

12.2.31 获取故障句柄位置函数NVIC_GetFaultAddress175

12.3 外部中断/事件控制器(EXTI)175

12.3.1 EXTI主要特性175

12.3.2 EXTI功能说明176

12.4 EXTI的编程方法176

12.4.1 EXTI寄存器结构177

12.4.2 复位EXTI外设函数EXTI_DeInit177

12.4.3 初始化EXTI外设函数EXTI_Init177

12.4.4 复位EXTI_InitStruct函数EXTI_StructInit178

12.4.5 软中断函数EXTI_GenerateSWInterrupt178

12.4.6 获取标志状态函数EXTI_GetFlagStatus179

12.4.7 清除挂起标志函数EXTI_ClearFlag179

12.4.8 获取EXTI置位函数EXTI_GetITStatus179

12.4.9 清除挂起位函数EXTI_ClearITPendingBit179

12.5 综合练习180

12.6 小结184

12.7 习题184

第13章 异步串行通信接口(教学视频:59分钟)185

13.1 USART结构185

13.1.1 USART特征描述185

13.1.2 USART发送器185

13.1.3 USART接收器186

13.1.4 LIN模式186

13.1.5 USART同步模式187

13.1.6 USART单线半双工通信187

13.1.7 USART的智能卡功能187

13.1.8 USART的IrDA模式188

13.1.9 USART的DMA通信188

13.1.10 USART的硬件流控制189

13.1.11 USART的中断请求189

13.2 USART编程方法190

13.2.1 USART寄存器结构191

13.2.2 USART寄存器复位函数USART_DeInit191

13.2.3 参数初始化函数USART_Init191

13.2.4 复位USART_InitStruct函数USART_StrucInit193

13.2.5 使能或禁用USART函数USART_Cmd194

13.2.6 使能或禁用中断函数USART_ITConfig194

13.2.7 使能或禁用DMA函数USART_DMACmd195

13.2.8 设置节点地址函数USART_SetAddress195

13.2.9 选择唤醒方式函数USART_WakeUpConfig196

13.2.10 USART模式函数USART_ReceiverWakeUpCmd196

13.2.11 LIN间隔检波长度函数USART_LINBreakDetectionConfig196

13.2.12 使能或者禁用LIN模式函数USART_LINCmd196

13.2.13 发送数据函数USART_SendData197

13.2.14 接收数据函数USART_ReceiveData197

13.2.15 传输间断字符函数USART_SendBreak197

13.2.16 设置预警时间函数USART_SetGuardTime197

13.2.17 设置时钟预分频器函数USART_SetPrescaler198

13.2.18 使能或者禁用智能卡模式函数USART_SmartCardCmd198

13.2.19 使能或禁用NACK函数USART_SmartCardNackCmd198

13.2.20 使能或者禁用半双工模式函数USART_HalfDuplexCmd199

13.2.21 配置IrDA模式函数USART_IrDAConfig199

13.2.22 使能或者禁用IrDA模式函数USART_IrDACmd199

13.2.23 获取标志是否置位函数USART_GetFlagStatus200

13.2.24 清除未决标志函数USART_ClearFlag200

13.2.25 获取中断状态函数USART_GetITStatus200

13.2.26 清除中断未决位函数USART_ClearITPendingBit201

13.3 CAN结构202

13.3.1 初始化模式202

13.3.2 正常模式203

13.3.3 睡眠模式203

13.3.4 测试模式203

13.3.5 静默模式203

13.3.6 环回模式204

13.3.7 环回静默模式204

13.4 CAN编程方法204

13.4.1 CAN寄存器结构205

13.4.2 CAN寄存器复位函数CAN_DeInit206

13.4.3 参数初始化函数CAN_Init206

13.4.4 过滤参数初始化函数CAN_FilterInit208

13.4.5 复位CAN_InitStruct函数CAN_StructInit210

13.4.6 使能或禁用CAN中断函数CAN_ITConfig210

13.4.7 初始化报文发送函数CAN Transmit211

热门推荐