MDK软件仿真步骤.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MDK软件仿真步骤

MDK MDK MMDDKK下的程序下载与调试 温州大学 成林俞 1、在开始软件仿真之前,先检查一下配置是不是正确,在IDE 里面点击 ,确定Target 选项卡内容如图所示(主要检查芯片型号和晶振频率,其他的一般默认就可以): 2、确认了芯片以及外部晶振频率(8.0Mhz)之后,基本上就确定了MDK3.80A软件仿真的 硬件环境了,接下来,我们再点击Debug选项卡,设置为如图所示: 我们主要要确认的是Use Simulator 是否选择(因为如果选择右边的Use,那就是用ULINK 进行硬件Debug了,这个将在下面介绍),其他的采用默认的就可以。确认了这项之后,我 们便可以选择OK,退出OptionsforTarget对话框了。 3、接下来,我们点击 (开始/停止仿真按钮),开始仿真,出现如图所示界面: 可以发现,多出了一个工具条,这就是 Debug 工具条,这个工具条在我们仿真的时候是非 常有用的,下面简单介绍一下Debug 工具条相关按钮的功能。Debug 工具条部分按钮的功 能如图所示: 复位:其功能等同于硬件上按复位按钮。相当于实现了一次硬复位。按下该按钮之后,代码 会重新从头开始执行。 执行到断点处:该按钮用来快速执行到断点处,有时候你并不需要观看每步是怎么执行的, 而是想快速的执行到程序的某个地方看结果,这个按钮就可以实现这样的功能,前提是你在 查看的地方设置了断点。 挂起:此按钮在程序一直执行的时候会变为有效,通过按该按钮,就可以使程序停止下来, 进入到单步调试状态。 执行进去:该按钮用来实现执行到某个函数里面去的功能,在没有函数的情况下,是等同于 执行过去按钮的。 执行过去:在碰到有函数的地方,通过该按钮就可以单步执行过这个函数,而不进入这个函 数单步执行。 执行出去:该按钮是在进入了函数单步调试的时候,有时候你可能不必再执行该函数的剩余 部分了,通过该按钮就直接一步执行完函数余下的部分,并跳出函数,回到函数被调用的位 置。 执行到光标处:该按钮可以迅速的使程序运行到光标处,其实是挺像执行到断点处按钮功能, 但是两者是有区别的,断点可以有多个,但是光标所在处只有一个。 汇编窗口:通过该按钮,就可以查看汇编代码,这对分析程序很有用。 观看变量/堆栈窗口:该按钮按下,会弹出一个显示变量的窗口,在里面可以查看各种你想 要看的变量值,也是很常用的一个调试窗口。 串口打印窗口:该按钮按下,会弹出一个类似串口调试助手界面的窗口,用来显示从串口打 印出来的内容。 内存查看窗口:该按钮按下,会弹出一个内存查看窗口,可以在里面输入你要查看的内存地 址,然后观察这一片内存的变化情况。是很常用的一个调试窗口 性能分析窗口:按下该按钮,会弹出一个观看各个函数执行时间和所占百分比的窗口,用来 分析函数的性能是比较有用的。 逻辑分析窗口:按下该按钮会弹出一个逻辑分析窗口,通过 SETUP 按钮新建一些IO 口, 就可以观察这些IO口的电平变化情况,以多种形式显示出来,比较直观。 Debug工具条上的其他几个按钮用的比较少,我们这里就不介绍了。以上介绍的是比较 常用的,当然也不是每次都用得着这么多,具体看你程序调试的时候有没有必要观看这些东 西,来决定要不要看。 这样,我们在上面的仿真界面里面选内存查看窗口、串口打印窗口。然后调节一下这两 个窗口的位置,如图所示: 我们把光标放到main.c的09行的空白处,然后双击鼠标左键,可以看到在 09行的左边出 现了一个红框,即表示设置了一个断点(也可以通过鼠标右键弹出菜单来加入),再次双击 则取消)。然后我们点击 ,执行到该断点处,如图所示: 我们现在先不忙着往下执行,点击菜单栏的Peripherals-USARTs-USART1。可以看到,有 很多外设可以查看,这里我们查看的是串口1的情况。如图所示: 单击USART1后会在IDE 之外出现一个如图所示的界面: 图3.4.8(a)是STM32的串口1 的默认设置状态,从中可以看到所有与串口相关的寄存器 全部在这上面表示出来了,而且有当前串口的波特率等信息的显示。我们接着单击一下,执 行完串口初始化函数,得到了如图所示的串口信息。 大家可以对比一下这两个图的区别,就知道在uart_init(9600);这个函数里面大概执行了哪些 操作。 通过图(b),我们可以

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档