IAR编译优化

2023-05-16

IAREWARM编译器和其他厂家的C编译器相比非常高效,但是当程序里面包含对时序要求比较严格的代码的时候,IAR常常会把这些代码过渡优化,破坏了时序的要求,造成程序错误,在程序代码比较紧的时候又必须优化。

可以在要求比较严格的代码的函数前面,用#pragmaoptimize=none不进行优化或者#pragma optimize=low进行低级优化。要注意的是:设置优化等级要小于初始options默认设置的优化等级。Optimization can only belowered from the default, not raise.

例如,工程中配置了优化级别,代码中可以通过下面方法再次改变优化级别:

#pragmaoptimize=none

void fun()

{

}

不对fun()函数优化

 

下面代码,如果设置了高优化,可能循环部分就给优化掉,直接跳过了循环。

void delay()

{

inti;

for(i = 0; i < 1000; i++);

}

因为什么都不做的循环,是个编译器都该给优化去掉。应该在循环体里面用一个nop之类的。可以有以下解决办法:第一个在工程的option中修改optimize等级,第二种是在函数前面加上#pragma optimize=none,第三种修改循环的变量值定义类型为volatile



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IAR编译优化 的相关文章

随机推荐

  • 【Prometheus二次开发课程 】01 Prometheus简介 (学习笔记)

    文章目录 Prometheus全自主无人机开源软件平台项目创始人介绍 背景多旋翼无人机发展历史 xff1a 多旋翼无人机的优势多旋翼无人机的应用场景什么是自主无人机 xff1f 无人机的基本组成 xff08 航模 xff09 PX4生态系统
  • 【PX4 二次开发 初级】 02 飞控软硬件体系

    PX4 二次开发初级 PX4 飞控软硬件体系 飞控硬件体系PIXHAWK 控制硬件 软件体系PX4 体系原生固件原生固件官网原生固件地面站 APM 体系APM官网 xff1a 原生固件地面站 特点 标题 xff1a PX4二次开发教程 xf
  • 【PX4 二次开发 初级】 03 飞控调试以及地面站使用

    PX4 二次开发 初级 03 飞控调试以及地面站使用 前言IMU三轴稳定性内部构成陀螺仪加速度计磁力计 误差加速度 amp 陀螺仪 磁力计干扰测试 标题 xff1a PX4二次开发教程 xff1a 起源 xff1a 根据阿木实验室讲解课程整
  • 【嵌入式】牧马人G3 电子竞技鼠标拆解分析

    嵌入式 牧马人G3 电子竞技鼠标拆解分析 拆解性能以及构造A702 A704 数据手册引脚图引脚说明功能应用电路图 拆解 拆解后机械鼠标 生前图标 四个螺丝拆掉 左右两侧螺栓拆掉 上壳扒开 垫片剔除 xff0c 然后拔出隐藏在垫片下的螺栓
  • 【Mavros解析 】01 ROS消息以及常用指令

    Mavros解析 01ROS消息以及常用指令 示例代码一示例一代码解析ROS初始化消息订阅 xff1a 模板函数定时器回调循环睡眠函数 示例代码二示例二解析公布消息模板函数 标题 xff1a MAVROS教程 offboard模式下自主飞行
  • 【Mavros解析 】02 ROS服务以及在mavros中体现

    Mavros解析 02 ROS服务以及在mavros中体现 简介实现步骤步骤 1 xff1a 连接服务步骤 2 xff1a 实例化服务参数 xff1a 步骤 3 xff1a 请求服务 Demo头文件订阅回调函数主函数初始化订阅mavrso
  • Pixhawk---通过串口方式添加一个自定义传感器(超声波为例)

    xfeff xfeff Pixhawk 添加一个自定义传感器 超声波 xff08 串口方式 xff09 1 说明 首先超声波模块是通过串口方式发送 xff08 Tx xff09 出数据 xff0c 使用的模块数据发送周期为100ms xff
  • 【PX4 飞控剖析】01 offborad模式的开发与应用

    PX4 飞控剖析 01 offborad模式的开发与应用 offboard模式的开发及应用px4固件的模式自定义模式auto子模式外部模式应用场合 offboard模式的开发及应用 px4固件的模式 px4固件支持10几种飞行模式 xff0
  • 【mavros源码解析】10 MAVROS包含文件及消息机制

    Mavros解析 10 mavros源码 Mavros简介Mavros代码详解libmavconn xff1a mavros xff1a mavros extras mavros msgs MAVROS 包含文件include launch
  • 【PX4 飞控剖析】03 PX4固件烧录以及调试指南

    PX4 飞控剖析 03 PX4固件烧录以及QGC初步指南 一 加载固件二 加载参数三 校准传感器四 遥控器校准五 飞行模式六 电调校准七 检查参数 标题 xff1a PX4 飞控剖析 03 PX4固件烧录以及调试指南起源 xff1a 根据阿
  • 【PX4 飞控剖析】05 PIX4 连接QGC 可以烧录固件但是连接不上

    PX4 飞控剖析 05 PIX4 连接QGC 可以烧录固件但是连接不上 总结 如图 xff1a QGC error link Device on COM3 Error connecting Could not create port 这个是
  • 【SLAM】英特尔D455与D435i的区别

    SLAM 英特尔D455与D435i的区别 参考链接 xff1a bing搜索 D455 深度摄像头 官方介绍 D455 机械尺度更大 视场角范围更广 视场角更宽 同时RGB 传感器技术 支持全局快门 xff0c 如果对视野范围有要求的用户
  • Bubble Planner无人机运动规划算法解读

    Bubble Planner无人机运动规划算法解读 本文将介绍一种无人机的在线路径规划算法 Bubble Planner xff0c Bubble Planner 是港大张富老师MaRS实验室提出了一种的新型规划算法 xff0c 是一种用于
  • 【论文研读】无人机飞行模拟仿真平台设计

    无人机飞行模拟仿真平台设计 摘要 xff1a 为提高飞行控制算法的研发效率 降低研发成本 基于数字孪生技术设计一个无人机硬件在环飞行模拟仿真平台 从几何 物理和行为3个方面研究无人机数字模型构建方法 将物理实体以数字化方式呈现 设计一种多元
  • 【深度学习基础】

    最终效果如上图所示 xff1a 真不知道这一路有多艰难 众所周知CHATGPT 可以做表格和 公式 xff0c 但它输出的文本是直接渲染好的 你是直接复制不了的 xff0c 你只能复制它出来的字体 于是我尝试了各种 想让它输出表格和文字的方
  • 【蛤蟆先生去看心理医生】

    第一章 整个人都不太好 人物性格描述蛤蟆热情 时尚 爱冒险 xff0c 现在抑郁 xff0c 不能自拔獾智慧 威严河鼠关心朋友 xff0c 有点絮叨鼹鼠体贴善良 第二章 擎友前来相助 讲诉了鼹鼠和河鼠对蛤蟆情况的担忧和讨论 鼹鼠回忆起过去蛤
  • linux下tar、zip、rar解压缩命令使用

    zip 命令 将当前目录下的所有文件和文件夹全部压缩成myfile zip zip r myfile zip r表示递归压缩子目录下所有文件 把myfile zip文件解压到 home sunny unzip o d home sunny
  • Pixhawk—添加一个自定义传感器—超声波(串口方式)

    xfeff xfeff 版权声明 xff1a 本文为博主 原创 文章 xff0c 未经博主允许可以转载 xff0c 注明博客出处 xff1a http blog csdn net FreeApe 目录 43 Pixhawk添加一个自定义传感
  • parson例说

    例说 以JSON中国网站的例子 xff0c 测试代码 include 34 parson h 34 include lt stdio h gt include lt stdlib h gt void test write void void
  • IAR编译优化

    IAREWARM编译器和其他厂家的C编译器相比非常高效 但是当程序里面包含对时序要求比较严格的代码的时候 IAR常常会把这些代码过渡优化 破坏了时序的要求 造成程序错误 在程序代码比较紧的时候又必须优化 可以在要求比较严格的代码的函数前面