Cortex-M3 采用 ARM V7 构架,不仅支持 Thumb-2 指令集,而且拥有很多新特性。较之ARM7 TDMI,Cortex-M3 拥有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗等众多优势。
国内 Cortex-M3 市场,ST(意法半导体)公司的 STM32 无疑是最大赢家,作为 Cortex-M3内核最先尝蟹的两个公司(另一个是 Luminary(流明))之一,ST 无论是在市场占有率,还是在技术支持方面,都是远超其他对手。在 Cortex-M3 芯片的选择上,STM32 无疑是大家的首选。
现在 ST 公司又推出了 STM32F0 系列 Cortex M0 芯片以及 STM32F4 系列 Coretx M4 芯片,这两种芯片都已经量产,而且可以比较方便的购买到,但是本指南,我们只讨论 Cortex M3,(因为这个现在是性价比最高的 ^_^)有兴趣的读者可以自行了解一下。
STM32 的优异性体现在如下几个方面:1, 超低的价格。以 8 位机的价格,得到 32 位机,是 STM32 最大的优势。
2, 超多的外设。STM32 拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA 等众多外设及功能,具有极高的集成度。
3, 丰富的型号。STM32 仅 M3 内核就拥有 F100、F101、F102、F103、F105、F107、F207、F217 等 8 个系列上百种型号,具有 QFN、LQFP、BGA 等封装可供选择。同时 STM32还推出了 STM32L 和 STM32W 等超低功耗和无线应用型的 M3 芯片。
4, 优异的实时性能。84 个中断,16 级可编程优先级,并且所有的引脚都可以作为中断输入。
5, 杰出的功耗控制。STM32 各个外设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。
6, 极低的开发成本。STM32 的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持 SWD 和 JTAG 两种调试口。SWD 调试可以为你的设计带来跟多的方便,只需要 2 个 IO 口,即可实现仿真调试。
学习 STM32 有两份不错的中文资料:《STM32 参考手册》中文版 V10.0《Cortex-M3 权威指南》中文版(宋岩 译)前者是 ST 官方针对 STM32 的一份通用参考资料,内容翔实,但是没有实例,也没有对Cortex-M3 构架进行多少介绍(估计 ST 是把读者都当成一个 Cortex-M3 熟悉者来写的),读者只能根据自己对书本的理解来编写相关代码。后者是专门介绍 Cortex-M3 构架的书,有简短的实例,但没有专门针对 STM32 的介绍。所以,在学习 STM32 的时候,必须结合这份资料来看。
STM32 拥有非常多的寄存器,其中断管理更是复杂,对于新手来说,看 ST 提供的库函数虽然可以很好的使用,但是没法深入理解,一旦出错查,问题就非常痛苦了。另外,库函数在效率和代码量上面都是不如直接操作寄存器的。
本指南将结合《STM32 参考手册》和《Cortex-M3 权威指南》两者的优点,并从寄存器级别出发,深入浅出,向读者展示 STM32 的各种功能。总共配有 56 个实例,基本上每个实例在均配有软硬件设计,在介绍完软硬件之后,马上附上实例代码,并带有详细注释及说明,让读者快速理解代码。
猜您喜欢
评论