asm::delay() only blocks half the time intended on an STM32H7
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- rust
调研方向
从 src/asm.rs 开始,重点查看 asm::delay() 的实现,并在 STM32H7 上使用 src/main.rs 中链接的最小示例复现其行为。将请求的周期数与观察到的延迟进行比较,并确定该实现是否考虑了 H7 的执行行为。当 4,000,000,000 个周期的延迟产生预期的 10 秒延迟时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
The asm::delay() function delays a program only by half the time/CPU cycles intended on an STM32H7.
I have prepared a somewhat minimal example here. My CPU clock is at 400 MHz and I specify a delay of 4_000_000_000 cycles which should lead to a 10 second delay. The actual delay is 5 seconds for me.
I have also confirmed the same behavior in other programs on an STM32H7 with much shorter timescales and looking at IOs on a scope. The delay is always exactly half the time expected.
One guess is that this is due to the dual issue pipeline of the H7 eating up two instructions per cycle.
- 主要语言
- Rust
- 星标
- 1k
- 派生
- 202
- 平均合并
- 1 天 4 小时
- 30 天内合并 PR
- 2
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
rust-embedded/cortex-m 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
rust-embedded/cortex-m#651 · 5 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
rust-embedded/cortex-m#637 ·
-
enhancement
难度 2/5 1-3 小时 新手友好度 76/100
rust-embedded/cortex-m#511 · 2 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 55/100
rust-embedded/cortex-m#700 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 48/100
rust-embedded/cortex-m#695 ·
查看 rust-embedded/cortex-m 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
dekobon/big-code-analysis#1729 ·
维护者通常 1 天内回复
-
bug help wanted
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
akitaonrails/ai-memory#1888 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
peteonrails/voxtype#941 ·
维护者通常 4 天内回复
-
bug priority:medium triage:maintainable
难度 2/5 1-3 小时 新手友好度 82/100
ccusage/ccusage#2000 · 3 条评论 ·
维护者通常 1 天内回复