分  享 
分  享 
源  码 
源  码 
课  程 
课  程 
设  计 
设  计 

[其他] 【PDF教材】《ARM Cortex-M0 权威指南》带目录书签完整PDF版 [209MB]

[复制链接]
密探007微信认证 发表于 2018-6-9 22:58:22 | 显示全部楼层 |阅读模式
「智能推荐」
【PDF教材】《ARM Cortex-M0 权威指南》带目录书签完整PDF版 [209MB] 【PDF教材】《ARM Linux内核源码剖析》尹锡训-完整版PDF(带书签目录)
【WORD教材】《ARM远程调试GDB及GUI-Insight》 【PDF教材】《ARM嵌入式Linux系统开发详解 (弓雷)》中文PDF扫描版 71.5M
【PDF教材】《ARM嵌入式VxWorks实践教程 (李忠民) 》中文PDF扫描版 171MB 【PDF教材】《ARM LINUX入门与实践》PDF扫描版[41MB]
【PDF教材】《ARM Cortex-M3权威指南》PDF扫描版[4MB] 【PDF教材】《ARM嵌入式系统软件开发实例(一)》 PDF扫描版[48MB]
【PDF教材】《ARM Cortex-A8处理器原理与应用:基于TI AM37x/DM37x处理器》PDF扫描版 【PDF教材】《ARM体系结构与编程》第2版-完整PDF扫描版[114MB]
【PDF教材】《ARM嵌入式系统编程与优化》中文PDF高清版+官方原版 [72MB]

欢迎加入「奥学网」学霸平台,让自学改变你的世界!

您需要 登录 才可以下载或查看,没有帐号?账号注册

