《单片机原理与接口技术应用》课程教学资源(文献资料)Cortex-M3权威指南中文

初稿Cortex-M3权威指南前置权威指南Cortex-M3著Joseph Yiu宋岩译-1-
Cortex‐M3 权威指南 初稿 前置 Cortex-M3 权威指南 Joseph Yiu 著 宋岩 译 ‐ 1 ‐

初稿前置Cortex-M3权威指南译序我接触ARM的历史约4年,早期是很欣赏这类处理器,到了后来切身使用它们的机会越来越多,慢慢地有了感觉,也更加喜欢了。在偶然听说Cortex-M3后,我就寞寞地感到它不寻常。只是因为其它工作一直没有去了解它,直到今年初才进一步学习,很快就觉得相知恨晚。当时只能看ARM官方的重量级资料,在看到这本书的英文原福后,更感觉被电到了一样,于是突然有了把它翻译成中文的冲动。经过累计约150个小时的奋战,终于有了此译稿。在翻译过程中,我始终采用下列指导思想:1.尽量使用短句,并且把句子口语化。我认为高深的道理不一定要用高级的语法句型才能表达。想想看,即使是几位博王互相聊天讨论一个课题,也还是使用口语吧,而且火花往往就是在这种讨论中产生呢!2.多用修辞方法,并且常常引用表现力强的词汇一一甚至包括网络用语和脍炙人口的歌词。另外,有时会加工句子,使得风格像是对话。这样做的目的是整个文风更鲜活一一有点像为写出高分作文而努力的样子。这点可能与很多学术著作的“严肃、平实”文风不同,也是一次大胆的尝试。还希望读者不各给予反馈。3.在“宏观”上直译,在“微观”上意译。英语不仅单一句子的语法和汉语不同,并且句子的连贯方式也与汉语不同。因此在十儿个到儿十个单词的范围内,我先把它们翻译成脑子里的“中间语言”,再把中间语言翻译成汉语。这样,就最大地避免了贻笑大方的“英式汉语”。4.有些术语名词不方便翻译成汉语,或者目前的翻译方式不统一,或者与其它术语翻译的结果很接近,如error和fault,就只能用英语意会。此时我就保留英文单词,相信这样比硬生生地翻译成汉语还好。这些词汇主要是:retarget,fault,region等。另外,英文中有一个很能精练表达“两者都”意思的单词及其用法:"both",我也常常保留之。5.图表对颜色的使用比较丰满,尤其是比较大型的插图,相信这样能帮助读者分析和理解。插图是从原图直接复制的,因此失量图变成了位图,无法再适应任何比例的缩放。不过,我在复制原图时,把原图以200%的比例放大,从而提高了图片的质量。6.我在很多地方加了译注。比较短的译注就直接以“()”加在文字后面。比较长的译注则为它开出一个“文字池”,放到相应的“.text”后面并与之相临。早期的译注多用于解释一些不是很广为人知的术语,后期的译注则更多是我认为有必要补充的内容,包括读者在阅读过程中可能会产生的问题,容易混淆的概念,深入理解等。7我对少量自然段作了改编。也有个别部分译自ARM提供的权威文档。本书的翻译工作在40%进度的时候是最困难的时期,有一种好像长跑中遇到了所谓“极限”的感觉。望着距离掉下去还有那么高的滚动条,甚至都有停住的自我暗示了。那天刚好是哀悼日的第一天,我本来情绪很低沉,但在我看到默哀完毕,天安门广场上排山倒海般地呐喊“中国加油”时,我突然有了强烈的共振感觉,那是一种热泪盈眶的激动和感叹,甚全觉得他们就是在鼓励我!让我一下子振作起来,找回了比刚开始还要强烈的千劲,并且更加信心满满。这种精神力量一直推动我翻译完最后一个字,并且还有“余勇可贾”的快感整个翻译的时间跨度是在2008.05.10-2008.06.07,共计28天。不知这是否算得上很“仓促”。想必有很多句式还能改得更好,甚至还有错别字等低级错误。我使用了五笔输入法,可能错别字会错得很离奇,不过肯定逃不过读者雪亮的双眼的。希望读者在发现错误后批评指正。反馈地址是:rock.song@hotmail.com,也可以通过QQ:9471202/9312500。本译稿草稿完成后,我交给几位好友去试读和审校,得以掀出了很多大大小小的bugs。他们是:浮云,土豆波,美眉Y和小胖,在这里以点名表示感谢!宋岩2008.07.02-2 -
Cortex‐M3 权威指南 初稿 前置 译序 我接触 ARM 的历史约 4 年,早期是很欣赏这类处理器,到了后来切身使用它们的机会 越来越多,慢慢地有了感觉,也更加喜欢了。在偶然听说 Cortex‐M3 后,我就冥冥地感到它 不寻常。只是因为其它工作一直没有去了解它,直到今年初才进一步学习,很快就觉得相知 恨晚。当时只能看 ARM 官方的重量级资料,在看到这本书的英文原稿后,更感觉被电到了 一样,于是突然有了把它翻译成中文的冲动。经过累计约 150 个小时的奋战,终于有了此译 稿。在翻译过程中,我始终采用下列指导思想: 1. 尽量使用短句,并且把句子口语化。我认为高深的道理不一定要用高级的语法句型才能 表达。想想看,即使是几位博士互相聊天讨论一个课题,也还是使用口语吧,而且火花 往往就是在这种讨论中产生呢! 2. 多用修辞方法,并且常常引用表现力强的词汇——甚至包括网络用语和脍炙人口的歌词。 另外,有时会加工句子,使得风格像是对话。这样做的目的是整个文风更鲜活——有点 像为写出高分作文而努力的样子。这点可能与很多学术著作的“严肃、平实”文风不同, 也是一次大胆的尝试。还希望读者不吝给予反馈。 3. 在“宏观”上直译,在“微观”上意译。英语不仅单一句子的语法和汉语不同,并且句 子的连贯方式也与汉语不同。因此在十几个到几十个单词的范围内,我先把它们翻译成 脑子里的“中间语言”,再把中间语言翻译成汉语。这样,就最大地避免了贻笑大方的 “英式汉语”。 4. 有些术语名词不方便翻译成汉语,或者目前的翻译方式不统一,或者与其它术语翻译的 结果很接近,如 error 和 fault,就只能用英语意会。此时我就保留英文单词,相信这样 比硬生生地翻译成汉语还好。这些词汇主要是:retarget, fault, region 等。另外,英文中有 一个很能精练表达“两者都”意思的单词及其用法:”both”,我也常常保留之。 5. 图表对颜色的使用比较丰满,尤其是比较大型的插图,相信这样能帮助读者分析和理解。 插图是从原图直接复制的,因此矢量图变成了位图,无法再适应任何比例的缩放。不过, 我在复制原图时,把原图以 200%的比例放大,从而提高了图片的质量。 6. 我在很多地方加了译注。比较短的译注就直接以“()”加在文字后面。比较长的译注则 为它开出一个“文字池”,放到相应的“.text”后面并与之相临。早期的译注多用于解释 一些不是很广为人知的术语,后期的译注则更多是我认为有必要补充的内容,包括读者 在阅读过程中可能会产生的问题,容易混淆的概念,深入理解等。 7. 我对少量自然段作了改编。也有个别部分译自 ARM 提供的权威文档。 本书的翻译工作在 40%进度的时候是最困难的时期,有一种好像长跑中遇到了所谓“极 限”的感觉。望着距离掉下去还有那么高的滚动条,甚至都有停住的自我暗示了。那天刚好 是哀悼日的第一天,我本来情绪很低沉,但在我看到默哀完毕,天安门广场上排山倒海般地 呐喊“中国加油”时,我突然有了强烈的共振感觉,那是一种热泪盈眶的激动和感叹,甚至 觉得他们就是在鼓励我!让我一下子振作起来,找回了比刚开始还要强烈的干劲,并且更加 信心满满。这种精神力量一直推动我翻译完最后一个字,并且还有“余勇可贾”的快感^_^ 整个翻译的时间跨度是在 2008.05.10‐2008.06.07,共计 28 天。不知这是否算得上很“仓 促”。想必有很多句式还能改得更好,甚至还有错别字等低级错误。我使用了五笔输入法, 可能错别字会错得很离奇,不过肯定逃不过读者雪亮的双眼的。希望读者在发现错误后批评 指正。反馈地址是:rock.song@hotmail.com,也可以通过QQ:9471202/9312500。 本译稿草稿完成后,我交给几位好友去试读和审校,得以揪出了很多大大小小的 bugs。 他们是:浮云,土豆波,美眉 Y 和小胖,在这里以点名表示感谢! 宋 岩 2008.07.02 ‐ 2 ‐

