你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F1软件仿真经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-14 18:44
MDK 的一个强大的功能就是提供软件仿真,通过软件仿真,我们可以发现很多将要出现的问题,避免了下载到 STM32 里面来查这些错误,这样最大的好处是能很方便的检查程序存在的问题,因为在 MDK 的仿真下面,你可以查看很多硬件相关的寄存器,通过观察这些寄存器,你可以知道代码是不是真正有效。另外一个优点是不必频繁的刷机,从而延长了 STM32的 FLASH 寿命(STM32 的 FLASH 寿命≥1W 次)。当然,软件仿真不是万能的,很多问题还是要到在线调试才能发现。" P2 A% A9 V0 i& o' Z

; O, J7 \( ]( ?: @检查配置
) Z" |& d$ `) n; {" S4 C7 f如下图
/ Q) e  S, s+ B. k* W: i& d8 y, X2 e  Y# M9 F2 Y% u+ X5 p
1.png
4 r4 V1 l4 U: d7 O4 N4 _6 s

2 d! ?2 j6 Y+ Q, T, N/ u4 PDebug 选项卡
2 h( ~  Y  U  e+ M8 f, GUse Simulator,即使用软件仿真。选择:Run to main(),即跳过汇
; a- E$ h3 o  A, ^; a编代码,直接跳转到 main 函数开始仿真。设置下方的:Dialog DLL 分别为:***DARMSTM.DLL ****和 TARMSTM.DLL,
, G2 P4 h: o0 g+ q0 ]/ u- k5 k# A9 H/ _3 q% q9 ?
Parameter 均为:! o, D0 q4 Y1 y
: \- Y4 j8 g3 ~/ o0 @& y  `6 F* S
-pSTM32F103ZE
2 s* T& a+ Z: ?
; i) A- T2 H) n1 J3 v,用于设置支持 STM32F103ZE 的软硬件仿真(即可以通过Peripherals 选择对应外设的对话框观察仿真结果)。最后点击 OK,完成设置。
4 a! Q) y9 z) U# L/ e
5 x$ [+ |9 K1 o& t% L
150485d480346f26a2414cbe56a85149.png # i! o* H3 O2 `+ ^2 U& Z
) M5 w2 Z* U( d+ k% B" ?9 Q2 U! V* _
0af6feacf3275d0d132ffca725b47291.png
/ `) y4 \+ O% Y
$ k3 |  J" ]; T; W
开始仿真5 y1 }% P1 }+ O) z" J5 f
我们点击 355a821b332f5ed8d3067daa3d47c797.png 开始仿真,进入仿真界面
3 G. t5 j5 g+ L1 g) D8 p% K9 g
: q, J6 Y. a0 [' c0 p: S
b812047dd892a0feba6bd5908193732e.png
& k, }3 g* N' ~7 E
! R4 h  V/ {7 C$ w7 `2 v# Q- `Debug工具条- ]/ g% e3 K/ P- J5 D

2 G4 e( z' H% ^+ k/ U- q
9f863c2b4fc078ac9f8aa4140bea96d7.png
- j6 @4 S' W2 Q3 a+ Y" ~

* U: i1 x3 U8 u+ s7 G- E9 e! }复位:相当于硬件复位按键,从头开始
/ P) H- _8 x% z
' V9 `/ y5 i" F4 d! t
执行到断点处:该按钮用来快速执行到断点处
% N6 T) I3 b  {! u' J7 o- M% C$ z- ?! M3 @- T
挂起:可以使程序停止下来,进入到单步调试状态
' N' v1 N  Y0 \$ \& J
- K. A. y$ L% D5 l9 I' T5 J
执行进去:实现执行到某个函数里面去的功能,在没有函数的情况下,是等同于执行过去按钮的% }9 m% W- ?8 Q; C  j& @

/ \, p  [8 M9 X, p- W' W% `执行过去:在碰到有函数的地方,通过该按钮就可以单步执行过这个函数,而不进入这个函数单步执行
! E: I' C- F0 }5 ~" C0 X- t, y: B/ q, \* ^! {0 t! o7 S
执行出去:该按钮是在进入了函数单步调试的时候,有时候你可能不必再执行该函数的剩余部分了,通过该按钮就直接一步执行完函数余下的部分,并跳出函数,回到函数被调用的位置。
/ r5 P% r* p  s# T7 J! X
% a- t+ B1 M) y, L) _, i执行到光标处:可以迅速的使程序运行到光标处,其实是挺像执行到断点处按钮功能,但是两者是有区别的,断点可以有多个,但是光标所在处只有一个。/ d9 d# [  e; \3 R& |0 u2 l

& r5 E& r6 g, P) O- B; l汇编窗口:可以查看汇编代码,这对分析程序很有用。% y% z' S9 V3 J

4 O; _  K7 X- [7 R1 @* J观看变量/堆栈窗口:显示变量的窗口,在里面可以查看各种你想要看的变量值,也是很常用的一个调试窗口。3 `, q4 f/ I$ m3 A( ]# t& M

$ q+ F! c( U7 n性能分析窗口:观看各个函数执行时间和所占百分比的窗口,用来分析函数的性能
; ?  l  k: T- w, c8 \9 M' _! I+ I- g  L$ ]6 E" X8 E* Y
逻辑分析窗口:按下该按钮会弹出一个逻辑分析窗口,通过 SETUP 按钮新建一些 IO 口,就可以观察这些 IO 口的电平变化情况,以多种形式显示出来,比较直观。& ~  p# D, ?2 L( l8 m0 k6 ^; e
————————————————% h9 |( |2 `8 C
版权声明:Mr Harsh
9 t, s5 h1 ~8 d) a如有侵权请联系删除* k% A9 X1 V' }4 V( p
% ]4 U% e9 f9 @9 O
) F+ G4 o* Z. |
收藏 评论0 发布时间:2023-5-14 18:44

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版