Insider一个工程师对ARMwww.hitex.comTheInsiderToTheSTM32一个工程师对ARM®BasedMicrocontrollerwww.hitex.comTheInsider’sGuideToTheSTM32一个工程师对STM32系列的介绍BasedMicrocontrollerwww.hitex.comsGuideSTM32系列的介绍BasedMicrocontrollerwww.hitex.comsGuideBasedMicrocontrollerBasedMicrocontroller翻译:BasedMicrocontroller:xi_liang百为技术官方网店http://baiweijishu.taobao.com技术支持论坛www.stm32bbs.com2前言很久以前看到这篇文档,看到里面对STM32的介绍,发现了不少在STM32技术手册也找不到的答案。正如文档题目所说的,这可以说是一份STM32的内幕技术资料。看到很多网友说学不会STM32,其实不难怪,因为STM32的内容实在是太多了,一个LED流水灯也需要了解Cortex-m3技术手册和STM32数据手册的内容,还有Thumb-2指令集,甚至Keil开发环境,和下载工具的使用。但和ARM+linux相比还是挺容易的。这篇文档对Cortex-m3和STM32的介绍浅显易懂,只有一百多页没有太多的废话,却介绍了Cortex-m3和STM32的绝大部分细节。于是从2012-12月开始我着手翻译,前后也花了不少时间,终于可以在今天完成了。这篇文档主要研究Cortex-m3和STM32的架构和实现细节。Cortex-m3技术手册里面除了介绍编程相关内容外,可能还介绍了Cortex-m3芯片设计的相关内容,而这里只介绍一些Cortex-m3的主要特性和软件编程需要关注的内容。STM32作为一个基于Cortex-m3的处理器,有着Cortex-m3的共同特性,同时也有着一些差异,例如中断优先级寄存器,Cortex-m3定义了8位,而STM32只实现了4位。虽然在ARM7,ARM9时代研究汇编有时也很有必要,因为有不少工作需要在启动时需要用汇编来完成,如代码从NOR搬运到SDRAM等。虽然我也有一定的汇编功底,但Thumb-2指令集太复杂了,对于常用的编程来说研究价值并不大。当然你不要期望这篇文章能给你的STM32编程水平有很大的提高,这只是作为入门的一篇文档,如果你已经用过STM32进行编程,但还对里面的某些架构或具体实现细节不太清楚,也许这篇文章能给你带来意外收获。百为技术官方网店http://baiweijishu.taobao.com技术支持论坛www.stm32bbs.com3目录1.简介...................................................................................................................................81.1什么是Cortex?............................................................................................