为实现高效的 C语言代码编写,将Matalb/simulink应用在基于 ARMCortex-M内核STM32微控制器的嵌入式系统软件开发中。利用专门针对STM32系列微控制器开发的Simulink模块库 RapidSTM32及其工具套件,对嵌入式系统进行建模与仿真。仿真成功后,在模型编译器中把其翻译成高效的MDKC语言代码,实现了STM32嵌入式系统软件代码的快速生成。实验结果表明,所生成的软件代码在STM32嵌入式目标系统中运行状况良好。该方法在软件设计效率和易维护性等方面优于手工编写的代码方法。
引 言
引 言
在嵌入式应用软件设计中,开发人员应该运用现代软件工程思想和先进的软件开发方法,快速完成软件的开发和维护工作[1]。STM32系列微控制器是一款基于 ARMCortex-M3内核的高性能、低成本、低功耗的嵌入式应用产品。目前,编写STM32应用程序主要有两种方式。大部分学习使用STM32的用户都从固件库函数开始,通过使用ST公司提供的固件库中的库函数来配置CPU,建立工程后调用片内资源的各种功能。另外一些用户不使用或很少使用库,通过直接操作寄存器的方式使用STM32。
上述方法需要花费一定的精力熟悉固件库,或者要求熟悉众多的寄存器结构及其定义,程序开发效率较低。
Matlab是由美国 Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的计算环境,在很大程度上摆脱了传统非交互式程序设计语言(如C语言)的
编辑模式,代表了当今国际科学计算软件的先进水平。利用工具箱扩展 Matlab环境,可以解决应用领域内特定类型的问题[2]。本文介绍针对嵌入式ARMCortex-M3内核STM32微控制器的目标模块库,并通过实例说明基于
Matlab建模的STM32软件快速开发方法。
1 RapidSTM32blockset技术特性
RapidSTM32是一种针对STM32系列微控制器开发的Simulink目标模块库和设备驱动程序的工具套件。
RapidSTM32在高性能的图形编程语言、STM32微控制器应用之间架起了一座桥梁。该模块库利用 MathWorks
公司的Real-TimeWorkshop嵌入式编码器的代码生成能力,直接自动产生程序代码,实现了数字IO、USART、PWM、ADC的等功能程序和工程的自动生成。其主要目标是帮助用户(尤其是嵌入式系统初学者)实现诸如实时事件驱动、卡尔曼滤波等复杂的系统算法应用程序,而不需要了解底层的设备配置或调试。借助该模块库,用户能够利用可视化的交互式程序设计环境,不用手工编写 C
或汇编语言代码,就可以将在 Matlab/Simulink下的建模算法翻译转换为基于 STM32 微控制器的嵌入式系统程序。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !