【STM32图书分享】--《ARM Cortex-M0权威指南》# a0 \+ O2 }& k% P 作者:Joseph Yiu 著 吴常玉 魏军 译4 d p- T: {8 D/ X 出版社:清华大学出版社 出版日期:2013-8-1 推荐理由0 ~! m1 k; Q: o8 w8 h+ [! T! _ 本书是全球首本系统论述ARM Cortex-M0处理器及其编程的图书。本书既有ARM Cortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARMCortex-M0)的高年级本科生及研究生等,因此适应性比较广。另外ST公司推出的产品中M0内核的产品逐渐增多,在不久的将来将M0内核的stm32微处理器应用于的产品设计的案例将越来越多,因此作为ST的忠实粉丝,我们有必要十分了解ARM Cortex-M0处理器内核。而这本书就是我所推荐的。+ K$ k# }9 n+ Y" y4 Q3 w 编辑推荐 JosephYiu是英国ARM公司微控制器系统级设计专家,是ARMCortex-M3和Cortex-M0设计者,作者高屋建瓴,创作了基于Cortex-M0的重量级作品——《ARMCortex-M0权威指南》,这也是全球首本系统论述Cortex-M0的内核、体系结构、指令集、编译器、程序设计及软件移植的经典。作者配套提供了大量源代码(可到图书封底网址下载)。本书得到了五大专业机构六位知名专家的鼎力推荐。非常值得开发者珍藏!$ S2 D6 U. y1 a2 j) [4 j 作者简介7 p4 U9 S0 A# z I6 w& A0 f! r 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》(中文翻译版即将由清华大学出版社出版发行)。! |0 W' {0 k5 q) B% w 目录 译者序 推荐序/ X: D0 z! P: B# I& m 前言 致谢 本书约定 缩写术语 第1章绪论4 i7 B+ @! d; p, a1 L) P 1.1为什么要选择Cortex-M00 @/ W$ a4 V/ S' }' T) b 1.1.1能耗效率 1.1.2代码密度 1.1.3易于使用7 g) D7 F2 K( h( \5 Y 1.2Cortex-M0处理器的应用. v* E& e0 C4 P2 m0 n( A 1.3ARM和ARM处理器的背景 1.4Cortex-M0处理器说明和ARM体系结构 1.5ARM处理器和ARM生态系统& O9 W7 K& l" l8 z2 j% `, l: k 1.6开始使用Cortex-M0处理器 1.7本书的结构和资源 第2章Cortex-M0技术综述$ a! \3 Q& L7 Q$ ]1 y2 Q 2.1Cortex-M0处理器简介 2.2ARM Cortex-M0处理器的特性 2.2.1系统特性) a' o9 K# K0 i. A! w3 i 2.2.2应用特性 2.2.3调试特性) r, G( U+ @ u( V' V6 R 2.2.4其他特性 2.3Cortex-M0处理器的优势8 E R' @ f4 U- U 2.3.1能耗效率 2.3.28位和16位架构的局限性 2.3.3易于使用,软件可移植 2.3.4选择多样化! h! r* T# W& J2 M# U; f 2.4低功耗应用4 L- @# z o: N+ s8 ]( t6 q: r 2.4.1门数量低& ? b, j, i: @( M1 U* r3 C3 s5 } 2.4.2高效率 2.4.3低功耗特性 2.4.4逻辑单元提升9 n6 W. f! i2 I' ] 2.5Cortex-M0的软件可移植性 第3章体系结构9 }7 }( A$ f* M, Y+ }. t 3.1概述 3.2系统模型 3.2.1操作模式和状态 3.2.2寄存器和特殊寄存器 3.2.3R0?R12) f& g0 P0 I1 n# c- P% ^9 l) \ 3.2.4R13,栈指针(SP)* G& a9 H" t. D4 S 3.2.5R14,链接寄存器(LR)( J9 `+ |) x6 X* _1 r) G 3.2.6R15,程序计数器(PC) J& l$ F/ G; `1 \ 3.2.7xPSR,组合程序状态寄存器$ C2 N7 R B* j4 Y; V6 `, ~ 3.2.8应用程序状态寄存器(APSR)的行为 3.2.9PRIMASK: 中断屏蔽特殊寄存器0 \+ ?5 V0 ^1 f( k5 s$ v 3.2.10CONTROL: 特殊寄存器 3.3存储器系统& h6 F- X3 M8 r3 k! m 3.4栈空间操作 3.5异常和中断 3.6嵌套向量中断控制器(NVIC) 3.6.1灵活的中断管理" a/ O8 y9 E9 _ 3.6.2支持嵌套中断2 U; q$ e# s. z6 R | 3.6.3向量化的异常入口7 T, Z& B5 K6 i$ S) O 3.6.4中断屏蔽 3.7系统控制块(SCB)+ m, G6 h# y: Q 调试系统 3.8程序映像和启动流程 第4章Cortex-M0编程入门 4.1嵌入式系统编程入门) B6 {7 M% W+ @ h3 P' G) S! g 4.1.1微控制器是如何启动的5 V1 p0 p0 O, e- I# A 4.1.2嵌入式程序设计 4.2输入和输出 4.3开发流程 4.4C编程和汇编编程0 r& d! a9 N ?' J$ \2 d5 q6 x 4.5什么是程序映像1 z: ?% u/ z% v, J( o 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中有什么是标准化的7 X/ }3 j/ Z% d; i2 j. d* V2 u 4.8.3CMSIS的组织结构 4.8.4使用CMSIS 4.9CMSIS的优势 第5章指令集 e, p& y5 \1 O* ^ 5.1ARM和Thumb指令集的背景, K9 W% }! u! q( J2 f3 K( l2 z- ? 5.2汇编基础* o, K4 p" L$ H* N 5.2.1汇编语法一览 5.2.2后缀的使用9 r' R$ w" t7 k& F, C6 D 5.2.3Thumb代码和统一汇编语言(UAL) 5.2.4指令列表0 |) `4 ]& k; C/ n, t- n" [* H 5.2.5处理器内移动数据 5.2.6存储器访问7 I( ] i R' p1 x/ s* x) k) @) K% P 5.2.7栈空间访问* `( {/ X: L+ H3 P* @/ _3 D 5.2.8算术运算 5.2.9逻辑运算# w" v# d& n! F. `* W- X( S 5.2.10移位和循环操作/ X! Y B* W, V) f 5.2.11展开和顺序反转操作 5.2.12程序流控制 5.2.13存储器屏障指令 5.2.14异常相关指令6 M3 G% v3 n& F5 g* v/ } 5.2.15休眠模式特性相关指令8 O% s1 A; N0 v6 c3 P6 l 5.2.16其他指令 5.3伪指令3 i* [" t. O8 L$ q6 ?$ k9 e* ] 第6章指令集使用实例 6.1概述 6.2程序控制; b# Z8 S/ V4 a5 @9 | 6.2.1If?Else. t% V% I' e) e" A/ a+ p 6.2.2循环( D3 O3 S0 K0 R; q q# q# X) y 6.2.3进一步了解跳转指令 6.2.4跳转条件的典型用法 6.2.5函数调用和函数返回- f- e; U! I4 @0 j2 ^( D7 U* b 6.2.6跳转表 6.3数据访问8 F2 K* g% k/ l* J+ F/ y2 f9 g 6.3.1简单数据访问1 Q4 l3 m) `/ ]8 r- I- O4 c 6.3.2使用存储器访问指令的例子 6.4数据类型转换9 N- `7 t1 o# w6 q7 H0 c 6.4.1数据大小的转换% `7 |9 C, i# t8 D; z 6.4.2大小端转换0 _: j7 O! [- \! v6 z9 I- X 6.5数据处理6 X- S J) v4 V o y7 T 6.5.164位/128位加法* I) h: Y. z: g8 K$ J! a3 v! r* h3 S 6.5.264位/128位减法6 m. f/ q& y9 M 6.5.3整数除法 6.5.4无符号整数开方根2 Y4 N" A1 {+ y7 O) Z0 t( L# O 6.5.5位和位域运算: ] d5 u! h' O% Z 第7章存储器系统 7.1概述 7.2存储器映射; G; R4 H) w* H 7.3程序存储器,Boot Loader和存储器重映射 7.4数据存储器 7.5支持小端和大端8 u& D) ?0 l. D3 |/ c 7.5.1数据类型 7.5.2硬件行为对编程的影响, K# z% r3 R. M, ?+ O; h7 T! I 7.5.3数据对齐 7.5.4访问非法地址/ y. h6 C$ f' R( |& G: L! F 7.5.5多寄存器加载和存储指令的使用 7.6存储器属性, W4 b `' m! K/ ^ 第8章异常和中断 8.1什么是异常和中断 8.2Cortex-M0处理器的异常类型 8.2.1不可屏蔽中断(NMI)2 S" r8 i4 v% X& Y( R5 d 8.2.2硬件错误 8.2.3SVC(请求管理调用), T. M( z2 ~; i* M- q8 s 8.2.4PendSV(可挂起的系统调用) 8.2.5系统节拍 8.2.6中断! x+ Y# u9 E( a+ r$ m 8.3异常优先级定义 8.4向量表0 o& B# X, E6 l$ q3 @- C5 V 8.5异常流程概述 8.5.1接受异常请求 8.5.2压栈和出栈% d) x0 y0 l$ K 8.5.3异常返回指令 8.5.4末尾连锁$ |9 ?# w6 A+ I! i' U* V7 G 8.5.5延迟到达 8.6EXC_RETURN$ u2 c+ p8 m- g% G 8.7异常入口流程的细节 8.7.1压栈 8.7.2取出向量并更新PC5 S4 q1 i( x2 X3 N( R 8.7.3寄存器更新 8.8异常退出流程的细节4 A) a. m# j5 P8 @. A+ q7 j 8.8.1寄存器出栈, `% R4 K* i# u0 J 8.8.2从返回地址取值并执行 第9章中断控制和系统控制 9.1NVIC和系统控制块特性( ~" ?& A* i+ W 9.2中断使能和清除使能0 P; x* M* F' k, N3 c 9.3中断挂起和清除挂起& E7 D+ f' `! b! U$ ~4 ^ 9.4中断优先级, ^ `7 B0 D( B. F! U4 c 9.5中断控制的通用汇编代码 9.5.1使能和禁' I. T8 A# {& b4 j6 r 媒体评论3 S1 V, {3 }/ s6 H) p2 U: u "对于微控制器使用者来说,现在是让人非常兴奋的时期,许多供应商推出的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大中华区大学计划)7 E$ x: [! \) S 5 ]4 Z6 w) {4 c; Y: d! f# ~) \ 《ARM Cortex-M0权威指南》的作者JosephYiu是ARM公司微控制器系统级设计专家,本书的权威性毋庸置疑!该书首次揭秘Cortex-M0的内核,全面剖析介绍其体系结构与开发方法,并不吝篇幅介绍从其他架构处理器进行软件移植的方法,包括ARM7TDMI、ARMCortex-M3以及8051微控制器移植的实例。,并配套提供作者亲自编写的大量实例源码,堪称一本Cortex-M0芯片内核分析与编程实战的完美学习解决方案!必将成为广大嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及嵌入式课程学习者的阅读“圣经”!, ]1 J1 N& v6 l' h1 D" t ——与非网 创始人(苏公雨) ( Y. X) Z3 W3 ? ARM Cortex-M0权威指南》终于有了中文版,这是学习ARMCortex-M0人的福音!该书深度剖析了系统模型、指令集以及中断处理,全面把握ARMCortex-M0的工作方式;综合运用汇编语言和C语言实现的丰富的ARMCortex-M0编程案例,便于读者快速动手实践;并系统论述软件的开发流程,并以常用软件开发工具为例,介绍程序设计的实战案例;涵盖如何定位程序代码中的bug和软件移植等方面的知识;尤其适合真正想从事Cortex-M0系统设计实战的开发人员阅读学习。 ——电子发烧友网站(陈峰) 《ARMCortex-M0权威指南》细致入微地介绍了ARM公司Cortex-M0处理器。本书最大的亮点就是讲述了如何将从基于传统MCU的嵌入式设计过渡到基于Cortex-M0的嵌入式设计。该书的出版将极大推动Cortex-M0在中国嵌入式设计领域的应用,为中国“智造”添砖加瓦。/ y" z% S% P) B6 {0 d ——何宾博士(畅销书《Xilinx FPGA设计权威指南》作者) 2 h4 f& v+ N3 ]7 u8 | t+ R! _' l 当当网购买链接product.dangdang.com/23323661.html#catalog. w6 k! R, o. e) Y/ H) f 亚马逊购买链接www.amazon.cn/ARM-Cortex-M0权威指南-Joseph-Yiu/dp/B00ESCGQD6/ref=sr_1_1, H* I5 } v1 u6 x3 j. H 5 \, ]( N3 I2 y( c: H 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个赞!!多谢楼主推荐啦,我已加到推荐书单中! U. y- D% x" S3 e3 e1 y' x
哇。。。谢谢啦,哈哈,会不会有图书相赠啊?) u$ o* o' J8 U# f2 ]1 I' d0 |
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》
RE:【STM32图书分享】--《ARM Cortex-M0权威指南》