SIMULINK下的STM32自动代码生成
SIMULINK下的STM32F4的自动代码生成
Author : zhou
Date : 2019/1/28
安装软件:
- MATLAB2013b(包含coder generation工具箱)
- MDK KEIL5编译环境
- Waijung 工具箱(STM32F0,STM32F4开发工具箱)
- ST-link驱动
下载地址:
链接:https://pan.baidu.com/s/1QP1QmtR6be3OHm87jMDDnw
提取码:vjaj
所需硬件:
- 任意一块STM32F4开发板
- ST-link下载器(waijung只支持ST-link,不支持J-link)
一、安装waijung工具箱
在安装完成上述的4个安装软件之后,打开MATLAB2013b,将目录跳转到waijung17_03a目录下(waijung17_03a这个文件夹要在纯英文目录下),在命令行输入 cd(‘…/waijung17_03a’) 或者直接手动,如图1所示。
图1 将工作目录加载到waijung工具箱的目录下
之后右键点击 install_waijung.m à run configurations à install_waijung,如图2所示。
图2 安装waijung工具箱
在安装的过程中会跳出来waijung工具箱是否自动更新对话框,点击NO,最终waijung工具箱状完成。
二、创建STM32工程并下载到开发板中
实现功能: 开发板PD12输出低电平,PD13输出高电平
打开MATLAB2013b中的simulink,在工具箱中点击simulink然后按F5,更新simulink工具箱库,等待一段时间后,就会在工具箱的底部看到waijung工具箱,如图3所示。
图3 simulink下的waijung工具箱
至于里面的相应工具可以自己慢慢研究。
参考模型例程在waijung17_03a文件夹下:
…\waijung17_03a\targets\stm32f4_target\stm32f4\demo
以及相应的介绍工具模块文件:
…\waijung17_03a\doc\HTML
创建一个STM32的工程模型:
以下一定要严格按照步骤顺序执行,否则会出现编译不正常问题!!!
- 创建一个空白的模型文档
- 在waijung工具箱中找到Waijung BlocksetàSTM32F4 TargetàDevice ConfigurationàTarget Setup,将其拖拽到新建的空白模型中
- 双击该setup模块,将MCU设置为自己开发板的CPU型号,然后按照下图配置
- 在waijung工具箱中找到Waijung Blockset --> STM32F4 Target --> On-chip Pheripherals --> Digital Output,将其拖拽到新建模型中
- 双击IO输出模块,选择引脚号以及引脚的模式(推挽或者开漏),这里选择PD12与PD13作为推挽输出
- 设置输入,PD12为低电平,PD13为高电平,整体simulink的框图如下:
- 然后点击simulink工具栏中的Simulation --> Model Configuration Parameters
在solver中的solver options中的type选择fixed step
在Code Generation中,System target file设置成stm32f4.tlc(这个在将waijung模块拖入空白模型中自动设置的)
点击apply,然后OK
- 最后保存该项目文件(在纯英文路径下)
- 将开发板通过ST-link连接到电脑上,在MATLAB中将当前工作目录设置到保存这个文件的目录下,并点击bulid按钮
- 弹出代码生成对话框,全绿表明代码生成并且下载成功
- 测试开发板的PD12以及PD13引脚,得到PD12为低电平,PD13为高电平
三、自动生成代码的文件
在模型目录下,可以看到多出来两个文件夹,如下图所示
在xxxx_stm32f4这个文件夹中包含了自动生成的代码,自己可以在MDK开发环境中配置一下也可以下载到开发板中(与前面simulink中直接下载相比会步骤复杂一点),这里就不再详细介绍MDK中配置工程文件了。
SIMULINK下的STM32自动代码生成相关推荐
- 在simulink下编程stm32,为什么我的stm32用串口打印数据,总是00或者ff
这个带红圈的地方非常重要,否则收到的数据就是00或者ff了
- Matlab/Simulink 自动代码生成 基于模型设计学习教程(1)---- 环境配置
在接触不断开发深入STM32的时候,我经常在直接用C语言编写一个很发杂的算法,比如PID控制,傅里叶变换,卡尔曼滤波之类的基本需要的算法,然而对于一个初学者来说,编写这样的算法,费时费劲,甚至不一定能 ...
- 一文弄通STM32F103基于simulink自动代码生成CAN/USART/GPIO/TIM(stm32cubemx+stm32target+matlab2018b)
一文弄通STM32F103基于simulink自动代码生成CAN/USART/GPIO/TIM(stm32cubemx+stm32target+matlab2018b) 写在前面 1.stm32cub ...
- 20180614 MATLAB环境下自动代码生成
为加速软件开发过程,汽车电子开发过程会采用自动代码生成技术,目前该技术主要集中于应用层控制策略和算法的开发.将传统的算法与软件代码的两个步骤,实现为算法的开发及测试集成于一体的发开模式. 现阶段国内较 ...
- Simulink自动代码生成:生成代码的基本设置
Simulink自动代码生成也被称作基于模型开发(BMD),相比于传统的手写代码方式能够尽量减少人为错误.模型本身可以用于仿真,单元测试等,更便于提前发现逻辑错误.同时只要约定好模型接口,就可以多 ...
- Simulink自动代码生成:数据字典的建立及代码优化
在上一节<Simulink自动代码生成:生成代码的基本设置>的基础上,我们来对模型进行优化,使得生成的代码更能满足实际的需求,没看过我上一篇文章的可以点开如下链接: Simulin ...
- Simulink 自动代码生成原理
如下图,Simulink模型会先变成一个文本式的 .rtw 模型描述文件,然后再变成 .c,.h,最后编译为最终目标文件. 典型的 Simulink 用户通常都是,用Simulink设计好算法后,做到 ...
- Simulink自动代码生成
Simulink学习笔记(二)--Simulink自动代码生成(一) Simulink学习笔记(三)--Simulink自动代码生成(二)
- matlab 生成plc程序,利用MATLABsimulink的自动代码生成工具开发PLC程序..docx
利用MATLABsimulink的自动代码生成工具开发PLC程序. 利用MATLAB/simulink的自动代码生成工具开发PLC程序MATLAB之控制系统 2010-07-07 15:17:43 阅 ...
最新文章
- HTML教程-各窗口间相互操作(Frame Target)
- 文件上传的实现(C#)
- C/C++中Static的作用详述
- 新时代网管的十二大主要职责(一)
- Netty原理和使用
- 借钱,一定要有还钱的素质
- bzoj1013,luogu4035-[JSOI2008]球形空间产生器【高斯消元】
- 7. Flask 大型程序的结构
- lj245a引脚功能图_零基础入门单片机(2)学会控制IO引脚你就入门啦
- 牛腩新闻发布系统—错误总结
- IEC104规约调试
- android内存脚本教程,安卓内存
- java语言编译系统_请问C语言,JAVA之类的语言编译程序是属于 系统软件 还是 应用软件??...
- 接下来是 Downward API,它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息。
- 数字绿土参加2017美国地球物理联合会(AGU)年会
- 附加组 Linux,Linux用户组之主组和附加组
- 计算机型号win7,教你win7系统电脑内存条型号怎么看
- 护士副高需要计算机考试吗,护士评副高什么要求
- 酒店管理系统的设计与实现/酒店客房管理系统/酒店预定系统
- 分享抖音账号初期运营技巧,直接可复制的运营流程