- 版 次:1
- 页 数:433
- 字 数:655000
- 印刷时间:2013-8-1
- 开 本:16开
- 纸 张:胶版纸
- 印 次:1
- 包 装:平装
- 丛书名:清华开发者书库
- 国际标准书号ISBN:9787302330042
编辑推荐
JosephYiu是英国ARM公司微控制器系统级设计专家,是ARMCortex-M3和Cortex-M0设计者,作者高屋建瓴,创作了基于Cortex-M0的重量级作品——《ARMCortex-M0权威指南》,这也是全球首本系统论述Cortex-M0的内核、体系结构、指令集、编译器、程序设计及软件移植的经典。作者配套提供了大量源代码(可到图书封底网址下载)。本书得到了五大专业机构六位知名专家的鼎力推荐。非常值得开发者珍藏!
内容推荐
本书是全球首本系统论述ARM Cortex-M0处理器及其编程的图书。本书既有ARMCortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARMCortex-M0)的高年级本科生及研究生等。
作者简介
Joseph Yiu英国ARM公司资深专家,12年半导体行业从业经历(在ARM公司工作10年之余)。曾参与多个处理器设计项目,包括ARMCortex-M3和Cortex-M0,并参与了多种ARM IP(知识产权)产品的开发。JosephYiu为微控制器系统级设计专家,并涉猎了诸多相关领域,包括ARMCortex-M系列微控制器软件开发、微控制器市场以及片上系统设计技术。其他代表性著作有《The Definitive Guideto the ARM Cortex-M3, 2nd Edition》、《The Definitive Guide to ARMCortex-M3 and Cortex-M4 Processors, 3rdEdition》(中文翻译版即将由清华大学出版社出版发行)。
目录
译者序
推荐序
前言
致谢
本书约定
缩写术语
第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使能和禁
下载地址:链接: https://pan.baidu.com/s/1c2FnjwO 密码: d9e2