基于Matlab的STM32软件快速开发方法
2011-06-25余新栓
余新栓
(陕西理工学院 电气工程系,汉中 723000)
余新栓(讲师),主要研究领域为嵌入式系统应用、计算机测量与控制。
引 言
在嵌入式应用软件设计中,开发人员应该运用现代软件工程思想和先进的软件开发方法,快速完成软件的开发和维护工作[1]。STM32系列微控制器是一款基于ARM Cortex-M3内核的高性能、低成本、低功耗的嵌入式应用产品。目前,编写STM32应用程序主要有两种方式。大部分学习使用STM32的用户都从固件库函数开始,通过使用ST公司提供的固件库中的库函数来配置CPU,建立工程后调用片内资源的各种功能。另外一些用户不使用或很少使用库,通过直接操作寄存器的方式使用STM32。上述方法需要花费一定的精力熟悉固件库,或者要求熟悉众多的寄存器结构及其定义,程序开发效率较低。
Matlab是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的计算环境,在很大程度上摆脱了传统非交互式程序设计语言(如C语言)的编辑模式,代表了当今国际科学计算软件的先进水平。利用工具箱扩展 Matlab环境,可以解决应用领域内特定类型的问题[2]。本文介绍针对嵌入式ARM Cortex-M3内核STM32微控制器的目标模块库,并通过实例说明基于Matlab建模的STM32软件快速开发方法。
1 RapidSTM32blockset技术特性
RapidSTM32是一种针对STM32系列微控制器开发的Simulink目标模块库和设备驱动程序的工具套件。RapidSTM32在高性能的图形编程语言、STM32微控制器应用之间架起了一座桥梁。该模块库利用MathWorks公司的Real-Time Workshop嵌入式编码器的代码生成能力,直接自动产生程序代码,实现了数字IO、USART、PWM、ADC的等功能程序和工程的自动生成。……
