【STM32图书分享】--《ARM Cortex-M0权威指南》- N7 d3 m* s# s3 A* ?# f 作者:Joseph Yiu 著 吴常玉 魏军 译 出版社:清华大学出版社# z- _, v# H) Q6 X 出版日期:2013-8-1 推荐理由8 @! Q; u! m; [3 D 本书是全球首本系统论述ARM Cortex-M0处理器及其编程的图书。本书既有ARM Cortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARMCortex-M0)的高年级本科生及研究生等,因此适应性比较广。另外ST公司推出的产品中M0内核的产品逐渐增多,在不久的将来将M0内核的stm32微处理器应用于的产品设计的案例将越来越多,因此作为ST的忠实粉丝,我们有必要十分了解ARM Cortex-M0处理器内核。而这本书就是我所推荐的。) I5 k4 `( V5 V' B! m# g2 w* R1 I 编辑推荐 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》(中文翻译版即将由清华大学出版社出版发行)。 目录$ ~3 W& Z! L8 F2 V& k 译者序 推荐序" |: g7 B, h8 c- d5 W* |& q 前言 致谢 本书约定& G$ u$ R1 l* i H 缩写术语, |- A' M& L5 Y- M A2 ~+ x 第1章绪论 1.1为什么要选择Cortex-M0% J9 _0 q+ Q0 I k; K/ T 1.1.1能耗效率 1.1.2代码密度 1.1.3易于使用, Z @* W! o' r$ y, o" m( U 1.2Cortex-M0处理器的应用 1.3ARM和ARM处理器的背景$ f$ u( G2 s" n0 Q 1.4Cortex-M0处理器说明和ARM体系结构 1.5ARM处理器和ARM生态系统 1.6开始使用Cortex-M0处理器; C9 @( w* k/ Y 1.7本书的结构和资源 第2章Cortex-M0技术综述 2.1Cortex-M0处理器简介 2.2ARM Cortex-M0处理器的特性 2.2.1系统特性 2.2.2应用特性! u1 \; l+ Y8 ~& C/ p4 M H 2.2.3调试特性: k( w) S# Z# I6 E$ O# H8 ^ 2.2.4其他特性9 ~- j5 s1 p7 |6 |7 P# c8 K0 H( Y 2.3Cortex-M0处理器的优势# R! {$ w: y" \% G0 d! A/ Z 2.3.1能耗效率 2.3.28位和16位架构的局限性) P( V2 b/ S. G4 t( @0 _+ k; s; Y7 @ 2.3.3易于使用,软件可移植 2.3.4选择多样化 2.4低功耗应用1 ]' ~, s, F$ v 2.4.1门数量低% w/ w% S0 R( c2 z) X 2.4.2高效率 2.4.3低功耗特性, k1 r. q" |! g2 }3 O: k 2.4.4逻辑单元提升2 b7 \& F* d* p" L 2.5Cortex-M0的软件可移植性4 {0 y q0 h z& {) ^ 第3章体系结构 3.1概述) V, {# e. p- _7 Z6 r 3.2系统模型2 N6 {& ~4 a; i* n1 d6 k 3.2.1操作模式和状态& s( J9 d6 j% E) q6 W 3.2.2寄存器和特殊寄存器" q. ] J( Q$ A3 {# U- I; w 3.2.3R0?R124 @! _! H- V4 E+ B 3.2.4R13,栈指针(SP) 3.2.5R14,链接寄存器(LR)% k3 B5 T, ]; C5 T1 Y4 F 3.2.6R15,程序计数器(PC) 3.2.7xPSR,组合程序状态寄存器 R: m& ?2 s0 X! b6 K4 u5 U# K 3.2.8应用程序状态寄存器(APSR)的行为' T8 L# T4 O3 Z. Z9 l' B2 s 3.2.9PRIMASK: 中断屏蔽特殊寄存器5 e9 B( Q: b. C& H; B% q8 q 3.2.10CONTROL: 特殊寄存器( B" n# n) _5 B( c3 Q 3.3存储器系统: S+ o- `2 F) K- q 3.4栈空间操作 3.5异常和中断8 E$ o$ S4 }- ]6 c9 }5 u% V 3.6嵌套向量中断控制器(NVIC): i- j% T% @6 S1 F 3.6.1灵活的中断管理5 U; F8 O9 z9 r6 |3 t. V* c 3.6.2支持嵌套中断 3.6.3向量化的异常入口 3.6.4中断屏蔽 3.7系统控制块(SCB) 调试系统 3.8程序映像和启动流程 第4章Cortex-M0编程入门4 \2 N4 f% }# o9 p 4.1嵌入式系统编程入门1 E6 M( Z! d* f2 X! Z" z 4.1.1微控制器是如何启动的 4.1.2嵌入式程序设计5 O7 p- p8 q/ t* b7 z: K2 E4 r7 r3 P& { 4.2输入和输出 4.3开发流程 4.4C编程和汇编编程+ u0 v/ T: _: x1 g) |" K/ e7 s 4.5什么是程序映像% ]* Y8 t$ z) V 4.5.1向量表! |. O* \9 E5 M r8 O9 E0 _ 4.5.2C启动代码, T# ]! o0 H0 A% O+ Z 4.5.3程序代码 4.5.4C库代码 r& [% ~0 c2 u9 _2 `0 |0 L 4.5.5RAM中的数据+ o9 \ a( t* c5 m& u6 { 4.6C编程: 数据类型 4.7用C语言操作外设7 _$ f, X) h B% W# K 4.8Cortex微控制器软件接口标准(CMSIS) 4.8.1CMSIS介绍 4.8.2CMSIS中有什么是标准化的 4.8.3CMSIS的组织结构" P# q, u' U% B% [4 Z# H 4.8.4使用CMSIS. T$ R; d8 _ x& \9 A 4.9CMSIS的优势2 H/ }0 w. K7 [! ^8 k 第5章指令集& F6 h6 f U; y1 x 5.1ARM和Thumb指令集的背景7 V6 E1 L+ M* g8 \' o% s 5.2汇编基础/ ?/ ]- d k' t1 T 5.2.1汇编语法一览 5.2.2后缀的使用) r. q; u* q7 q: w8 \. M 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展开和顺序反转操作' Z9 I4 A& U" C7 v# P v ]' s4 @( S 5.2.12程序流控制 5.2.13存储器屏障指令+ B- h) U/ ]) U6 e2 R 5.2.14异常相关指令 5.2.15休眠模式特性相关指令 5.2.16其他指令 5.3伪指令 第6章指令集使用实例+ o3 X( B" A; J 6.1概述 6.2程序控制 {2 U1 A& q' V0 e/ ]9 H% E. v 6.2.1If?Else 6.2.2循环; Z5 Z9 i f; E! n& z/ q% v) D W 6.2.3进一步了解跳转指令* q8 u" q. M! I( I5 p$ t( l, u 6.2.4跳转条件的典型用法 6.2.5函数调用和函数返回; ]7 C0 ^' b2 F4 Q, `1 y2 ` 6.2.6跳转表 6.3数据访问 6.3.1简单数据访问 b6 o5 c& M" G. T) R& i 6.3.2使用存储器访问指令的例子 6.4数据类型转换 6.4.1数据大小的转换7 Z/ C8 `- Q3 q* Q8 I5 Y 6.4.2大小端转换 6.5数据处理2 N! r! X! n% A* B. Z7 g 6.5.164位/128位加法/ E$ X9 |/ X. s; r- R* k$ y2 f4 y 6.5.264位/128位减法 6.5.3整数除法 6.5.4无符号整数开方根( w. V& T1 l$ G( m 6.5.5位和位域运算 第7章存储器系统' t$ h9 A6 @3 f# u& D5 j 7.1概述 7.2存储器映射( n2 q( J( [& w" w* I( L: w 7.3程序存储器,Boot Loader和存储器重映射+ N9 x. K3 u9 @1 Z+ E U 7.4数据存储器 7.5支持小端和大端 7.5.1数据类型 7.5.2硬件行为对编程的影响/ n% \! b: f0 [ 7.5.3数据对齐* B* Q4 O/ z0 ^ 7.5.4访问非法地址$ e: J$ h/ z7 s2 q+ o 7.5.5多寄存器加载和存储指令的使用! H1 |2 k# v% J3 Y 7.6存储器属性) G, g: C l% y5 ^# ` 第8章异常和中断 U! M8 D' B/ `% M* g 8.1什么是异常和中断 8.2Cortex-M0处理器的异常类型 8.2.1不可屏蔽中断(NMI) 8.2.2硬件错误1 A& f% C# ] l 8.2.3SVC(请求管理调用)6 t0 c' w2 ]/ R; ? 8.2.4PendSV(可挂起的系统调用)2 c+ R6 Q7 `) M* |- n$ p 8.2.5系统节拍 8.2.6中断 8.3异常优先级定义* q4 X. x. |* I" O$ C 8.4向量表& d1 z& x& i9 P2 Y f 8.5异常流程概述5 i. m9 w0 H8 G Q6 e% r 8.5.1接受异常请求$ Z, c" c: J% G 8.5.2压栈和出栈6 Q2 y. q# X' d2 Z a V8 Y 8.5.3异常返回指令/ ^) L) v7 h" c, J2 Q 8.5.4末尾连锁 8.5.5延迟到达 8.6EXC_RETURN }) }3 Z' u! g1 @ 8.7异常入口流程的细节 e5 M0 L- {) ? 8.7.1压栈 8.7.2取出向量并更新PC- {" h/ V& @0 Q3 d 8.7.3寄存器更新 8.8异常退出流程的细节 8.8.1寄存器出栈 8.8.2从返回地址取值并执行5 _4 j0 ~/ p' j 第9章中断控制和系统控制 9.1NVIC和系统控制块特性 9.2中断使能和清除使能 9.3中断挂起和清除挂起1 t2 Z2 [/ G7 o' [# d 9.4中断优先级 9.5中断控制的通用汇编代码+ X# T+ }9 T0 T# Y6 Q6 V* ~. I$ } 9.5.1使能和禁 媒体评论 "对于微控制器使用者来说,现在是让人非常兴奋的时期,许多供应商推出的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产品经理) 《ARM Cortex-M0权威指南》的作者JosephYiu在ARM公司剑桥总部的处理器部门担任MCU技术专家多年,他对Cortex-M系列的理解正如书名所述,可谓权威。因此本书的英文版一经推出即在使用Cortex-M0处理器的技术人员中广受好评和追捧。书中深度解析了Cortex-M0处理器的各个技术方面及应用开发,提供了很多高级技术细节,并配套了大量作者编写的源码供理解和参考,堪称内核分析与实战开发的完美结合。本书的中文版经过清华出版社和译者的精心工作后,现在终于推出,相信对于高校师生、嵌入式研发人员和爱好者、甚至半导体公司的技术人员,本书都是一本不可多得的宝典! ——时昕博士(ARM大中华区大学计划): t* d5 |" s1 y! ]* [ ; J: ^. _2 X+ E( w" [2 ] a8 l 《ARM Cortex-M0权威指南》的作者JosephYiu是ARM公司微控制器系统级设计专家,本书的权威性毋庸置疑!该书首次揭秘Cortex-M0的内核,全面剖析介绍其体系结构与开发方法,并不吝篇幅介绍从其他架构处理器进行软件移植的方法,包括ARM7TDMI、ARMCortex-M3以及8051微控制器移植的实例。,并配套提供作者亲自编写的大量实例源码,堪称一本Cortex-M0芯片内核分析与编程实战的完美学习解决方案!必将成为广大嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及嵌入式课程学习者的阅读“圣经”! ——与非网 创始人(苏公雨) ARM Cortex-M0权威指南》终于有了中文版,这是学习ARMCortex-M0人的福音!该书深度剖析了系统模型、指令集以及中断处理,全面把握ARMCortex-M0的工作方式;综合运用汇编语言和C语言实现的丰富的ARMCortex-M0编程案例,便于读者快速动手实践;并系统论述软件的开发流程,并以常用软件开发工具为例,介绍程序设计的实战案例;涵盖如何定位程序代码中的bug和软件移植等方面的知识;尤其适合真正想从事Cortex-M0系统设计实战的开发人员阅读学习。0 @: k; a4 F0 T# G4 v" M8 \ ——电子发烧友网站(陈峰) 《ARMCortex-M0权威指南》细致入微地介绍了ARM公司Cortex-M0处理器。本书最大的亮点就是讲述了如何将从基于传统MCU的嵌入式设计过渡到基于Cortex-M0的嵌入式设计。该书的出版将极大推动Cortex-M0在中国嵌入式设计领域的应用,为中国“智造”添砖加瓦。 ——何宾博士(畅销书《Xilinx FPGA设计权威指南》作者)+ S2 N" O" O& _8 o$ S% o 当当网购买链接product.dangdang.com/23323661.html#catalog 亚马逊购买链接www.amazon.cn/ARM-Cortex-M0权威指南-Joseph-Yiu/dp/B00ESCGQD6/ref=sr_1_1# d- \( @6 h' { B9 H0 Q5 _) B( C3 [ e( M* Q1 w 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个赞!!多谢楼主推荐啦,我已加到推荐书单中4 k+ X2 P6 Z# {7 U9 _1 H1 Q$ h7 }
哇。。。谢谢啦,哈哈,会不会有图书相赠啊?
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》