
【STM32图书分享】--《ARM Cortex-M0权威指南》2 m5 e" B) V* O 作者:Joseph Yiu 著 吴常玉 魏军 译 出版社:清华大学出版社 出版日期:2013-8-1 ![]() 推荐理由" a6 G; t, v7 i" g) Q( K# l) v7 {5 T# v) x 本书是全球首本系统论述ARM Cortex-M0处理器及其编程的图书。本书既有ARM Cortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARMCortex-M0)的高年级本科生及研究生等,因此适应性比较广。另外ST公司推出的产品中M0内核的产品逐渐增多,在不久的将来将M0内核的stm32微处理器应用于的产品设计的案例将越来越多,因此作为ST的忠实粉丝,我们有必要十分了解ARM Cortex-M0处理器内核。而这本书就是我所推荐的。) T; F' s3 ?/ b" x7 Z4 ` 编辑推荐0 e$ ]4 v9 @# x, J JosephYiu是英国ARM公司微控制器系统级设计专家,是ARMCortex-M3和Cortex-M0设计者,作者高屋建瓴,创作了基于Cortex-M0的重量级作品——《ARMCortex-M0权威指南》,这也是全球首本系统论述Cortex-M0的内核、体系结构、指令集、编译器、程序设计及软件移植的经典。作者配套提供了大量源代码(可到图书封底网址下载)。本书得到了五大专业机构六位知名专家的鼎力推荐。非常值得开发者珍藏! 作者简介1 l% A% z/ p, `+ N) }- t% J 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》(中文翻译版即将由清华大学出版社出版发行)。 目录2 j7 P$ ?& {7 | 译者序 推荐序 前言 致谢6 S4 }& ~" M: Y; q, _1 C. k" Z& T 本书约定 缩写术语 第1章绪论6 O' b! X! c* M8 n7 S 1.1为什么要选择Cortex-M0, n) t2 e. @6 g% o' f 1.1.1能耗效率$ v, G" R4 }) K' i( N# i 1.1.2代码密度' ^1 j# o/ K8 v5 G" E1 Z3 t 1.1.3易于使用 1.2Cortex-M0处理器的应用0 _) I8 G9 i. t9 O+ a6 W 1.3ARM和ARM处理器的背景: ]. E$ P/ F$ ^4 z; K0 K* o 1.4Cortex-M0处理器说明和ARM体系结构) y" V1 g& L1 Q, u1 V 1.5ARM处理器和ARM生态系统+ x& K& A( j- j 1.6开始使用Cortex-M0处理器) a2 B8 p. P, _) }: I$ @! N 1.7本书的结构和资源, T& q; \* z) P$ R( [ 第2章Cortex-M0技术综述 2.1Cortex-M0处理器简介4 B( h& E; X% l- `8 }5 J 2.2ARM Cortex-M0处理器的特性 2.2.1系统特性 2.2.2应用特性 2.2.3调试特性 2.2.4其他特性( C8 E# g6 G1 a2 e4 m6 W: f 2.3Cortex-M0处理器的优势1 P, [) q: E% M1 u4 D, ~& {( e n8 [+ k8 T 2.3.1能耗效率9 k( Z4 H+ }6 n9 B; W6 x/ ` 2.3.28位和16位架构的局限性7 Z9 ~# a4 Y" D, z4 k2 c 2.3.3易于使用,软件可移植, V, m% b: C3 S- | s1 M( H 2.3.4选择多样化2 @. D3 X. n, o$ k: T+ t* X; R 2.4低功耗应用 2.4.1门数量低0 U V* }# ]; {; D- ^( v5 v6 P; ^ 2.4.2高效率% H5 f5 I5 |7 E7 D C 2.4.3低功耗特性) |. j: [8 J Y; L 2.4.4逻辑单元提升 2.5Cortex-M0的软件可移植性7 L" Q2 x, }/ o% k+ ^2 v2 J! ^ 第3章体系结构: L( ~$ u7 ? [ P5 F/ M 3.1概述 3.2系统模型 3.2.1操作模式和状态 3.2.2寄存器和特殊寄存器$ Q+ ~9 n [" d, v* V 3.2.3R0?R12/ Y* v( P; U% Y) E( o$ j 3.2.4R13,栈指针(SP) 3.2.5R14,链接寄存器(LR)3 _8 [7 [6 [, F9 J- C- W 3.2.6R15,程序计数器(PC); E3 l# \- H" K+ d% o 3.2.7xPSR,组合程序状态寄存器) X5 f( _2 [1 \ 3.2.8应用程序状态寄存器(APSR)的行为( F# ?& k$ @) f% x! C2 S2 D- F 3.2.9PRIMASK: 中断屏蔽特殊寄存器; g, g8 H- Z$ N9 ~+ W2 i( j9 A 3.2.10CONTROL: 特殊寄存器 3.3存储器系统9 n- Y! H# ^, @, d' c+ o4 Q+ { 3.4栈空间操作 3.5异常和中断& b( ^* _6 q. e- J 3.6嵌套向量中断控制器(NVIC) 3.6.1灵活的中断管理 3.6.2支持嵌套中断 3.6.3向量化的异常入口% N8 w9 C, A6 ?3 P) T 3.6.4中断屏蔽 3.7系统控制块(SCB)+ W7 e( p% q3 w) _9 j$ B 调试系统 3.8程序映像和启动流程* P$ ~' Z' g1 B3 P9 w* Y% l6 M 第4章Cortex-M0编程入门( ^/ }! q9 Y9 I 4.1嵌入式系统编程入门4 j+ j# o4 X1 a A* A 4.1.1微控制器是如何启动的4 ]( q4 d W" l/ @ 4.1.2嵌入式程序设计. C- p% t5 A9 H. s8 y7 z: D 4.2输入和输出7 o& m; ~. u X+ T& W 4.3开发流程5 a f/ q0 r, { 4.4C编程和汇编编程7 h/ W+ E: e" I, t2 T- b8 O 4.5什么是程序映像 4.5.1向量表) s2 B7 A* p- S R, d 4.5.2C启动代码 4.5.3程序代码 4.5.4C库代码 4.5.5RAM中的数据 4.6C编程: 数据类型 4.7用C语言操作外设 r2 m- L4 S2 \7 \- R 4.8Cortex微控制器软件接口标准(CMSIS) 4.8.1CMSIS介绍4 j r3 w7 t5 \- ] P 4.8.2CMSIS中有什么是标准化的 e" a9 O3 k E 4.8.3CMSIS的组织结构 4.8.4使用CMSIS 4.9CMSIS的优势 第5章指令集 5.1ARM和Thumb指令集的背景 5.2汇编基础 5.2.1汇编语法一览' B% T! n3 i" J! |8 m- X 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移位和循环操作7 g- B' _$ ?) J2 x# Q* M- | 5.2.11展开和顺序反转操作) [& u* b% O3 G; [1 J) {9 p 5.2.12程序流控制0 I K3 z) V7 u5 D8 g 5.2.13存储器屏障指令 5.2.14异常相关指令 5.2.15休眠模式特性相关指令 5.2.16其他指令: V8 c6 k! a8 |, r s: X8 r 5.3伪指令 第6章指令集使用实例 6.1概述 6.2程序控制 6.2.1If?Else 6.2.2循环 6.2.3进一步了解跳转指令 6.2.4跳转条件的典型用法 6.2.5函数调用和函数返回5 I7 c7 v3 r% t 6.2.6跳转表 6.3数据访问 6.3.1简单数据访问 6.3.2使用存储器访问指令的例子9 w$ {) P* H) H- E 6.4数据类型转换 6.4.1数据大小的转换 6.4.2大小端转换& X* ]8 A# i6 e& v" \& ?) ? 6.5数据处理6 J# F" M& p, N# n 6.5.164位/128位加法 6.5.264位/128位减法" D" @( O% K4 _2 M$ b# i8 T! O 6.5.3整数除法 6.5.4无符号整数开方根* X* z3 C2 m! C v3 N- C8 _ 6.5.5位和位域运算: n! A) F& o2 [* R. C2 g 第7章存储器系统 7.1概述 _# l- M; C j1 [6 [ 7.2存储器映射 7.3程序存储器,Boot Loader和存储器重映射2 c# [# \5 }" l, S 7.4数据存储器$ q# ~ x# W1 P& k5 l: S4 C 7.5支持小端和大端 7.5.1数据类型1 U! O. l" }/ Y: Z" c" r 7.5.2硬件行为对编程的影响 7.5.3数据对齐 7.5.4访问非法地址 7.5.5多寄存器加载和存储指令的使用 7.6存储器属性 第8章异常和中断% P, S4 e1 a# o3 X* E 8.1什么是异常和中断 8.2Cortex-M0处理器的异常类型2 o& {- E, h; I 8.2.1不可屏蔽中断(NMI) 8.2.2硬件错误 8.2.3SVC(请求管理调用)2 O/ [. q! E- l" Y$ C) w( M 8.2.4PendSV(可挂起的系统调用) 8.2.5系统节拍* C1 _3 |' x; ~9 X" ? 8.2.6中断. ^* p J3 k: L' p9 p 8.3异常优先级定义 8.4向量表. q. F7 K/ o$ \, v: G% L- r 8.5异常流程概述* K3 ]; C3 [0 }. U3 s/ ~/ e( S+ n1 { 8.5.1接受异常请求" n* V a( G, f7 V 8.5.2压栈和出栈1 G2 D. J4 j+ l- P. x 8.5.3异常返回指令/ F9 r# d2 P. b, y, i 8.5.4末尾连锁 8.5.5延迟到达+ m. }- o0 H/ c& K+ ?! J* u6 } 8.6EXC_RETURN9 N+ O {7 I. ~% |6 B9 @7 M 8.7异常入口流程的细节 8.7.1压栈! A+ X" V9 @# ~ h4 v, v D' V 8.7.2取出向量并更新PC( H) Z3 s" U$ o* W 8.7.3寄存器更新 8.8异常退出流程的细节 8.8.1寄存器出栈$ @* K! x. {1 F 8.8.2从返回地址取值并执行 _9 o2 q7 P6 v' Y- n 第9章中断控制和系统控制3 l" n6 K e: U- g7 m 9.1NVIC和系统控制块特性 9.2中断使能和清除使能# p. N) i' m- c7 R% b7 ] 9.3中断挂起和清除挂起8 @; A: G3 t4 G' f& \8 a 9.4中断优先级 9.5中断控制的通用汇编代码 9.5.1使能和禁 媒体评论 "对于微控制器使用者来说,现在是让人非常兴奋的时期,许多供应商推出的ARMCortex-M设备的种类越来越多,而且应用范围也越来越广泛。许多使用8位和16位控制器的用户转而使用基于ARMCortex-M的设备,有了对ARMCortex-M0的介绍,他们都很惊讶这些设备这么容易使用而且32位机的性价比会这么高。因此,我很荣幸JosephYiu为用户写了这样一份ARM Cortex-M0设备指南,作为之前的8位机用户以及ARMCortex-M家族的权威,Joseph在指导新用户接触ARMCortex微控制器,以及给高级用户分享Cortex-M0的细节知识方面,确实有独到之处。8 W! v. N( c6 b( N# C ——Dominic Pajak博士 (ARM Cortex-M0产品经理). N A1 ^/ T0 s' [1 M* { g 《ARM Cortex-M0权威指南》的作者JosephYiu在ARM公司剑桥总部的处理器部门担任MCU技术专家多年,他对Cortex-M系列的理解正如书名所述,可谓权威。因此本书的英文版一经推出即在使用Cortex-M0处理器的技术人员中广受好评和追捧。书中深度解析了Cortex-M0处理器的各个技术方面及应用开发,提供了很多高级技术细节,并配套了大量作者编写的源码供理解和参考,堪称内核分析与实战开发的完美结合。本书的中文版经过清华出版社和译者的精心工作后,现在终于推出,相信对于高校师生、嵌入式研发人员和爱好者、甚至半导体公司的技术人员,本书都是一本不可多得的宝典!2 ]. c- `* F+ ?2 [- p ——时昕博士(ARM大中华区大学计划)# ]/ b0 I! m. X! S' d$ o& R/ w) w & u6 i' g9 f. a) i 《ARM Cortex-M0权威指南》的作者JosephYiu是ARM公司微控制器系统级设计专家,本书的权威性毋庸置疑!该书首次揭秘Cortex-M0的内核,全面剖析介绍其体系结构与开发方法,并不吝篇幅介绍从其他架构处理器进行软件移植的方法,包括ARM7TDMI、ARMCortex-M3以及8051微控制器移植的实例。,并配套提供作者亲自编写的大量实例源码,堪称一本Cortex-M0芯片内核分析与编程实战的完美学习解决方案!必将成为广大嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及嵌入式课程学习者的阅读“圣经”! ——与非网 创始人(苏公雨) 0 ~3 d0 K- n0 k1 Z/ ^2 r, E ARM Cortex-M0权威指南》终于有了中文版,这是学习ARMCortex-M0人的福音!该书深度剖析了系统模型、指令集以及中断处理,全面把握ARMCortex-M0的工作方式;综合运用汇编语言和C语言实现的丰富的ARMCortex-M0编程案例,便于读者快速动手实践;并系统论述软件的开发流程,并以常用软件开发工具为例,介绍程序设计的实战案例;涵盖如何定位程序代码中的bug和软件移植等方面的知识;尤其适合真正想从事Cortex-M0系统设计实战的开发人员阅读学习。 ——电子发烧友网站(陈峰)1 L; S& [) n! ?! F" G, K V 《ARMCortex-M0权威指南》细致入微地介绍了ARM公司Cortex-M0处理器。本书最大的亮点就是讲述了如何将从基于传统MCU的嵌入式设计过渡到基于Cortex-M0的嵌入式设计。该书的出版将极大推动Cortex-M0在中国嵌入式设计领域的应用,为中国“智造”添砖加瓦。 r" S! Y/ B- a/ a/ ` ——何宾博士(畅销书《Xilinx FPGA设计权威指南》作者): w* M; [$ K- q) `0 [* ^8 i2 { 当当网购买链接product.dangdang.com/23323661.html#catalog5 {" } Q8 \& z* i 亚马逊购买链接www.amazon.cn/ARM-Cortex-M0权威指南-Joseph-Yiu/dp/B00ESCGQD6/ref=sr_1_1% I# r- c+ t9 H# [* k 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权威指南》