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的工程模型:

以下一定要严格按照步骤顺序执行,否则会出现编译不正常问题!!!

  1. 创建一个空白的模型文档
  2. 在waijung工具箱中找到Waijung BlocksetàSTM32F4 TargetàDevice ConfigurationàTarget Setup,将其拖拽到新建的空白模型中
  3. 双击该setup模块,将MCU设置为自己开发板的CPU型号,然后按照下图配置

  1. 在waijung工具箱中找到Waijung Blockset   -->   STM32F4 Target    -->    On-chip Pheripherals   --> Digital Output,将其拖拽到新建模型中
  2. 双击IO输出模块,选择引脚号以及引脚的模式(推挽或者开漏),这里选择PD12与PD13作为推挽输出

  1. 设置输入,PD12为低电平,PD13为高电平,整体simulink的框图如下:

  1. 然后点击simulink工具栏中的Simulation  --> Model Configuration Parameters

在solver中的solver options中的type选择fixed step

在Code Generation中,System target file设置成stm32f4.tlc(这个在将waijung模块拖入空白模型中自动设置的)

点击apply,然后OK

  1. 最后保存该项目文件(在纯英文路径下)
  2. 将开发板通过ST-link连接到电脑上,在MATLAB中将当前工作目录设置到保存这个文件的目录下,并点击bulid按钮

  1. 弹出代码生成对话框,全绿表明代码生成并且下载成功

  1. 测试开发板的PD12以及PD13引脚,得到PD12为低电平,PD13为高电平

三、自动生成代码的文件

在模型目录下,可以看到多出来两个文件夹,如下图所示

在xxxx_stm32f4这个文件夹中包含了自动生成的代码,自己可以在MDK开发环境中配置一下也可以下载到开发板中(与前面simulink中直接下载相比会步骤复杂一点),这里就不再详细介绍MDK中配置工程文件了。

SIMULINK下的STM32自动代码生成相关推荐

  1. 在simulink下编程stm32,为什么我的stm32用串口打印数据,总是00或者ff

    这个带红圈的地方非常重要,否则收到的数据就是00或者ff了

  2. Matlab/Simulink 自动代码生成 基于模型设计学习教程(1)---- 环境配置

    在接触不断开发深入STM32的时候,我经常在直接用C语言编写一个很发杂的算法,比如PID控制,傅里叶变换,卡尔曼滤波之类的基本需要的算法,然而对于一个初学者来说,编写这样的算法,费时费劲,甚至不一定能 ...

  3. 一文弄通STM32F103基于simulink自动代码生成CAN/USART/GPIO/TIM(stm32cubemx+stm32target+matlab2018b)

    一文弄通STM32F103基于simulink自动代码生成CAN/USART/GPIO/TIM(stm32cubemx+stm32target+matlab2018b) 写在前面 1.stm32cub ...

  4. 20180614 MATLAB环境下自动代码生成

    为加速软件开发过程,汽车电子开发过程会采用自动代码生成技术,目前该技术主要集中于应用层控制策略和算法的开发.将传统的算法与软件代码的两个步骤,实现为算法的开发及测试集成于一体的发开模式. 现阶段国内较 ...

  5. Simulink自动代码生成:生成代码的基本设置

      Simulink自动代码生成也被称作基于模型开发(BMD),相比于传统的手写代码方式能够尽量减少人为错误.模型本身可以用于仿真,单元测试等,更便于提前发现逻辑错误.同时只要约定好模型接口,就可以多 ...

  6. Simulink自动代码生成:数据字典的建立及代码优化

      在上一节<Simulink自动代码生成:生成代码的基本设置>的基础上,我们来对模型进行优化,使得生成的代码更能满足实际的需求,没看过我上一篇文章的可以点开如下链接:   Simulin ...

  7. Simulink 自动代码生成原理

    如下图,Simulink模型会先变成一个文本式的 .rtw 模型描述文件,然后再变成 .c,.h,最后编译为最终目标文件. 典型的 Simulink 用户通常都是,用Simulink设计好算法后,做到 ...

  8. Simulink自动代码生成

    Simulink学习笔记(二)--Simulink自动代码生成(一) Simulink学习笔记(三)--Simulink自动代码生成(二)

  9. matlab 生成plc程序,利用MATLABsimulink的自动代码生成工具开发PLC程序..docx

    利用MATLABsimulink的自动代码生成工具开发PLC程序. 利用MATLAB/simulink的自动代码生成工具开发PLC程序MATLAB之控制系统 2010-07-07 15:17:43 阅 ...

最新文章

  1. HTML教程-各窗口间相互操作(Frame Target)
  2. 文件上传的实现(C#)
  3. C/C++中Static的作用详述
  4. 新时代网管的十二大主要职责(一)
  5. Netty原理和使用
  6. 借钱,一定要有还钱的素质
  7. bzoj1013,luogu4035-[JSOI2008]球形空间产生器【高斯消元】
  8. 7. Flask 大型程序的结构
  9. lj245a引脚功能图_零基础入门单片机(2)学会控制IO引脚你就入门啦
  10. 牛腩新闻发布系统—错误总结
  11. IEC104规约调试
  12. android内存脚本教程,安卓内存
  13. java语言编译系统_请问C语言,JAVA之类的语言编译程序是属于 系统软件 还是 应用软件??...
  14. 接下来是 Downward API,它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息。
  15. 数字绿土参加2017美国地球物理联合会(AGU)年会
  16. 附加组 Linux,Linux用户组之主组和附加组
  17. 计算机型号win7,教你win7系统电脑内存条型号怎么看
  18. 护士副高需要计算机考试吗,护士评副高什么要求
  19. 酒店管理系统的设计与实现/酒店客房管理系统/酒店预定系统
  20. 分享抖音账号初期运营技巧,直接可复制的运营流程

热门文章

  1. linux怎样修改xml文件,Linux shell修改xml文件
  2. 一些gaoxiao的知识
  3. Flex代码实现汇总:Flex Loading
  4. 神奇宝贝java路径_【NDS地图制作教程零一】如何打开工具——JAVA第一课
  5. 用搞笑的方式浅谈怎么做好一款产品!
  6. 3、Kafka进阶提升-消费者
  7. Python if else条件语句
  8. Linux——rpm安装
  9. 从传统框架到服务化框架
  10. SVM(三):对偶问题最直白解释