ARM(Advanced RISC Machines)公司自1990年11月正式成立以来,从事并专注于市场不断增长的对低成本、低功耗、高性能的32位RISC芯片的需求,选择了设计基础技术并将其以知识产权的形式向客户进行授权。虽然诞生初期引来了业界许多怀疑,然而1991年ARM的第一次成功的商业交易,引来了SHARP、TI、SAMSUNG等公司加入授权行列,直接促使了新的RISC架构的开发。目前全世界有200多家领先的半导体厂商获得ARM授权,组成了一个牢靠的产业联盟,每秒可生产90个芯片。ARM公司最新的微控制器Cortex采用v7指令集体系结构,为嵌入式市场提供了一个三管齐下的解决方案。Cortex-A系列提供高性能应用处理器,Cortex-R系列专门针对实时、深度嵌入式解决方案,Cortex-M系列专注于低成本嵌入式微控制器。目前有Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-A5、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-R4和Cortex-R4F等多种类型。
ARM Cortex™-M 处理器系列是一系列可向上兼容的高能效、易于使用的处理器,可以帮助开发人员满足将来的嵌入式应用的需要,以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。Cortex-M3作为Cortex-M系列的第一款处理器,集8位单片机的价格和32位ARM处理器的性能于一身,毫不夸张地说,可以看做51时代的终结者。Cortex-M3时常被当做在国内使用比较广泛的经典处理器ARM7的继承者来宣传。Cortex-M3处理器提供出色的计算性能和对事件的卓越系统响应,同时可以应对低动态和静态功率限制的挑战。该处理器是高度可配置的,可以支持范围广泛的实现(从那些需要内存保护和强大跟踪技术的实现到需要极小面积的对成本非常敏感的设备)。总体而言,Cortex-M3的性能更为优越,速度比ARM7快1/3,功耗低3/4,并且能实现更小的芯片面积,利于将更多功能整合在更小的芯片尺寸中,有助于单片售价降到1美元。最新资料显示,Cortex-M3授权用户数已达到29家,包括STMicroelectronics、Texas Instruments、Toshiba、NXP和ATMEL在内的多家公司已经出货。
ST公司的STM32F10xx系列给用户提供了全新的32位产品选项,结合了高性能、实时、低功耗、低电压等特性,同时保持了高集成度和易于开发的优势。STM32F10xx系列分为基本型STM32F101xx、USB基本型STM32F102xx、增强型STM32F103xx、互联型STM32F105/7xx和无线型STM32F108xx。本书主要以STM32F103x微处理器为硬件平台,详细介绍基于Cortex-M3处理器的开发技术。
第1章 简要介绍ARM处理器的基础知识,包括ARM体系结构和内核分类,并列举已出货的Cortex-M3产品,为处理器的选型提供参考。
第2章 介绍Cortex-M3内核,包括Cortex-M3处理器内核结构、编程模型和指令集知识,以及存储器映射、异常和时钟电源管理等内容。通过本章的阅读,可使读者了解Cortex-M3的内部结构和基本工作原理。
第3章 介绍STM32系列微控制器,包括产品分类、存储器总线结构、电源管理、时钟和系统设计。通过本章的阅读,读者能够开发简单的STM32最小系统。
第4章 介绍STM32函数库,包括Cortex微控制器软件接口标准、FWLib固件库和STM32标准外设库。通过本章的阅读,读者可以掌握基于STM32固件函数的使用。
第5章 对嵌套中断向量控制器和GPIO进行介绍,包括其工作原理、相关寄存器和固件库函数的使用,并给出实例详细讲解。
第6章~第8章 介绍STM32F103xx微控制器的USART、SPI、定时器等接口设计,包括相关寄存器和固件库函数的使用,并给出实例详细讲解。通过阅读这部分内容,读者能够掌握STM32F103xx微控制器的主要内部外设编程。
第9章 介绍基于STM32F103xx微控制器的操作系统移植技术,包括µC/OS-Ⅱ操作系统介绍、应用程序开发和移植,并对FreeRTOS和RT-Thread进行介绍。
第10章 介绍温湿度测量仪的设计,通过一个完成的工程实例,介绍STM32F10xx的应用,以便加深读者理解。
本书由范书瑞组织完成,具体执笔如下:第1、2、9、10章由范书瑞编写,第3、4章由赵燕飞编写,第5、6章由苏彦莽编写,第7、8章由李琦编写,最后由范书瑞统稿及定稿。本书主要参考了ST公司的RM0008、UM0427 User manual、AN2953 Application note,第2章主要参考ARM公司的DDI 0337G和DDI 0405C。出版过程中得到了ARM公司姜宁和意法半导体(上海)有限公司梁平先生的帮助,在此表示感谢!
鉴于Cortex-M3的强大功能和STM32F10xx的丰富外设,限于篇幅本书只对部分内容进行了介绍。由于编者的水平有限,书中的错误在所难免,恳请读者批评指正,欢迎读者将批评和建议发到fansr@hebut.edu.cn中。
编 者
2010年6月