
【STM32图书分享】--《ARM Cortex-M0权威指南》4 l0 _+ e$ T' h- x$ G a; g5 _ 作者:Joseph Yiu 著 吴常玉 魏军 译 出版社:清华大学出版社 出版日期:2013-8-1 ![]() 推荐理由/ P. }& \7 l0 ]% \ 本书是全球首本系统论述ARM Cortex-M0处理器及其编程的图书。本书既有ARM Cortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARMCortex-M0)的高年级本科生及研究生等,因此适应性比较广。另外ST公司推出的产品中M0内核的产品逐渐增多,在不久的将来将M0内核的stm32微处理器应用于的产品设计的案例将越来越多,因此作为ST的忠实粉丝,我们有必要十分了解ARM Cortex-M0处理器内核。而这本书就是我所推荐的。6 v: c1 w/ q5 T. c7 F; a) h. K 编辑推荐8 h) H( ^" M" q8 a/ s JosephYiu是英国ARM公司微控制器系统级设计专家,是ARMCortex-M3和Cortex-M0设计者,作者高屋建瓴,创作了基于Cortex-M0的重量级作品——《ARMCortex-M0权威指南》,这也是全球首本系统论述Cortex-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》(中文翻译版即将由清华大学出版社出版发行)。& T/ G- |! b0 V+ z 目录 译者序* M) ]% c% o+ c6 a) l" { 推荐序* P& d6 [0 C' {/ |* @ 前言. s: N9 s; |& S9 o% O 致谢 本书约定 缩写术语# m9 N) x. V6 B 第1章绪论 1.1为什么要选择Cortex-M0( v2 N9 l9 e& q9 V0 { 1.1.1能耗效率( P: ]: ~4 M, U. C: } 1.1.2代码密度 1.1.3易于使用 1.2Cortex-M0处理器的应用/ Z, F5 S9 Z5 h1 j7 Z4 G7 o 1.3ARM和ARM处理器的背景. F# E8 B$ I. A! O: F1 ? 1.4Cortex-M0处理器说明和ARM体系结构, J! ] i+ }- x! C( i2 v& ?7 t 1.5ARM处理器和ARM生态系统 1.6开始使用Cortex-M0处理器! ^/ l5 J6 `/ s6 |9 b/ R6 f 1.7本书的结构和资源) }( F u i0 k5 E 第2章Cortex-M0技术综述 2.1Cortex-M0处理器简介 2.2ARM Cortex-M0处理器的特性( j' F. h) ]& |6 `! V) b0 `0 D 2.2.1系统特性* x$ v3 t, d$ f& v+ g3 L* I4 s! J/ a0 [ 2.2.2应用特性5 H/ T) u% |% y8 ^/ H8 K% l! P3 H 2.2.3调试特性 2.2.4其他特性5 ]( @9 u: D- ^) D+ n' u 2.3Cortex-M0处理器的优势) @- ]) `6 H+ p, k; x7 a* ^ 2.3.1能耗效率) h+ s1 N6 m4 q" m 2.3.28位和16位架构的局限性3 z B, R y& \ B7 S 2.3.3易于使用,软件可移植 2.3.4选择多样化( l$ A# @8 H& `3 \% V' d$ T9 p 2.4低功耗应用6 }! H" P+ J# Z# m1 E/ Q 2.4.1门数量低 2.4.2高效率0 d: e& n8 M4 j. E 2.4.3低功耗特性6 d5 n$ u) n! \, E 2.4.4逻辑单元提升% I! m: W5 s! c+ J 2.5Cortex-M0的软件可移植性 第3章体系结构 3.1概述 3.2系统模型3 N& t7 Z7 N% [: o+ ?8 D9 p 3.2.1操作模式和状态 3.2.2寄存器和特殊寄存器8 U) Y! P9 _) O 3.2.3R0?R12 3.2.4R13,栈指针(SP): B" | {- ^3 O& z 3.2.5R14,链接寄存器(LR)( M) _( t) E- S 3.2.6R15,程序计数器(PC) 3.2.7xPSR,组合程序状态寄存器 3.2.8应用程序状态寄存器(APSR)的行为 h# e L" m( R 3.2.9PRIMASK: 中断屏蔽特殊寄存器; C0 m# q9 E+ Q+ L1 G3 E; \+ m 3.2.10CONTROL: 特殊寄存器 3.3存储器系统9 g2 ], t% x& |- Q1 \' i6 ? 3.4栈空间操作 Z+ |* b8 e+ H 3.5异常和中断1 t! k! s" S# b$ p( u; ? 3.6嵌套向量中断控制器(NVIC)4 Z6 v9 a2 y3 y 3.6.1灵活的中断管理) `( V O* D& ?1 S 3.6.2支持嵌套中断' n) p* h! v; g0 i1 i9 A* i 3.6.3向量化的异常入口" J$ b4 Q9 s; [& V7 ?; D3 Y 3.6.4中断屏蔽 3.7系统控制块(SCB)9 n1 s) N5 g+ m C 调试系统+ M/ x4 |4 a% J. S5 M1 q 3.8程序映像和启动流程 第4章Cortex-M0编程入门( R# [8 z7 U. `8 \) I! U+ E 4.1嵌入式系统编程入门+ ]8 }# p& Z" u. y4 ?( S5 _ 4.1.1微控制器是如何启动的( e) C0 M; I+ _! q0 F 4.1.2嵌入式程序设计 4.2输入和输出 4.3开发流程 4.4C编程和汇编编程6 L g* A% C: V1 A* `* m3 C 4.5什么是程序映像 4.5.1向量表# T$ t6 W" F: T7 e2 F: i' N$ K 4.5.2C启动代码 4.5.3程序代码 4.5.4C库代码 4.5.5RAM中的数据& T# e+ t' T8 k2 } 4.6C编程: 数据类型 4.7用C语言操作外设2 G& T' R4 T9 D' m" W4 U9 b% w 4.8Cortex微控制器软件接口标准(CMSIS) 4.8.1CMSIS介绍 4.8.2CMSIS中有什么是标准化的1 ~6 x: Y: b. g2 H* E' r 4.8.3CMSIS的组织结构3 B" s; g" K# S1 d$ ]/ _' g 4.8.4使用CMSIS 4.9CMSIS的优势 第5章指令集- e% Z, E' I' t# E: q) v3 Z$ p 5.1ARM和Thumb指令集的背景 5.2汇编基础 H/ r! V8 K. U! e* N5 p, \ 5.2.1汇编语法一览 5.2.2后缀的使用* U' t( ]& _/ ?1 w 5.2.3Thumb代码和统一汇编语言(UAL)- S. h: [4 f7 L; E1 r% ?/ Y$ y" j& D4 t 5.2.4指令列表 5.2.5处理器内移动数据 5.2.6存储器访问+ x; l, M9 Q; U0 R4 E 5.2.7栈空间访问 5.2.8算术运算 5.2.9逻辑运算 r9 E2 O, m! l* X: F 5.2.10移位和循环操作 5.2.11展开和顺序反转操作/ Y1 l H! B3 Z$ T- O5 u9 K8 V 5.2.12程序流控制- R5 O* A6 c6 X' @3 o 5.2.13存储器屏障指令 |4 ~! q4 k$ p 5.2.14异常相关指令8 ?$ K, b2 u: ] p4 G1 s 5.2.15休眠模式特性相关指令 5.2.16其他指令 5.3伪指令; K& s, O' o% B 第6章指令集使用实例$ D6 Z- D1 O7 [0 k$ N4 H/ N8 P 6.1概述 6.2程序控制8 b* C) ]3 S1 @& a2 q4 f 6.2.1If?Else- u+ l0 `$ ^. F6 G. [5 h! x 6.2.2循环 6.2.3进一步了解跳转指令" p2 X5 \: O) k7 K 6.2.4跳转条件的典型用法 6.2.5函数调用和函数返回% z5 J3 U) L8 d) @5 Z8 {; l+ L( Y+ z 6.2.6跳转表4 ^! y; ?& g2 I' T& C. F8 N 6.3数据访问 6.3.1简单数据访问 6.3.2使用存储器访问指令的例子3 j7 r" e: i- i2 E( ?6 U8 n' v 6.4数据类型转换, D' y* i1 ]! e: ? 6.4.1数据大小的转换 6.4.2大小端转换 U5 Z' N5 \$ q j/ m) S0 B$ l 6.5数据处理 6.5.164位/128位加法# l% |7 b. Q. O4 q 6.5.264位/128位减法) S& K. [* I2 ~' j1 J4 W3 J 6.5.3整数除法 6.5.4无符号整数开方根5 q$ D. R: P4 G T6 x. H4 z 6.5.5位和位域运算+ S- o* r5 k* G& T 第7章存储器系统7 m% e) j1 ~' T) |/ o# z 7.1概述 7.2存储器映射 7.3程序存储器,Boot Loader和存储器重映射 7.4数据存储器 7.5支持小端和大端 7.5.1数据类型0 I* U- N0 f: g 7.5.2硬件行为对编程的影响8 E7 S: D% W0 s# a# \ 7.5.3数据对齐/ F+ Y4 `" e; Z+ A5 c) }, c 7.5.4访问非法地址 7.5.5多寄存器加载和存储指令的使用 7.6存储器属性; W! u9 F6 L$ P3 F" @; U+ C 第8章异常和中断, @% X4 T* G) t 8.1什么是异常和中断5 ?1 u9 c# o' e; u 8.2Cortex-M0处理器的异常类型 8.2.1不可屏蔽中断(NMI)2 A# M; h3 D( U* W( F# q3 w+ z9 o 8.2.2硬件错误 8.2.3SVC(请求管理调用) 8.2.4PendSV(可挂起的系统调用) 8.2.5系统节拍 8.2.6中断 8.3异常优先级定义% k: N: w5 R3 v7 y 8.4向量表 8.5异常流程概述 8.5.1接受异常请求2 F* ~ p3 ?+ n- @8 ?4 t 8.5.2压栈和出栈! O) _/ R7 J9 `& a! ? 8.5.3异常返回指令+ \' Q4 R4 z% X 8.5.4末尾连锁 8.5.5延迟到达' m" W8 X# M4 C 8.6EXC_RETURN* l- f' F, ^' {% h/ i8 \ 8.7异常入口流程的细节, \& D% [0 q1 c" N# b X 8.7.1压栈 8.7.2取出向量并更新PC 8.7.3寄存器更新. l M- `0 u' Z5 s) A 8.8异常退出流程的细节 8.8.1寄存器出栈. m1 _# v6 n& A3 z" B7 e; O 8.8.2从返回地址取值并执行- [7 x5 ?* ^0 [! A/ E 第9章中断控制和系统控制1 R$ _6 Y* @& p 9.1NVIC和系统控制块特性9 K- j0 V- l3 E0 f6 s0 A 9.2中断使能和清除使能 9.3中断挂起和清除挂起5 i. d P8 B. V3 j 9.4中断优先级4 `/ R1 C8 [5 K8 h# r" ` 9.5中断控制的通用汇编代码 9.5.1使能和禁& y: c) j1 C2 C 媒体评论 "对于微控制器使用者来说,现在是让人非常兴奋的时期,许多供应商推出的ARMCortex-M设备的种类越来越多,而且应用范围也越来越广泛。许多使用8位和16位控制器的用户转而使用基于ARMCortex-M的设备,有了对ARMCortex-M0的介绍,他们都很惊讶这些设备这么容易使用而且32位机的性价比会这么高。因此,我很荣幸JosephYiu为用户写了这样一份ARM Cortex-M0设备指南,作为之前的8位机用户以及ARMCortex-M家族的权威,Joseph在指导新用户接触ARMCortex微控制器,以及给高级用户分享Cortex-M0的细节知识方面,确实有独到之处。 ——Dominic Pajak博士 (ARM Cortex-M0产品经理)7 ^3 e5 l% r" c. U/ ~( } ! O, E8 l+ ]1 K6 o% `9 x 《ARM Cortex-M0权威指南》的作者JosephYiu在ARM公司剑桥总部的处理器部门担任MCU技术专家多年,他对Cortex-M系列的理解正如书名所述,可谓权威。因此本书的英文版一经推出即在使用Cortex-M0处理器的技术人员中广受好评和追捧。书中深度解析了Cortex-M0处理器的各个技术方面及应用开发,提供了很多高级技术细节,并配套了大量作者编写的源码供理解和参考,堪称内核分析与实战开发的完美结合。本书的中文版经过清华出版社和译者的精心工作后,现在终于推出,相信对于高校师生、嵌入式研发人员和爱好者、甚至半导体公司的技术人员,本书都是一本不可多得的宝典! ——时昕博士(ARM大中华区大学计划) , G6 j8 G- j) s- S ] 《ARM Cortex-M0权威指南》的作者JosephYiu是ARM公司微控制器系统级设计专家,本书的权威性毋庸置疑!该书首次揭秘Cortex-M0的内核,全面剖析介绍其体系结构与开发方法,并不吝篇幅介绍从其他架构处理器进行软件移植的方法,包括ARM7TDMI、ARMCortex-M3以及8051微控制器移植的实例。,并配套提供作者亲自编写的大量实例源码,堪称一本Cortex-M0芯片内核分析与编程实战的完美学习解决方案!必将成为广大嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及嵌入式课程学习者的阅读“圣经”! ——与非网 创始人(苏公雨)" n1 p: w) S1 O" l3 ?. f 9 Y+ i- ^# U1 l9 p5 ~ ARM Cortex-M0权威指南》终于有了中文版,这是学习ARMCortex-M0人的福音!该书深度剖析了系统模型、指令集以及中断处理,全面把握ARMCortex-M0的工作方式;综合运用汇编语言和C语言实现的丰富的ARMCortex-M0编程案例,便于读者快速动手实践;并系统论述软件的开发流程,并以常用软件开发工具为例,介绍程序设计的实战案例;涵盖如何定位程序代码中的bug和软件移植等方面的知识;尤其适合真正想从事Cortex-M0系统设计实战的开发人员阅读学习。6 l) ?. s. R# S" w- r9 O ——电子发烧友网站(陈峰)/ r! ~% ?2 m; z' a9 X 《ARMCortex-M0权威指南》细致入微地介绍了ARM公司Cortex-M0处理器。本书最大的亮点就是讲述了如何将从基于传统MCU的嵌入式设计过渡到基于Cortex-M0的嵌入式设计。该书的出版将极大推动Cortex-M0在中国嵌入式设计领域的应用,为中国“智造”添砖加瓦。 ——何宾博士(畅销书《Xilinx FPGA设计权威指南》作者) 当当网购买链接product.dangdang.com/23323661.html#catalog7 N1 Z' f) R7 w# i 亚马逊购买链接www.amazon.cn/ARM-Cortex-M0权威指南-Joseph-Yiu/dp/B00ESCGQD6/ref=sr_1_1/ f- l. N$ M3 h8 X: X6 Q; X # j) `2 C& g- X, L, _ https://www.stmcu.org.cn/file:///C:UsersAdministratorAppDataRoamingTencentUsers953478916QQWinTempRichOle5%YE@P$F8DD7YD9BODP)4T6.jpg |
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》
回复:【STM32图书分享】--《ARM Cortex-M0权威指南》
32个赞!!多谢楼主推荐啦,我已加到推荐书单中
哇。。。谢谢啦,哈哈,会不会有图书相赠啊?
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》