初稿前置Cortex-M3权威指南原作序谁是最节能,最擅长把好钢用在刀刃上的人?要让我说,我一定得表一表单片机的开发者。他们使出浑身解术,写出精妙玲珑的代码,把单片机点点滴滴的力量汇集起来,让它如同涌泉一般尽情地进发,灌溉滋养着各行各业。是什么灵丹妙药赐予了他们这么神奇力量?除了好的处理器之外,还要配合好的开发环境和工具链。也正出于此在设计ARM7TDMI处理器时,ARM的工具链工程师们和CPU设计师们强强联手,为了让它的内部结构更优化、更精练、更到位而并肩奋战了很多日日夜夜,终于有了ARM7TDMI的无限辉煌,并且久经岁月的洗礼依旧光芒绽放。珠联壁合的最新果实,是破茧而出的ARMCortex-M3处理器。这个小尤物,处处闪耀着ARM体系结构激动人心的新突破。它基于最新最好的32位ARMV7架构一—这个架构支持高度成功的Thumb-2指令集,还有很多时尚、前卫甚至薪新的特性,充满了新生代的气息。它在很好、很强大的同时,编程模型却变得更加清新爽洁了。不管你是祖国的花朵、是人民教师、还是精明的商人,也无所谓是新手还是骨灰级玩家,Cortex-M3都将尽情展现它的秀外慧中,带给你喜出望外的收获和“激活”!ARM嵌入式解决方案主任Wayne Lyons-3-
Cortex‐M3 权威指南 初稿 前置 原作序 谁是最节能,最擅长把好钢用在刀刃上的人?要让我说,我一定得表一表单片机 的开发者。他们使出浑身解术,写出精妙玲珑的代码,把单片机点点滴滴的力量汇集起 来,让它如同涌泉一般尽情地迸发,灌溉滋养着各行各业。是什么灵丹妙药赐予了他们 这么神奇力量?除了好的处理器之外,还要配合好的开发环境和工具链。也正出于此, 在设计ARM7TDMI处理器时,ARM的工具链工程师们和CPU设计师们强强联手,为了 让它的内部结构更优化、更精练、更到位而并肩奋战了很多日日夜夜,终于有了 ARM7TDMI的无限辉煌,并且久经岁月的洗礼依旧光芒绽放。 珠联璧合的最新果实,是破茧而出的ARM Cortex-M3处理器。这个小尤物,处处 闪耀着ARM体系结构激动人心的新突破。它基于最新最好的32位ARMv7架构——这个 架构支持高度成功的Thumb-2指令集,还有很多时尚、前卫甚至崭新的特性,充满了 新生代的气息。它在很好、很强大的同时,编程模型却变得更加清新爽洁了。不管你是 祖国的花朵、是人民教师、还是精明的商人,也无所谓是新手还是骨灰级玩家, Cortex-M3都将尽情展现它的秀外慧中,带给你喜出望外的收获和“激活”! ARM嵌入式解决方案主任 Wayne Lyons ‐ 3 ‐