x
【PDF教材】《ARM Cortex-M0 权威指南》带目录书签完整PDF版 [209MB] - 奥学网

  《ARM Cortex-M0XX指南》是全球首本系统论述ARM Cortex-M0处理器及其编程的图书。本书既有ARM Cortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARM Cortex-M0)的高年级本科生及研究生等。

  目录

  译者序

  推荐序

  前言

  致谢

  本书约定

  缩写术语

  第1章绪论

  1.1为什么要选择Cortex?M0

  1.1.1能耗效率

  1.1.2代码密度

  1.1.3易于使用

  1.2Cortex?M0处理器的应用

  1.3ARM和ARM处理器的背景

  1.4Cortex?M0处理器说明和ARM体系结构

  1.5ARM处理器和ARM生态系统

  1.6开始使用Cortex?M0处理器

  1.7本书的结构和资源

  第2章Cortex?M0技术综述

  2.1Cortex?M0处理器简介

  2.2ARM Cortex?M0处理器的特性

  2.2.1系统特性

  2.2.2应用特性

  2.2.3调试特性

  2.2.4其他特性

  2.3Cortex?M0处理器的优势

  2.3.1能耗效率

  2.3.28位和16位架构的局限性

  2.3.3易于使用,软件可移植

  2.3.4选择多样化

  2.4低功耗应用

  2.4.1门数量低

  2.4.2高效率

  2.4.3低功耗特性

  2.4.4逻辑单元提升

  2.5Cortex?M0的软件可移植性

  第3章体系结构

  3.1概述

  3.2系统模型

  3.2.1操作模式和状态

  3.2.2寄存器和特殊寄存器

  3.2.3R0?R12

  3.2.4R13,栈指针(SP)

  3.2.5R14,链接寄存器(LR)

  3.2.6R15,程序计数器(PC)

  3.2.7xPSR,组合程序状态寄存器

  3.2.8应用程序状态寄存器(APSR)的行为

  3.2.9PRIMASK:中断屏蔽特殊寄存器

  3.2.10CONTROL:特殊寄存器

  3.3存储器系统

  3.4栈空间操作

  3.5异常和中断

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

  3.6.1灵活的中断管理

  3.6.2支持嵌套中断

  3.6.3向量化的异常入口

  3.6.4中断屏蔽

  3.7系统控制块(SCB)

  调试系统

  3.8程序映像和启动流程

  第4章Cortex?M0编程入门

  4.1嵌入式系统编程入门

  4.1.1微控制器是如何启动的

  4.1.2嵌入式程序设计

  4.2输入和输出

  4.3开发流程

  4.4C编程和汇编编程

  4.5什么是程序映像

  4.5.1向量表

  4.5.2C启动代码

  4.5.3程序代码

  4.5.4C库代码

  4.5.5RAM中的数据

  4.6C编程:数据类型

  4.7用C语言操作外设

  4.8Cortex微控制器软件接口标准(CMSIS)

  4.8.1CMSIS介绍

  4.8.2CMSIS中有什么是标准化的

  4.8.3CMSIS的组织结构

  4.8.4使用CMSIS

  4.9CMSIS的优势

  第5章指令集

  5.1ARM和Thumb指令集的背景

  5.2汇编基础

  5.2.1汇编语法一览

  5.2.2后缀的使用

  5.2.3Thumb代码和统一汇编语言(UAL)

  5.2.4指令列表

  5.2.5处理器内移动数据

  5.2.6存储器访问

  5.2.7栈空间访问

  5.2.8算术运算

  5.2.9逻辑运算

  5.2.10移位和循环操作

  5.2.11展开和顺序反转操作

  5.2.12程序流控制

  5.2.13存储器屏障指令

  5.2.14异常相关指令

  5.2.15休眠模式特性相关指令

  5.2.16其他指令

  5.3伪指令

  第6章指令集使用实例

  6.1概述

  6.2程序控制

  6.2.1If?Else

  6.2.2循环

  6.2.3进一步了解跳转指令

  6.2.4跳转条件的典型用法

  6.2.5函数调用和函数返回

  6.2.6跳转表

  6.3数据访问

  6.3.1简单数据访问

  6.3.2使用存储器访问指令的例子

  6.4数据类型转换

  6.4.1数据大小的转换

  6.4.2大小端转换

  6.5数据处理

  6.5.164位/128位加法

  6.5.264位/128位减法

  6.5.3整数除法

  6.5.4无符号整数开方根

  6.5.5位和位域运算

  第7章存储器系统

  7.1概述

  7.2存储器映射

  7.3程序存储器,Boot Loader和存储器重映射

  7.4数据存储器

  7.5支持小端和大端

  7.5.1数据类型

  7.5.2硬件行为对编程的影响

  7.5.3数据对齐

  7.5.4访问非法地址

  7.5.5多寄存器加载和存储指令的使用

  7.6存储器属性

  第8章异常和中断

  8.1什么是异常和中断

  8.2Cortex?M0处理器的异常类型

  8.2.1不可屏蔽中断(NMI)

  8.2.2硬件错误

  8.2.3SVC(请求管理调用)

  8.2.4PendSV(可挂起的系统调用)

  8.2.5系统节拍

  8.2.6中断

  8.3异常优先级定义

  8.4向量表

  8.5异常流程概述

  8.5.1接受异常请求

  8.5.2压栈和出栈

  8.5.3异常返回指令

  8.5.4末尾连锁

  8.5.5延迟到达

  8.6EXC_RETURN

  8.7异常入口流程的细节

  8.7.1压栈

  8.7.2取出向量并更新PC

  8.7.3寄存器更新

  8.8异常退出流程的细节

  8.8.1寄存器出栈

  8.8.2从返回地址取值并执行

  第9章中断控制和系统控制

  9.1NVIC和系统控制块特性

  9.2中断使能和清除使能

  9.3中断挂起和清除挂起

  9.4中断优先级

  9.5中断控制的通用汇编代码

  9.5.1使能和禁止中断

  9.5.2设置和清除中断挂起状态

  9.5.3设置中断优先级

  9.6异常屏蔽寄存器(PRIMASK)

  9.7中断输入和挂起行为

  简单的中断处理

  9.8中断等待

  9.9系统异常的控制寄存器

  9.10系统控制寄存器

  9.10.1CPU ID基址寄存器

  9.10.2应用中断和复位控制寄存器

  9.10.3配置和控制寄存器

  第10章支持操作系统的特性

  10.1支持操作系统的特性概述

  为什么要使用嵌入式操作系统

  10.2SysTick定时器

  10.3SysTick寄存器

  10.3.1设置SysTick

  10.3.2SysTick用于时间测量

  10.4进程栈和进程栈指针

  10.5SVC

  10.6PendSV

  第11章低功耗特性

  11.1低功耗嵌入式系统概述

  11.2Cortex?M0处理器的低功耗优势

  11.3低功耗特性概述

  11.4休眠模式

  11.5等待事件(WFE)和等待中断(WFI)

  11.5.1等待事件(WFE)

  11.5.2等待中断(WFI)

  11.5.3唤醒条件

  11.6退出休眠特性

  11.7唤醒中断控制器

  第12章错误处理

  12.1错误异常概述

  错误是怎么发生的

  12.2分析错误

  12.3意外切换至ARM状态

  12.4实际应用中的错误处理

  12.5锁定

  12.5.1锁定的原因

  12.5.2锁定期间发生了什么

  12.6防止锁定

  第13章调试特性

  13.1软件开发和调试特性

  13.2调试特性一览

  13.3调试接口

  13.4暂停模式和调试事件

  13.5调试系统

  第14章Keil MDK入门

  14.1Keil MDK介绍

  14.2使用Keil MDK的

  第一步

  14.2.1创建Blinky工程

  14.2.2创建工程代码

  14.2.3工程设置

  14.2.4编译和建立程序

  14.2.5使用调试器

  14.3其他的工程配置

  14.3.1目标,源文件组

  14.3.2编译器和代码生成选项

  14.3.3模拟器

  14.3.4在RAM中运行

  14.4定制Keil中的启动代码

  14.5使用Keil中的分散加载特性

  第15章简单应用程序开发

  15.1使用CMSIS

  15.2将SysTick用作单发定时器

  15.3UART示例

  15.3.1简单的输入和输出

  15.3.2重定向

  15.3.3开发自己的输入和输出函数

  15.4简单中断编程

  15.4.1中断编程概述

  15.4.2度盘控制接口实例

  15.4.3中断控制函数

  15.5CMSIS的不同版本

  第16章汇编工程和C与汇编混合工程

  16.1用汇编开发工程

  16.2汇编编程的建议规则

  16.3汇编函数的结构

  16.4简单的汇编工程实例

  16.5为变量分配数据空间

  16.6用汇编实现UART

  16.7其他的文字输出函数

  复杂的跳转处理

  16.8混合语言工程

  16.8.1在汇编中调用C函数

  16.8.2在C代码中调用汇编函数

  16.9嵌入汇编

  16.10使用特殊指令

  16.11习语识别

  第17章在编程中使用低功耗特性

  17.1概述

  17.2Cortex?M0处理器的休眠模式回顾

  17.3在程序中使用WFE和WFI

  17.4使用挂起发送事件特性

  17.5使用退出休眠特性

  17.6唤醒中断控制器(WIC)特性

  17.7事件通信接口

  17.8开发低功耗应用程序

  17.9LPC111x的低功耗特性使用示例

  第18章使用SVC、PendSV和Keil RTX Kernel

  18.1概述

  18.2使用SVC异常

  18.3使用PendSV异常

  18.4使用嵌入式OS

  18.5Keil RTX实时内核

  18.6OS启动流程

  18.6.1简单的OS实例

  18.6.2任务间通信

  18.6.3事件通信

  18.6.4互斥体

  18.6.5信号量

  18.6.6信箱消息

  18.6.7周期时间间隔

  18.6.8其他的RTX特性

  18.6.9应用程序实例

  第19章ARM RealView开发组件入门

  19.1概述

  19.2简单的应用程序实例

  19.3使用分散加载文件

  19.4用C实现的含有向量表的实例

  19.5在RVDS中使用MicroLIB

  19.6在RVDS中使用汇编进行应用程序开发

  19.7Flash编程

  19.8使用RealView调试器进行调试

  19.9使用RealView调试器的串行线调试

  19.10RVDS中的重定向

  第20章GNU C编译器入门

  20.1概述

  20.2典型的开发流程

  20.3简单的C程序开发

  20.4CodeSourcery通用启动代码

  20.5使用用户定义的向量表

  20.6在gcc中使用Printf

  20.7内联汇编

  20.8gcc中的SVC实例

  20.9硬件错误异常实例

  20.10Flash编程和调试

  第21章软件移植

  21.1概述

  21.2ARM处理器

  21.3ARM7TDMI和Cortex?M0之间的差异

  21.3.1操作模式

  21.3.2寄存器

  21.3.3指令集

  21.3.4中断

  21.4从ARM7TDMI向Cortex?M0移植软件

  21.4.1启动代码和向量表

  21.4.2中断

  21.4.3C程序代码

  21.4.4汇编代码

  21.4.5原子操作

  21.4.6优化

  21.5Cortex?M1和Cortex?M0之间的差异

  21.5.1指令集

  21.5.2NVIC

  21.5.3系统级特性

  21.6在Cortex?M0和Cortex?M1之间移植软件

  21.7Cortex?M3和Cortex?M0之间的差异

  21.7.1系统模型

  21.7.2NVIC和异常

  21.7.3指令集

  21.7.4系统级特性

  21.7.5调试特性

  21.8在Cortex?M0和Cortex?M3之间移植软件

  21.9在Cortex?M0和Cortex?M4处理器之间移植软件

  21.10从8位机/16位机往Cortex?M0移植程序

  21.10.1通用改动

  21.10.2存储器需求

  21.10.38位机和16位机不再适用的优化

  21.10.4实例:从8051移植到ARM Cortex?M0

  第22章Cortex?M0产品

  22.1概述

  22.2微控制器产品和专用标准产品(ASSP)

  22.2.1NXP Cortex?M0微控制器

  22.2.2NuMicro微控制器

  22.2.3Mocha?1 ARM Cortex?M0可配置阵列

  22.2.4Melfas MCS?7000系列触摸屏控制器

  22.3编译器和软件开发组件

  22.3.1Keil微控制器开发套件(MDK)

  22.3.2TASKING VX?Toolset for ARM

  22.3.3IAR Embedded Workbench for ARM

  22.3.4CrossWorks for ARM

  22.3.5Red Suite

  22.3.6LabVIEW C代码生成器

  22.4开发板

  22.4.1LPCXpresso

  22.4.2IAR的LPC1114入门套件

  22.4.3LPC1114 Cortex?M0模块

  22.4.4Keil Cortex?M0开发板

  附录ACortex?M0指令集

  附录BCortex?M0异常类型快速参考

  B.1异常类型

  B.2异常压栈后的栈内容

  附录C软件接口标准(CMSIS)快速参考

  C.1数据类型

  C.2异常枚举

  C.3NVIC操作函数

  C.4系统和SysTick操作函数

  C.5内核寄存器操作函数

  C.6特殊指令操作函数

  附录DNVIC、SCB以及SysTick寄存器快速参考

  D.1NVIC寄存器一览

  D.2中断设置使能寄存器(NVIC->ISER)

  D.3中断清除使能寄存器(NVIC->ICER)

  D.4中断设置挂起寄存器(NVIC->ISPR)

  D.5中断清除挂起寄存器(NVIC->ICPR)

  D.6中断优先级寄存器(NVIC->IRP[0]到NVIC->IRP[7])

  D.7SCB寄存器一览

  D.8CPU ID基地址寄存器(SCB->CPUID)

  D.9中断控制状态寄存器(SCB->ICSR)

  D.10应用中断和控制状态寄存器(SCB->AIRCR)

  D.11系统控制寄存器(SCB->SCR)

  D.12配置控制寄存器(SCB->CCR)

  D.13系统处理优先级寄存器2(SCB->SHR[0])

  D.14系统处理优先级寄存器3(SCB->SHR[1])

  D.15系统处理控制和状态寄存器

  D.16SysTick寄存器一览

  D.17SysTick控制和状态寄存器(SysTick->CTRL)

  D.18SysTick重装载值寄存器(SysTick->LOAD)

  D.19SysTick当前值寄存器(SysTick->VAL)

  D.20SysTick校准值寄存器(SysTick->CALIB)

  附录E调试寄存器快速参考

  E.1概述

  E.2内核调试寄存器

  E.3断点单元

  E.4数据监视点单元

  E.5ROM表寄存器

  附录F调试接头分配

  F.110针Cortex调试连接头

  F.220针Cortex调试+ETM接头

  F.3老式的20针IDC接头排列

  附录GCodeSourcery G++Lite的链接器脚本

  附录H实例代码文件

  H.1system_LPC11xx.c

  H.2system_LPC11xx.h

  H.3LPC11xx.hs

  H.4uart_test.s

  H.5RTX_config.c

  附录I疑难解答

  I.1程序不运行/启动

  I.1.1向量表丢失或位置错误

  I.1.2使用了错误的C启动代码

  I.1.3复位向量中的值错误

  I.1.4程序映像没有正确地编程到Flash中

  I.1.5错误的工具链配置

  I.1.6错误的栈指针初始值

  I.1.7错误的大小端设置

  I.2程序启动,却进入了硬件错误

  I.2.1非法存储器访问

  I.2.2非对齐数据访问

  I.2.3从总线返回错误

  I.2.4异常处理中的栈被破坏

  I.2.5程序在某些C函数中崩溃

  I.2.6意外地试图切换至ARM状态

  I.2.7在错误的优先级上执行SVC

  I.3休眠问题

  I.3.1执行WFE不进入休眠

  I.3.2退出休眠过早地引起休眠

  I.3.3中断已经在挂起态时SEVONPEND不工作

  I.3.4由于休眠模式可能禁止了某些时钟,处理器无法唤醒

  I.3.5竞态

  I.4中断问题

  I.4.1执行了多余的中断处理

  I.4.2执行了额外的SysTick处理

  I.4.3在中断处理中禁止中断

  I.4.4错误的中断返回指令

  I.4.5异常优先级设置的数值

  I.5其他问题

  I.5.1错误的SVC参数传递方法

  I.5.2调试连接受到I/O设置或低功耗模式的影响

  I.5.3调试协议选择

  I.5.4使用事件输出作为脉冲I/O

  附录J实用参考文档



 百度网盘 / Download(回复可见):
 The following hidden content members only. Join us 
