学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 工程科技 > 信息与通信 > 导致STM32芯片指令速度变化的问题分析过程

导致STM32芯片指令速度变化的问题分析过程

过年那几天移植一份代码,结果发现了STM32芯片指令速度会发生变化,本文将讲述这个问题的定位过程,从中你可以看到作者根据问题的现象结合已有的知识,2次否定了出问题的地方,但随着逐步缩小定位范围,认真分析现象,最终还是找回到了出问题的地方,并与网友讨论后,查找芯片手册找到了问题的原因。本文的重点不在于介绍这个问题,而是在于介绍定位这个问题的思路以及过程,很多问题通过仔细分析是可以找到原因的。

导致STM32芯片指令速度变化的问题分析过程

过年那几天将一份代码从TI的LM3S8962芯片移植到ST的STM32F103VB芯片上,结果发现了STM32芯片指令速度会发生变化,本文将讲述这个问题的定位过程,从中你可以看到作者根据问题的现象结合已有的知识,2次否定了出问题的地方,但随着逐步缩小定位范围,认真分析现象,最终还是找回到了出问题的地方,并与网友讨论后,查找芯片手册找到了问题的原因。本文的重点不在于介绍这个问题,而是在于介绍定位这个问题的思路以及过程,很多问题通过仔细分析是可以找到原因的。

现象描述

下面这段延迟时间的函数在LM3S8962芯片上可以产生正确的延迟时间,但在STM32F103VB芯片上却表现出不确定性,有时候可以延迟正确的时间,而有时候则变为正确时间的1.25倍。比如,输入200,正常的延迟时间是2000ms,而出现异常时这段代码则运行了2500ms。

voidDEV_DelayMs(U32uiMs)

{

unsignedinti;

unsignedintj;

j=5998*uiMs;

for(i=0;;i++)

{

if(i==j)

{

break;

}

}

}

背景知识介绍

我写了2个具有任务切换功能的小型操作系统,其中一个我称之为wanlix,需要函数主动调用任务切换函数才能发生任务切换,只有这一个功能,功能虽少,但也非常小巧,编译后只有几百字节,适合程序空间只有几十K的小系统使用。另一个我称之为mindows,是实时抢占式的内核,高优先级的任务会自动抢占低优先级的任务,支持信号量、队列等功能。更多信息,请访问我的新浪博客http://doc.xuehai.net/ifreecoding

其中DEV_DelayMs函数用来在任务中产生延迟,模拟任务的业务,其中mindows拥有tick定时器,操作系统打印出的tick时间会反应出DEV_DelayMs函数的执行时间。

LM3S8962芯片与STM32F103VB芯片指令速度不一样,因此在移植这2个操作系统时对DEV_DelayMs函数内的i、j数值做了精确的调整,并使用了O0(哦零,不优化)优化选项,使之能产生精确的延迟。DEV_DelayMs函数在LM3S8962芯片上工作正常,但在STM32F103VB芯片上却有时正常,有时异常。

原因分析

mindows操作系统的打印带有tick时间(每个tick是10ms),这个问题最先是在mindows上发现的。程序中有一段2000ms的延迟,正常时,串口打印出这段延迟时间是2000ms,

第1页

TOP相关主题

  • stm32芯片手册
  • stm32指令周期
  • stm32汇编指令
  • stm32芯片选型
  • stm32芯片
  • stm32芯片介绍
  • stm32汇编指令集
  • stm32 复位芯片

我要评论

相关文档

  • 电源控制板设计中的问题分析(STM32芯片)

    电源控制板设计中的问题分析(STM32主芯片)_电子/电路_工程科技_专业资料。电源...导致STM32芯片指令速度变... 4页 免费 基于STM32的逆变弧焊电源... 暂无评价...

  • 破坏STM32中断机制引发的异常

    破坏STM32中断机制引发的异常_IT/计算机_专业资料。...这些寄存器距离芯片内核 最近,速度最快,支持更多的寻址...这说明没有问题的指令+没有问题的数据在某些时 候...

  • 关于STM32软件复位的实现方法

    关于STM32软件复位的实现方法_电子/电路_工程科技_专业资料。我用的是STM32F103...这里要注意一个问题:从 SYSRESETRQ 被置为有效,到复位发生器执行复位命令,往往...

  • STM32启动代码分析、简化、实战

    实验软件:Keil uVision4 实验硬件:神舟 IV 号开发板 芯片型号:STM32F107VC STM32 启动代码分析、简化、实战汇编基础: 1. 伪指令:EQU 语法格式:名称 EQU 表达式{...

  • STM32_NVIC 分析与应用 PDF

    STM32 NVIC 固件库分析与应用 Cortex-M3 处理器和...故障是指指令执行时由于错误的条件所导致的异常。 ...这时用于加快抢断速度的机制,当这在为先前到达的中断...

  • STM32 IAP在线升级

    [回复] 个人分析你这个 IAP 的处理很不可靠,需要...问题是有些长,真不好意思!谢谢! Re: firehood ...STM32 发送升级指令,当 STM32 收到升 级请求后...

  • 基于STM32的温度控制系统毕业论文改6

    参数是否达到要求,并对结果进行了分析, 总结了设计过程中出现问题及其解决方法。...使得 STM32 增强型系列单片机受 益无穷,其采用的 THUMB-2 指令集使得其指令...

  • STM32芯片在水泵综合参数测量中的应用

    力弱的 问题, 而基于 D SP 芯片的 设计成本较高...2014教师资格材料分析辅... 2014小学教师资格考试《...导致STM32芯片指令速度变... 4页 免费 参数定制服务...

  • STM32启动代码分析、简化、实战

    实验软件:Keil uVision4 实验硬件:神舟 IV 号开发板 芯片型号:STM32F107VC STM32 启动代码分析、简化、实战汇编基础: 1. 伪指令:EQU 语法格式:名称 EQU 表达式{...

  • STM32用户基于IAP的程序更新技术

    STM32用户基于IAP的程序更新技术_信息与通信_工程科技...的方法是, Bo在ot 区中也加入看门狗 的喂狗指令...和如何开发多核处理器的问题, OPRTS 恒拓开源信息...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部