初稿前置Cortex-M3权威指南前言不管你是做软件的还是做硬件的,只要相中了ARM的Cortex-M3处理器,这本书就是为你而写。以前Cortex-M3的资料只有两个大部头,分别是:《Cortex-M3技术参考手册》(Cortex-M3TechnicalReferenceManual,简·称Cortex-M3TRM)·《ARMv7-M应用程序级架构参考手册》(ARMv7-MApplicationLevelArchitectureReferenceManual)虽然这它俩差不多是权威到“古文观止”级的,但实在是太深入了,以致于对新手来说那简直就是天书。本书则是一个精简版,并且叙述的前后更有条理。目标读者包括:一线程序员,嵌入式产品设计师,片上系统(SoC)工程师,嵌入式系统发烧友,学院研究员,还包括所有涉猎过单片机和微处理器领域,慧眼识珍看中了Cortex-M3的人民大众们。本书要给Cortex-M3的架构做一个简介,浏览一下指令系统,写几个段代码续练手,说一些硬件特性,再表一表该处理器精深的调试系统。本书还给出了应用程序范例,手把手地教你使用开发工具,包括ARM的工具和GNU的工具链。如果你以前是ARM7TDMI的玩家,正准备着升级装备到Cortex-M3,本书也非常解渴,里面讲述了两者的不同,以及鸟枪换炮的升级过程。- 4 -
Cortex‐M3 权威指南 初稿 前置 前 言 不管你是做软件的还是做硬件的,只要相中了ARM的Cortex‐M3处理器,这本 书就是为你而写。以前Cortex‐M3的资料只有两个大部头,分别是: z 《Cortex‐M3技术参考手册》(Cortex‐M3 Technical Reference Manual, 简 称Cortex‐M3 TRM) z 《ARMv7‐M应用程序级架构参考手册》(ARMv7‐M Application Level Architecture Reference Manual) 虽然这它俩差不多是权威到“古文观止”级的,但实在是太深入了,以致于对 新手来说那简直就是天书。本书则是一个精简版,并且叙述的前后更有条理。目 标读者包括:一线程序员,嵌入式产品设计师,片上系统(SoC)工程师,嵌入 式系统发烧友,学院研究员,还包括所有涉猎过单片机和微处理器领域,慧眼识 珍看中了Cortex‐M3的人民大众们。 本书要给Cortex‐M3的架构做一个简介,浏览一下指令系统,写几个段代码练 练手,说一些硬件特性,再表一表该处理器精深的调试系统。本书还给出了应用 程序范例,手把手地教你使用开发工具,包括ARM的工具和GNU的工具链。如果 你以前是ARM7TDMI的玩家,正准备着升级装备到Cortex‐M3,本书也非常解渴, 里面讲述了两者的不同,以及鸟枪换炮的升级过程。 ‐ 4 ‐

