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

[复制链接]
kseeker 发表于 2012-4-3 09:17 | 显示全部楼层
37# ifreecoding

我觉得我们眼光应该放的远一点。嵌入式这东西这几年进步很快,复杂度已经超过当年的PC了,下面是cortex-a8的介绍,这东西的开发板现在卖的很火:
顺序,双发射,超标量微处理器内核,13级主整数流水线,集成的L2缓存,优化的L1缓存,动态分支预测。

如果你一开始就把自己的芯片当作一个“高级”的芯片“降级”使用,自然就能避免很多问题。在PC上你还会认为这是个Bug吗?不会吧?那么在stm32上出了这个东西,应该想到,stm32引入了某种同PC相同机制,具体原因是什么你甚至不需要去关心。STM32对内部Flash的访问那就是一个缓存。但这是否是唯一可能的原因呢?也许是,也许不是,这对开发来说并不怎么重要,重要的是同一指令执行时间不一定相同。
kseeker 发表于 2012-4-3 09:19 | 显示全部楼层
低级的MCU暂时还算简单,但我想用不了几年,诸如超标量之类的的东西就会成为标准配置。我的原则是把MCU看作低级的PC,而不是高级的“单片机”。
kseeker 发表于 2012-4-3 09:52 | 显示全部楼层
我对自己的评价是“还算合格”,也正因为如此,当我碰见一些系统奇怪的行为时,我会告诉自己,这里有些自己不知道的原因,而不是言之凿凿的说人家的东西有Bug。系统的bug是极为罕见的,9成9都只是自己不知道某些东西而已。
就好像前一阵子我按照datasheet上的参考设计做的电源模块效率奇低,我认为是自己水平不行,而不会说:Linear的东西太烂了。
 楼主| ifreecoding 发表于 2012-4-3 13:24 | 显示全部楼层
學習一下~
但為何不用sys tick?雖然會比較吃系統資源,但它卻是很準確的。
willwu0327 发表于 2012-4-3 08:49


我使用了sys tick,前面我说了我写了2个能调度的小操作系统内核,使用sys tick来触发tick调度,为了方便观察任务切换,我就用delay函数来延迟时间,模拟任务正在工作,当然真实的任务是不会这么工作的,只是为了方便观察任务切换。
 楼主| ifreecoding 发表于 2012-4-3 13:26 | 显示全部楼层
我对自己的评价是“还算合格”,也正因为如此,当我碰见一些系统奇怪的行为时,我会告诉自己,这里有些自己不知道的原因,而不是言之凿凿的说人家的东西有Bug。系统的bug是极为罕见的,9成9都只是自己不知道某些东西 ...
kseeker 发表于 2012-4-3 09:52


别说系统bug是极为罕见的,只能说你见的不多。编译器、芯片都是人做的
Simon21ic 发表于 2012-4-7 10:00 | 显示全部楼层
本帖最后由 Simon21ic 于 2012-4-7 10:03 编辑

终于看到汇编了,研究看看

可以做一个测试,在异常代码的循环前插入一个nop,确定确实是由于循环地址不同引起的,还是由于函数地址不同引起的。
秋天落叶 发表于 2012-4-7 19:19 | 显示全部楼层
分析的很有道理
yybj 发表于 2012-4-7 19:32 | 显示全部楼层
鼓励独立思考
bingye1086 发表于 2012-5-2 18:48 | 显示全部楼层
遇到类似的问题,赞同LZ 的观点
weikezhi 发表于 2012-10-19 15:31 | 显示全部楼层
支持楼上的说法。
xiangen 发表于 2014-6-23 15:59 | 显示全部楼层
学习了!
aydf369 发表于 2014-8-5 17:11 | 显示全部楼层
遇到类似的问题,赞同LZ 的观点,加一个NOP其他地方延时就不一样!
STM32初学者 发表于 2014-8-30 09:32 | 显示全部楼层
这个帖子不错,学习了
grace75 发表于 2014-8-30 10:17 | 显示全部楼层
这么测量准确不?
1398117027 发表于 2014-8-30 11:50 | 显示全部楼层
学习下!
xwuzi 发表于 2014-10-10 10:08 | 显示全部楼层
不知道LZ用的什么反汇编工具?可否分享一下?:D
bear1 发表于 2014-10-10 10:33 来自手机 | 显示全部楼层
延时思路似乎不太对啊
Avrsilmx 发表于 2015-10-24 14:33 | 显示全部楼层
先mark。:Q好复杂 看不懂啊
小柚子 发表于 2024-3-22 12:24 | 显示全部楼层
请问楼主问题解决没,我也遇到同样的问题
szt1993 发表于 2024-3-25 14:40 | 显示全部楼层
是不是跟触发有关系或是表象这样,其实还有深层的原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部