Keil的软件仿真和硬件仿真美男子玩编程共 4191字,需浏览 9分钟 ·2021-04-16 23:40 点击上方蓝色字体,关注我们 一、软件仿真 Keil有很强大的软件仿真功能,通过软件仿真可以发现很多将要出现的问题,Keil的仿真可以查看很多硬件相关的寄存器,通过观察这些寄存器值的变化可以知道代码有没有正常运行。这样可以避免频繁下载程序,延长单片机Flash寿命。 开始仿真之前,先配置一些选项。 在工程设置里设置好芯片型号和晶振频率。 第一步: 第二步: 在“Debug”选项卡中选择“Use Simulator”,表示使用软件仿真;选择“Run to main()”则表示跳过汇编代码,直接跳转到main函数开始仿真。设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-pSTM32F103C8”,用于设置支持STM32F103C8的软硬件仿真。 第三步: 点击开始仿真,这个时候会多出来一个工具条,就是Debug工具条。 1:复位,其功能等同于硬件上按复位按钮,相当于实现了一次硬复位。按下该按钮后,代码会重新从头开始执行。 2:执行到断点处,按按钮用来快速执行到断点处,有时候并不需要观看每步时怎么执行的,而是想快速执行到程序的某个地方看结果,这个按钮就可以实现这样的功能,前提是已在查看的地方设置了断点。 3:停止运行,此按钮在程序一直执行的时候变为有效,可以使程序停止下来进入到单步调试状态。 4:执行进去,该按钮用来实现执行到某个函数里面去的功能,在没有函数的情况下等同于执行过去按钮。 5:执行过去,在碰到有函数的地方,通过该按钮就可以单步执行过这个函数,而不进入这个函数单步执行。 6:执行出去,该按钮是进入了函数单步调试的时候,有时候可能不必再执行该函数的剩余部分了,通过该按钮就直接一步执行完函数余下的部分,并跳出函数回到函数被调用的位置。 7:执行到光标处,该按钮可以迅速使程序运行到光标处,与执行到断点处按钮功能类似。 8:汇编窗口,通过该按钮可以查看汇编代码,这对分析程序很有用。 9:堆栈局部变量窗口,通过该按钮可以显示Call Stack+Locals窗口,显示当前函数的局部变量及其值,方便查看。 10:观察窗口,MDK5提供2个观察窗口(下拉选择),该按钮按下则弹出一个显示变量的窗口。输入想观察的变量或表达式,即可查看其值,是很常用的调试窗口。 11:内存查看窗口,MDK5提供4个内存查看窗口,按下按钮,则弹出一个内存查看窗口,可以在里面输入要查看的内存地址,然后观察这一片内存的变化情况。 12:串口打印窗口,MDK5提供4个串口打印窗口。按下该按钮,则弹出一个类似串口调试助手界面的窗口,用来显示从串口打印出来的内容。 13:逻辑分析窗口,该图标下面有3个选项,一般用第一个,也就是逻辑分析窗口。通过SETUP按钮新建一些IO口,于是可以观察这些IO的电平变化情况,并以多种形式显示出来,比较直观。 14:系统查看窗口,该按钮可以提供各种外设寄存器的查看窗口(通过下拉选择),选择对应外设即可调出该外设的相关寄存器表,并显示这些寄存器的值,方便查看设置是否正确。 二、硬件仿真 硬件仿真则是程序下载到单片机中,进行的仿真,是程序实际在单片机中运行的情况。 需要选择后面那个选项,然后在下拉单里选择自己的仿真器。然后后面步骤和软件仿真一样。 注:要在逻辑硬件仿真里使用逻辑分析仪之类的工具,要开“Trace” END 版权归原作者所有,如有侵权,请联系删除。 往期推荐 通俗易懂 | 走进PCB板里的金、银、铜 世界上手速最快的仿人机器人诞生 秒杀全网!研发、运营必备实用工具网站 点击阅读原文,更精彩~ 浏览 48点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 RifidiRFID 软件仿真程序Rifidi是一个RFID的软件仿真程序RFID,射频识别(RadioFrequencyIdentification)的英文缩写,是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并RifidiRFID 软件仿真程序Rifidi是一个 RFID 的软件仿真程序RFID,射频识别(Radio Frequency IdOpenRocket模型火箭仿真软件OpenRocket 是一款开源的模型火箭仿真软件,你可以用 OpenRocket 设计你的模型火箭,然后对其进行模拟飞行,得到其性能参数,以进行性能改进。正如其它开源软件一样,OpenRocket提Palomino开源飞行仿真软件Palomino是一个基于OSG的开源飞行仿真软件,值得一提的他的架构,非常灵活,场景的控制用的是lua脚本,其他的开发人员可以以自己的方式编写lua脚本,组建不一样的场景,而不用修改很多c++的代码Palomino开源飞行仿真软件Palomino是一个基于OSG的开源飞行仿真软件,值得一提的他的架构,非常灵活,场景的控制用的是lOpenRocket模型火箭仿真软件OpenRocket 是一款开源的模型火箭仿真软件,你可以用 OpenRocket 设计你的模型火箭OpenModelicaModelica的建模和仿真环境OPENMODELICA是一个开源的基于Modelica语言的建模和仿真环境,用于工业界和学术界研究OpenModelicaModelica的建模和仿真环境OPENMODELICA是一个开源的基于Modelica语言的建模和仿真环境,用于工业界和学术界研究。长期由非赢利组织OpenSourceModelicaConsortium(OSMC)开发.Theggmop3d工业机器人的运动仿真软件gmop3d是一款机械手臂(轴旋转运动)或工业机器人的运动仿真软件,他仅仅提供算法,不依赖任何第三方gmop3d工业机器人的运动仿真软件gmop3d是一款机械手臂(轴旋转运动)或工业机器人的运动仿真软件,他仅仅提供算法,不依赖任何第三方软件包,不依赖G代码,QT,boost,是一个纯粹的C语言代码程序。六轴机械手臂,第一版的算法仅仅支点赞 评论 收藏 分享 手机扫一扫分享分享 举报