初稿前置Cortex-M3权威指南缩略语含义缩写代号ADKAMBA设计套件AHB先进高性能总线AHB访问端口AHB-APAMBA先进单片机总线架构APB先进外设总线ARMARMARM架构参考手册ASIC行业领域专用集成电路ATB先进跟踪总线BE8字节不变式大端模式CPI每条指令的周期数CPU中央处理单元DAP调试访问端口DSP数字信号处理器/数字信号处理DWT数据观察点及跟踪ETM嵌入式跟踪宏单元FPB闪存地址重载及断点FSRFault状态寄存器HTMCoreSightAHB跟踪宏单元ICE在线仿真器IDE集成开发环境IRQ中断请求(通常是指外部中断的请求)ISA指令系统架构中断服务例程ISRITM指令跟踪宏单元JTAG连结点测试行动组(一个关于测试和调试接口的标准)JTAG-DPJTAG调试端口LR连接寄存器LSB最低有效位LSU加载/存储单元MCU微控制器单元(俗称单片机)MMU存储器管理单元MPU存储器保护单元MSB最高有效位MSP主堆栈指针NMI不可屏蔽中断NVIC嵌套向量中断控制器os操作系统PC程序计数器PSP进程堆栈指针PPB私有外设总线-5-
Cortex‐M3 权威指南 初稿 前置 缩略语 缩写代号 含义 ADK AMBA设计套件 AHB 先进高性能总线 AHB‐AP AHB访问端口 AMBA 先进单片机总线架构 APB 先进外设总线 ARM ARM ARM架构参考手册 ASIC 行业领域专用集成电路 ATB 先进跟踪总线 BE8 字节不变式大端模式 CPI 每条指令的周期数 CPU 中央处理单元 DAP 调试访问端口 DSP 数字信号处理器/数字信号处理 DWT 数据观察点及跟踪 ETM 嵌入式跟踪宏单元 FPB 闪存地址重载及断点 FSR Fault状态寄存器 HTM CoreSight AHB跟踪宏单元 ICE 在线仿真器 IDE 集成开发环境 IRQ 中断请求(通常是指外部中断的请求) ISA 指令系统架构 ISR 中断服务例程 ITM 指令跟踪宏单元 JTAG 连结点测试行动组(一个关于测试和调试接口的标准) JTAG‐DP JTAG调试端口 LR 连接寄存器 LSB 最低有效位 LSU 加载/存储单元 MCU 微控制器单元(俗称单片机) MMU 存储器管理单元 MPU 存储器保护单元 MSB 最高有效位 MSP 主堆栈指针 NMI 不可屏蔽中断 NVIC 嵌套向量中断控制器 OS 操作系统 PC 程序计数器 PSP 进程堆栈指针 PPB 私有外设总线 ‐ 5 ‐

