STM32+Matlab/Simulink模型设计和代码调试


最新的Simulink/STM32工作流已经摒弃了以前通过CubeMX生成主要框架,然后把Matlab的代码加入到项目的方式,新的工作流虽然还是要基于CubeMX,但CubeMX基于上仅仅是生成外设代码而已,后续的工程构建是基于GCC的,可以做到编译、生成、下载一键完成。

但是这种新的方式对调试不友好,我还没看到有哪篇文章介绍这种工程的调试方式。本文章介绍了构建模型时的一些特别设置,以及如何在STM32CubeIDE中调试生成的工程和代码

1. CubeMX的特别设置

1. Time base 不能用Systick

2. Project management setting

3. Advanced setting

  • Use LL lib for all peripheral
  • De-select visibility for all generated function calls

4. Add RX DMA for USART for xcp comms

2. 在Simulink中搭建模型

没什么特别的注意事项,略过

3. 将生成的工程导入STM32CubeIDE调试

1.在STM32CubeIDE(V1.9+)导入模型代码

2.拷贝模型生成代码时的编译命令参数:

输入到IDE的编译命令参数中:

已经可以成功编译了:

3. 设置MCU型号

看似这一步并不需要提前做,可能相关的MCU信息已经在makefile中指定了

4. 创建调试配置:

奇怪的是直接点小虫子并不能进入调试,必须要进入调试配置,然后点Debug才行

OK,现在可以调试了!

生成模型代码的时候要先前面的Monitor and tune,编译的代码才有调试信息,如果选择的是Build/Deploy & Start的话,编译选项不含调试,生成的elf不能调试。

4.再连接

代码生成好了以后如果没有改动过则不需要重新生成,但是一定要在Simulink中Start才行,否则程序会在某个地方一直等待。做法是先在IDE中将程序运行起来,然后在Simulink中Connect->Start即可:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值