游客,如果您要查看本帖隐藏内容请回复

 

 

楼 主 推 荐
云在青天水在瓶 发表于 2018-6-15 18:47:55 | 显示全部楼层
干好货拿走谢谢不送
回复 支持 反对

使用道具 举报

光子麦 发表于 2018-6-16 04:59:38 | 显示全部楼层
直接覆盖破解补丁就可以了,很方便,学到了,谢谢楼主
回复 支持 反对

使用道具 举报

zgR0 发表于 2018-6-18 22:35:52 | 显示全部楼层
原来是这样
回复 支持 反对

使用道具 举报

VjSn 发表于 2018-6-20 01:08:53 | 显示全部楼层
我要要要切克闹
回复 支持 反对

使用道具 举报

728i 发表于 2018-7-1 09:00:05 | 显示全部楼层
不错,看看。
回复 支持 反对

使用道具 举报

UiyPb 发表于 2018-7-1 19:39:51 | 显示全部楼层
很不错的东西很想要
回复 支持 反对

使用道具 举报

GZCVF 发表于 2018-7-4 03:06:53 | 显示全部楼层
等了1分钟总算可以发言了……
回复 支持 反对

使用道具 举报

QFg2 发表于 2018-7-4 03:49:43 | 显示全部楼层
好贴坏贴,一眼就看出去
回复 支持 反对

使用道具 举报

秦树南 发表于 2018-7-4 04:01:35 | 显示全部楼层
你加油吧
回复 支持 反对

使用道具 举报

快速回复 收藏帖子 返回列表 联系我们
加密...
奥学网X

Try it|SiteMap|奥学网

E-mail: [email protected]

Xtreme-aesthetic Design

© 2012~Now 6SO.SO

快速回复 返回顶部 返回列表