码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • KEIL里的优化选项解读


    一、优化等级

    优化大家都知道,-O0,-O1,-O2,-O3,等级越高优化程度越高,代码的执行效率也就越高。但是开启优化存在几个问题:

    1、低优化等级代码能跑,开启高优化等级后代码就跑不起来了
    2、高优化等级代码能跑,开启低优化等级后代码就跑不起来了
    3、Optimize for time的3种状态是什么意思?

    问题1和2的解决思路看看硬汉大神的帖子
    我这里也贴一下截图
    在这里插入图片描述
    除了硬汉说的,我再补充点。

    按照硬汉的思路我从-O0 ->-O3对GD32F450的工程进行实验,发现ADC在-O0的时候可以正常运行,一但超过-O1,就进不了DMA中断了。所以可以排除硬件配置有问题。

    然后就是无头苍蝇似的找问题,最后想起来对比下他们的寄存器

    通过对比发现TIMER的寄存器都一样,ADC忘了看了,DMA1CH0的寄存器两个有几处不同
    在这里插入图片描述
    其中最大的不同就是CH0M0ADDR,也就是存放ADC转换的数组ADC_ConvertedValue的地址不同了
    在这里插入图片描述
    而0x10000000是TCMSRAM的区域。正好前段时间因为LCD优化请教过别人,TCMSRAM是无法配置DMA的。从下图可以看出来,TCMSRAM只有DBUS总线,并没有DMA的总线连接。
    在这里插入图片描述

    把用到DMA搬运的文件都手动定义到普通SRAM里,问题迎刃而解,即使开启-O3程序也能跑了(o)/!
    在这里插入图片描述

    第3个问题还是在群里问大神才知道。
    在这里插入图片描述

    二、One ELF Section per Function

    这个选项默认情况下应该是打开的。我在进行优化等级测试的时候,不知道什么时候把这个选项关掉了,导致代码死活跑不起来了。
    然后对比.uvprojx文件发现这个地方有差异,改回来就好了。
    作用就是 把程序中未调用的函数给优化掉,不参与编译

  • 相关阅读:
    深入Linux下的GCC编译器:从入门到精通
    删除的数据如何恢复?误删了文件怎么恢复
    2021祥云杯PassWordBox_ProVersion
    菁染料CY3/CY5.5/CY7标记替尼泊苷/鬼臼噻吩甙/肝素前体,CY3/CY5.5/CY7-Teniposide/Heparsan
    【SSM】我的第一个SSM整合项目
    go语言零碎笔记
    微信小程序获取用户头像和昵称(头像昵称填写能力)
    Spring IOC
    LeetCode 121. 买卖股票的最佳时机
    【塔望咨询】×【紫燕食品】签署“紫燕·方便菜”品牌战略合作协议
  • 原文地址:https://blog.csdn.net/iommer/article/details/127439487
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号