IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Simulink 自动代码生成电机控制:Keil工程转到CubeIDE相关问题(2/2) -> 正文阅读

[嵌入式]Simulink 自动代码生成电机控制:Keil工程转到CubeIDE相关问题(2/2)

目录

程序下载运行掉进死循环?

解决方法

Keil和CubeIDE代码效率对比

总结


程序下载运行掉进死循环?

Simulink 自动代码生成电机控制:Keil工程转到CubeIDE_卡洛斯伊的博客-CSDN博客

话接上回,把Keil的工作转到子CubeIDE且编译成功了,但是程序调试时出现了问题,程序还没有运行,debug直接进入了Infinite_Loop 显示程序停在了WWDG_IRQHandler(). 但是看门狗是没有使能的。而且工作在Keil环境里编译下载运行调试都没有问题。切换到CubeIDE后变化的也就启动的汇编文件。刚刚开始以为是FPU没开,但是切换过来401的芯片默认是开FPU的。各种尝试无果,程序依然Main函数都进不去就死掉了。

?

解决方法

后来灵光一现,突然发现开发板上的主芯片是STM32F401RCT6,而CubeMX 所使用的芯片型号是STM32F401RET6. 为了确定是不是因为这个有两个方法。

1. 用RET6的芯片试试,但是手上目前没有

2. 把RET6的启动文件,Link文件都改成RCT6

(1)替换启动文件和Link文件

? 新建一个STM32F401RCT6的Project, 直接把生成的启动文件和Link文件替换,如下图替换好的启动文件和未替换的Link文件。

?

(2)修改其他配置选择及文件

修改MCU型号,如下图灰的不可选

用记事本或者其他工具打开.cproject文件,找到RET,替换成RCT

?

?改完后重启CubeIDE,如下图所示:?

?

修改makefile?

?如下图所示

?改完后编译下载调试,一切正常?

Keil和CubeIDE代码效率对比

Keil设置优化选项

分别使用不同版本的编译器编译代码。?

配置不同的优化等级。

CubeIDE设置优化选项

?

简单测试了下,Keil和CubeIDE对代码的优化还是不同的,这边由于测试工具的受限,只能通过IO翻转的方式来查看中断里程序执行的不同时间来进行对比。结果:所有优化选项电机都能正常运行。在电机能正常运行的情况下,CubeIDE的优化效果比Keil使用版本5的优化效率好但是没有版本6的效率高;O2以上的优化等级差不多,最好的优化效果是Keil使用版本6的编译器。以下仅供参考。

?

总结

如果想要让代码执行效率高,需要考虑不同编译器的版本,优化选项以及对系统是否有影响等。通过测试发现在Keil和CubeIDE两者中Keil编译器版本选择6编译出来的代码效率最好。在实际的开发中,为优化软件的执行效率也会尝试使用各种编译器让程序的速度和空间达到预期的结果。有机会再尝试IAR吧。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:31:28  更:2022-10-22 21:34:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:30:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码