基于MBD的嵌入式系统实现
基于STM32CubeMX和HAL的嵌入式系统编程通过图形化配置和自动生成初始化C代码的方式,大大降低了嵌入式系统应用程序开发的工作量。
偶尔看见刘杰老师的基于模型的设计和嵌入式系统实现,被只需要搭建模型就可以生成可以下载到嵌入式系统运行的代码的描述强烈吸引,几经波折,在几天的折腾后实现,终于实现了。避免忘记,避免重复踩坑,写本文档以记录之。
参考博文:https://blog.csdn.net/u010411288/article/details/91382302
一、整体思路
先利用STM32CubeMX进行图形化配置,再用Matlab的simulink搭建模型进行仿真无错后生成部分C代码,再以STM32CubeMX生成工程,最后在KEIL或者IAR等工具中编译生成目标代码下载至MCU中执行。
本文以流水灯的功能实现为范例进行演示。
二、开发环境
只表明实现本范例时所使用的各软件,各自的安装过程不再详述。
1.Matlab2018a
2.STM32-MAT4.4.2(最新版本大概是5.6,与matlab2018a的版本不匹配)
3.STM32CubeMX5.5
4.MDK-ARM V5.29
三.用STM32CubeMX建立ioc工程
完成图形化STM32硬件资源配置,生成STM32CubeMX工程文件ioc。
开发板MCU为STM32F407VET6,用JLINK下载调试,HSE外接8M晶振,4个LED分别接PE0-PE3,低电平亮。
硬件资源配置过程见本文另一篇博文,完全相同。
配置完成后仅生成LED.ioc。
重要的事情说三遍:仅生成LED.ioc,不生成代码!不生成代码!不生成代码!