初稿前置Cortex-M3权威指南本书大面积地使用了如下的排版字体约定:·普通汇编代码MOVRO,R1;把寄存器R1中的数据移至RO·以模式化语法表示的汇编代码一一编程时必须使用真实的寄存器名字MRs ,;·C程序代码for(i=0;ib)(..·数值:1.4hC,0x123都表示16进制数2.#3表示数字3(e.g,IRQ#3就是指3号中断)3.#immed12表示一个12位的立即数4.寄存器位。通常是表示一个位段的数值,例如bit[15:12]表示位序号从15往下数到12,这一段的数值。·寄存器访问类型1.R表示只读2.W表示只写3.RW表示可读可写(前3条好像地球人都知道)4.R/Wc表示可读,但是写访问将使之清0-6-
Cortex‐M3 权威指南 初稿 前置 本书大面积地使用了如下的排版字体约定: • 普通汇编代码 MOV R0, R1 ; 把寄存器R1中的数据移至R0 • 以模式化语法表示的汇编代码——编程时必须使用真实的寄存器名字 MRS , ; • C 程序代码 for (i=0;i b) { . • 数值: 1. 4'hC , 0x123 都表示16进制数 2. #3表示数字3 (e.g., IRQ #3 就是指3号中断) 3. #immed_12表示一个12位的立即数 4. 寄存器位。通常是表示一个位段的数值,例如 bit[15:12] 表示位序号从15往下数到12,这一段的数值。 • 寄存器访问类型 1. R 表示只读 2. W表示只写 3. RW 表示可读可写(前3条好像地球人都知道) 4. R/Wc 表示可读,但是写访问将使之清 0 ‐ 6 ‐

初稿前置Cortex-M3权威指南其它参考资料Cortex-M3TechnicalReferenceManual(TRM)(Cortex-M3技术参考手册)1.请从www.arm.com/documentation/ARMProcessorCores/index.html下载2.ARMv7-MArchitectureApplicationLevelReferenceManual(ARMv7-M应用级架构参考手册请从www.arm.com/products/CPUs/ARMCortex-M3v7.html下载3.CoreSightTechnologySystemDesignGuide(CoreSight技术系统设计指导)请从www.arm.com/documentation/TraceDebug/index.html下载4.AMBASpecification(AMBA规格书)请从www.arm.com/products/solutions/AMBASpec.html下载5.AAPCSProcedureCallStandardfortheARMArchitecture(AAPCSARM架构过程调用标准请从www.arm.com/pdfs/aapcs.pdf下载6.RVCT3.0CompilerandLibraryGuide(RVCT3.0编译器及库向导)请从www.arm.com/pdfs/DUI0205Grvctcompilerandlibraries_guide.pdf下载7.ARMApplicationNote179:Cortex-M3EmbeddedSofiwareDevelopment(ARM应用笔记179:Cortex-M3嵌入式软件开发请从www.arm.com/documentation/ApplicationNotes/index.html下载-1
Cortex‐M3 权威指南 初稿 前置 其它参考资料 1. Cortex-M3 Technical Reference Manual (TRM) (Cortex-M3技术参考手册) 请从www.arm.com/documentation/ARMProcessor_Cores/index.html下载 2. ARMv7-M Architecture Application Level Reference Manual(ARMv7-M应用级架构参考 手册) 请从www.arm.com/products/CPUs/ARM_Cortex-M3_v7.html下载 3.CoreSight Technology System Design Guide(CoreSight技术系统设计指导) 请从www.arm.com/documentation/Trace_Debug/index.html下载 4. AMBA Specification (AMBA规格书) 请从www.arm.com/products/solutions/AMBA_Spec.html下载 5. AAPCS Procedure Call Standard for the ARM Architecture(AAPCS ARM架构过程调用 标准) 请从www.arm.com/pdfs/aapcs.pdf下载 6. RVCT 3.0 Compiler and Library Guide(RVCT 3.0编译器及库向导) 请从www.arm.com/pdfs/DUI0205G_rvct_compiler_and_libraries_guide.pdf下载 7. ARM Application Note 179: Cortex-M3 Embedded Software Development(ARM应用笔记 179:Cortex-M3嵌入式软件开发) 请从www.arm.com/documentation/Application_Notes/index.html下载 ‐ 7 ‐

初稿前置Cortex-M3权威指南-16 -
Cortex‐M3 权威指南 初稿 前置 ‐ 16 ‐

初稿第1章Cortex-M3权威指南第1章介绍ARMCortex-M3处理器初探ARM的各种架构版本?指令集的开发Thumb-2指令集架构(ISA)Cortex-M3的舞台本书组织深入研究用的读物ARMCortex-M3处理器初探单片机市场的规模可以用“巨无霸”来形容,预计到2010时每年能有20G片的出货量。世界各地的器件供应商纷纷亮出自已的得意之作,他们提供的器件和架构也是各具特色。业界内部可谓是百花齐放,热闹非凡,好戏不断。各行各业对单片机能力的要求也一直“得寸进尺”,而且还又要马儿跑,又要马儿不吃草一一处理器必须在不怎么增加主频和功耗的条件下于更多的活儿。另一方面,处理器之间的互连也在加深,看这一串串熟悉的字眼:串口,USB,以太网,无线数传....处理器如欲支持这些数据通道,就必须在片上塞进更多的外设。软件方面的情况也如出一辙:应用程序的功能一直在花样翻新,性能需求也是变本加厉:更高的运算速度,更硬的实时能力,更多的功能模块,更炫的图形界面,所有这些要求单片机都得照单全收。在这个大环境下,ARMCortex-M3处理器,作为Cortex系列的处女作,为了让32位处理器入主作庄单片机市场,轰轰烈烈地诞生了!由于采用了最新的设计技术它的门数更低,性能却更强。许多曾经只能求助于高级32位处理器或DSP的软件设计,都能在CM3上跑得很快很欢。相信用不了多久,CM3就一定能在32位嵌入式处理器市场中脱颖而出,像当年8051推动整个业界那样,再次放飞设计师的梦想,实现多年的夙愿!CM3的招牌功夫包括:·性能强劲。在相同的主频下能做处理更多的任务,全力支持劲爆的程序设计。:功耗低。延长了电池的寿命一一这简直就是便携式设备的命门(如无线网络应用)。·实时性好。采用了很前卫甚至革命性的设计理念,使它能极速地响应中断,而且响应中断所需的周期数是确定的。·代码密度得到很大改善。一方面力挺大型应用程序,另一方面为低成本设计而省吃俭用。·使用更方便。现在从8位/16位处理器转到32位处理器之风刮得越来越猛,更简单的编程模型和更透彻的调试系统,为与时俱进的人们大大减负。:低成本的整体解决方案。让32位系统比和8位/16位的还便宜,低端的Cortex-M3单片机甚至还卖不到1美元。·遍地开花的优秀开发工具。免费的,便宜的,全能的,要什么有什么。基于Cortex-M3内核的处理器已渐成气候,以处处满溢的先进特性力压群芳。而且架构17
Cortex‐M3 权威指南 初稿 第 1 章 第1章 介绍 ● ARM Cortex‐M3处理器初探 ● ARM的各种架构版本 ●指令集的开发 ● Thumb‐2指令集架构(ISA) ● Cortex‐M3的舞台 ●本书组织 ●深入研究用的读物 ARM Cortex-M3 处理器初探 单片机市场的规模可以用“巨无霸”来形容,预计到2010时每年能有20G片的出货量。 世界各地的器件供应商纷纷亮出自己的得意之作,他们提供的器件和架构也是各具特色。业 界内部可谓是百花齐放,热闹非凡,好戏不断。各行各业对单片机能力的要求也一直“得寸 进尺”,而且还又要马儿跑,又要马儿不吃草——处理器必须在不怎么增加主频和功耗的条 件下干更多的活儿。另一方面,处理器之间的互连也在加深,看这一串串熟悉的字眼:串口, USB,以太网,无线数传.处理器如欲支持这些数据通道,就必须在片上塞进更多的外设。 软件方面的情况也如出一辙:应用程序的功能一直在花样翻新,性能需求也是变本加厉:更 高的运算速度,更硬的实时能力,更多的功能模块,更炫的图形界面,.所有这些要求单 片机都得照单全收。在这个大环境下,ARM Cortex‐M3处理器,作为Cortex系列的处女作, 为了让32位处理器入主作庄单片机市场,轰轰烈烈地诞生了!由于采用了最新的设计技术, 它的门数更低,性能却更强。许多曾经只能求助于高级32位处理器或DSP的软件设计,都能 在CM3上跑得很快很欢。相信用不了多久,CM3就一定能在32位嵌入式处理器市场中脱颖而 出,像当年8051推动整个业界那样,再次放飞设计师的梦想,实现多年的夙愿! CM3的招牌功夫包括: •性能强劲。在相同的主频下能做处理更多的任务,全力支持劲爆的程序设计。 • 功耗低。延长了电池的寿命——这简直就是便携式设备的命门(如无线网络应用)。 • 实时性好。采用了很前卫甚至革命性的设计理念,使它能极速地响应中断,而且响应 中断所需的周期数是确定的。 • 代码密度得到很大改善。一方面力挺大型应用程序,另一方面为低成本设计而省吃俭 用。 • 使用更方便。现在从8位/16位处理器转到32位处理器之风刮得越来越猛,更简单的编 程模型和更透彻的调试系统,为与时俱进的人们大大减负。 • 低成本的整体解决方案。让32位系统比和8位/16位的还便宜,低端的Cortex‐M3单片 机甚至还卖不到1美元。 • 遍地开花的优秀开发工具。免费的,便宜的,全能的,要什么有什么。 基于Cortex‐M3内核的处理器已渐成气候,以处处满溢的先进特性力压群芳。而且架构 17

初稿Cortex-M3权威指南第1章师们还在不停地求索降低成本的出路,同时很多组织也在尝试着实现"器件聚合”(deviceaggregation),使一个单一的小强芯片可以抵得上以前3、4块传统的单片机。降低成本还有一招,就是使基础代码在所有系统中都可以重用,至少要方便移植。CM3的内核架构非常精工细作,使它与C语言成为了一个梦幻绝配。优质的C程序代码三下五除二就可以移植并重用,使升级和移植一下子从拦路虎变成了纸老虎。值得一提的是,CM3并不是第一个被拿去做万金油型处理器的内核。那廉颇虽老却依然骁勇的ARM7/ARM9处理器,在通用嵌入式处理器市场中德高望重,至今拥有无数铁杆粉丝。半导体业界的群英们,像NXP(philips)、TI、Atmel、OKI、ST等,都以ARM为内核,做出了各自身怀绝技的32位MCU。ARM7作为最受欢迎的32位嵌入式处理器,被载入亮焊焊的儿页史册一一每年超过10亿片出货量,为各行各业的嵌入式设备中都找得到它们的身影。CM3作为ARM7的后继者,大刀阔斧地改革了设计架构。从而显著地简化了编程和调试的复杂度,处理能力也更加强大。除此之外,CM3还突破性地引入了很多时尚的甚至薪新的技术,专门满足单片机应用程序的需求。比如,服务于“使命-关键”应用的不可屏蔽中断,极度敏捷并且拥有确定性的嵌套向量中断系统,原子性质的位操作,还有一个可选的内存保护单元。这些令人惊艳和振奋的新特性,让老的ARM玩家们再次找到“初恋”时烈焰进发的感觉,也使萍水相逢就有激爽触电般的体验!相信读者一旦有机会用到了它,就会为它的秀外慧中而赞叹,爱不释手!Cortex-M3处理器内核vs.基于Cortex-M3的MCUCortex-M3处理器内核是单片机的中央处理单元(CPU)。完整的基于CM3的MCU还需要很多其它组件。在芯片制造商得到CM3处理器内核的使用授权后,它们就可以把CM3内核用在自己的硅片设计中,添加存储器,外设,/O以及其它功能块。不同厂家设计出的单片机会有不同的配置,包括存储器容量、类型、外设等都各具特色。本书主讲处理器内核本身。如果想要了解某个具体型号的处理器,还需查阅相关厂家提供的文档。OOOOOOOOOOOCortex-M3芯片C口由ARM设计调试系统UCortex-M3内核D内部总线D口D由芯片制造商外设存储器CO设计开发时钟和复位1/0UUOUUUUUUUUUUUUUUOUOARM及ARM架构的背景一一路走来让我们回顿一下ARM的进化史,你会知道为什么会有品种如此之多的ARM处理器和ARM架构。ARM在1990年成立,当初的名字是AdvancedRISCMachinesLtd.”,当时它是三家公司的18
Cortex‐M3 权威指南 初稿 第 1 章 师们还在不停地求索降低成本的出路,同时很多组织也在尝试着实现“器件聚合”(device aggregation),使一个单一的小强芯片可以抵得上以前3、4块传统的单片机。 降低成本还有一招,就是使基础代码在所有系统中都可以重用,至少要方便移植。CM3 的内核架构非常精工细作,使它与C语言成为了一个梦幻绝配。优质的C程序代码三下五除 二就可以移植并重用,使升级和移植一下子从拦路虎变成了纸老虎。 值得一提的是,CM3并不是第一个被拿去做万金油型处理器的内核。那廉颇虽老却依然 骁勇的ARM7/ARM9处理器,在通用嵌入式处理器市场中德高望重,至今拥有无数铁杆粉丝。 半导体业界的群英们,像NXP(philips)、TI、Atmel、OKI、ST等,都以ARM为内核,做出了 各自身怀绝技的32位MCU。ARM7作为最受欢迎的32位嵌入式处理器,被载入了亮煌煌的几 页史册——每年超过10亿片出货量,为各行各业的嵌入式设备中都找得到它们的身影。 CM3作为ARM7的后继者,大刀阔斧地改革了设计架构。从而显著地简化了编程和调试 的复杂度,处理能力也更加强大。除此之外,CM3还突破性地引入了很多时尚的甚至崭新的 技术,专门满足单片机应用程序的需求。比如,服务于“使命‐关键”应用的不可屏蔽中断, 极度敏捷并且拥有确定性的嵌套向量中断系统,原子性质的位操作,还有一个可选的内存保 护单元。这些令人惊艳和振奋的新特性,让老的ARM玩家们再次找到“初恋”时烈焰迸发的 感觉,也使萍水相逢就有激爽触电般的体验!相信读者一旦有机会用到了它,就会为它的秀 外慧中而赞叹,爱不释手! Cortex-M3 处理器内核 vs. 基于Cortex-M3的MCU Cortex‐M3处理器内核是单片机的中央处理单元(CPU)。完整的基于CM3的MCU还需要 很多其它组件。在芯片制造商得到CM3处理器内核的使用授权后,它们就可以把CM3内核用 在自己的硅片设计中,添加存储器,外设,I/O以及其它功能块。不同厂家设计出的单片机 会有不同的配置,包括存储器容量、类型、外设等都各具特色。本书主讲处理器内核本身。 如果想要了解某个具体型号的处理器,还需查阅相关厂家提供的文档。 ARM及ARM架构的背景 一路走来 让我们回顿一下ARM的进化史,你会知道为什么会有品种如此之多的ARM处理器和ARM 架构。 ARM在1990年成立,当初的名字是“Advanced RISC Machines Ltd.,”,当时它是三家公司的 18
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《单片机原理与接口技术应用》课程教学资源(文献资料)Cortex-M3技术参考手册(共十七章,含附录).pdf
- 《单片机原理与接口技术应用》课程教学资源(文献资料)STM32F103xCDE数据手册(英文,第5版).pdf
- 《单片机原理与接口技术应用》课程教学资源(文献资料)STM32F103xCDE数据手册(中文,第5版).pdf
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学大纲 Principle and interface technology of single chip microcomputer.docx
- 沈阳师范大学:《单片机原理与接口技术应用》课程授课教案(完整讲义,共三十八讲).docx
- 沈阳师范大学:《计算机控制技术》课程教学课件(讲稿)第4章 常规及复杂控制技术.pdf
- 沈阳师范大学:《计算机控制技术》课程授课教案(共九章,主讲教师:申海).pdf
- 沈阳师范大学:《计算机控制技术》课程教学大纲 Computer Control Technology.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程授课教案(讲义,授课教师:刘立群).pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学课件(PPT讲稿)第7章 自定义函数和模块.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学课件(PPT讲稿)第6章 字符串与正则表达式.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学课件(PPT讲稿)第5章 组合数据结构.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学课件(PPT讲稿)第4章 程序控制结构.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学课件(PPT讲稿)第3章 基本数据运算与函数.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学课件(PPT讲稿)第2章 Python语言概述.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学课件(PPT讲稿)第1章 程序与算法.pdf
- 沈阳师范大学:《高级语言程序设计Python》课程教学大纲 Programming of Computer Language.docx
- 沈阳师范大学:《数据库原理》课程教学课件(讲稿)第9章 数据库查询优化.pdf
- 沈阳师范大学:《数据库原理》课程教学课件(讲稿)第7章 数据库设计(2/2).pdf
- 沈阳师范大学:《数据库原理》课程教学课件(讲稿)第7章 数据库设计(1/2).pdf
- 《单片机原理与接口技术应用》课程教学资源(文献资料)STM32F10xxx Cortex-M3编程手册(PM0056 Programming manual STM32F10xxx/20xxx/21xxx/L1xxxx Cortex®-M3 programming manual).pdf
- 《单片机原理与接口技术应用》课程教学资源(文献资料)AN2606 应用笔记(STM32微控制器系统存储器自举模式).pdf
- 《单片机原理与接口技术应用》课程教学资源(文献资料)从ARM9到A15手机处理器架构进化历程.doc
- 《单片机原理与接口技术应用》课程教学资源(文献资料)普中F103-Z400开发板原理图.pdf
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第10章 DMA控制器.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第01章 绪论.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第02章 STM32微控制器.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第03章 嵌入式开发环境的搭建.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第03章 STM32微控制器的开发平台.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第04章 中断系统.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第05章 通用输入输出接口GPIO.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第06章 定时器.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第07章 模数转换器(ADC).ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第08章 USART串行通信.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第09章 SPI与I2C串行总线.ppt
- 黄河水利职业技术大学:《电商网站建设与优化》课程思政教案(教学设计)PHP动态网站开发.pdf
- 江苏大学:RISC-V CPU设计实验(讲义).pdf
- 《计算机导论》课程教学资源(授课教案,教材讲义,共六章).pdf
- 长春大学:旅游学院:《Visual FoxPro程序设计》课程教学资源(授课教案,共七章).pdf
- 《程序设计》课程教学资源(书籍文献)Google开源项目风格指南(中文版).pdf
