码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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吧。

  • 相关阅读:
    机器人中的数值优化(二十)——函数的光滑化技巧
    vite+react+typescript 遇到的问题
    spring boot整合 Redis
    MMU的28问,你能回答几个
    【第05天】给定一个整数 n 判断是否为素数 | 质数的判定与筛选
    十、stm32-ESP8266(串口透传、MCU透传、控制LED亮灭)
    开源医疗大模型Llama3-Aloe-8B-Alpha,性能超越 MedAlpaca 和 PMC-LLaMA
    力扣每日一题2022-08-29简单题:重新排列数组
    直播出海 | 国内直播间再出爆品,「外卷」全球如何致胜
    Web协议:HTTP协议
  • 原文地址:https://blog.csdn.net/weixin_42665184/article/details/127414057
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号