0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Keil的软件仿真和硬件仿真步骤

GReq_mcu168 来源:博客园 作者:张凌001 2021-05-03 10:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、软件仿真

Keil有很强大的软件仿真功能,通过软件仿真可以发现很多将要出现的问题,Keil的仿真可以查看很多硬件相关的寄存器,通过观察这些寄存器值的变化可以知道代码有没有正常运行。这样可以避免频繁下载程序,延长单片机Flash寿命。

开始仿真之前,先配置一些选项。

在工程设置里设置好芯片型号和晶振频率。

第一步:

9322e868-9e2c-11eb-8b86-12bb97331649.png

第二步:

在“Debug”选项卡中选择“Use Simulator”,表示使用软件仿真;选择“Run to main()”则表示跳过汇编代码,直接跳转到main函数开始仿真。设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-pSTM32F103C8”,用于设置支持STM32F103C8的软硬件仿真。

932bcdfc-9e2c-11eb-8b86-12bb97331649.png

第三步:

点击开始仿真,这个时候会多出来一个工具条,就是Debug工具条。

9337f7a8-9e2c-11eb-8b86-12bb97331649.png

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:系统查看窗口,该按钮可以提供各种外设寄存器的查看窗口(通过下拉选择),选择对应外设即可调出该外设的相关寄存器表,并显示这些寄存器的值,方便查看设置是否正确。

二、硬件仿真

硬件仿真则是程序下载到单片机中,进行的仿真,是程序实际在单片机中运行的情况。

93436d2c-9e2c-11eb-8b86-12bb97331649.png

需要选择后面那个选项,然后在下拉单里选择自己的仿真器。然后后面步骤和软件仿真一样。

注:要在逻辑硬件仿真里使用逻辑分析仪之类的工具,要开“Trace”

934d1340-9e2c-11eb-8b86-12bb97331649.png

935bfcb6-9e2c-11eb-8b86-12bb97331649.png

原文标题:Keil的软件仿真和硬件仿真

文章出处:【微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    55

    文章

    4535

    浏览量

    138659
  • keil
    +关注

    关注

    69

    文章

    1232

    浏览量

    173145

原文标题:Keil的软件仿真和硬件仿真

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于ST系列MCU使用STlink仿真烧录常见问题

    关于ST系列MCU使用STlink仿真烧录常见问题
    的头像 发表于 04-14 17:16 426次阅读
    <b class='flag-5'>关于</b>ST系列MCU使用STlink<b class='flag-5'>仿真</b>烧录常见问题

    直流固态变压器控制策略仿真解决方案

    EasyGo 平台的 EasyGo DeskSim软件,将模型部署到仿真设备中; 步骤3:配置硬件接口,连接实际 DSP 控制器,实现控制算法的
    发表于 03-06 09:26

    自动驾驶仿真软件推荐:康谋aiSim——ISO 26262 ASIL-D 认证的高保真选择

    自动驾驶技术的快速发展离不开高效可靠的仿真测试工具。面对市面上众多仿真软件,用户常问 “自动驾驶仿真软件有哪些”“哪些自动驾驶
    的头像 发表于 01-22 16:49 556次阅读

    如何使用Modelsim仿真I2C控制器

    ModelSim是Model Technology(Mentor Graphics的子公司)的HDL硬件描述语言的仿真软件。该软件可以用来实现对设计的VHDL、Verilog HDL
    的头像 发表于 01-10 14:14 5609次阅读
    如何使用Modelsim<b class='flag-5'>仿真</b>I2C控制器

    边缘计算必备仿真软件盘点:从仿真到落地,哪些工具值得你上手?

    过去几年,随着工业互联网、智慧城市、视频边缘分析、储能 EMS 等场景快速铺开, “先仿真、再部署”  已经成为边缘计算开发的必备流程。 但问题来了——工具太多,到底哪些软件值得工程师真正投入
    的头像 发表于 12-25 16:46 652次阅读

    【产品介绍】Modelsim:HDL语言仿真软件

    概述ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真仿真
    的头像 发表于 11-13 11:41 675次阅读
    【产品介绍】Modelsim:HDL语言<b class='flag-5'>仿真</b><b class='flag-5'>软件</b>

    利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真

    ,使用NucleiStudio IDE 和 vivado对蜂鸟E203+demo协处理器的软硬件协同仿真实验已经完成。根据以上步骤可以方便地对E203 SoC进行软硬件
    发表于 11-05 13:56

    流程建模:仿真 vs. 电子表格

    关于仿真方法的常见质疑及变革带来的价值
    的头像 发表于 07-28 16:01 492次阅读
    流程建模:<b class='flag-5'>仿真</b> vs. 电子表格

    keil调试阶段无法进行仿真,能进到仿真界面,但是无法执行程序怎么解决?

    keil调试阶段无法进行仿真,能进到仿真界面,但是无法执行程序,这个怎么解决?烧录器用的是jlink
    发表于 07-18 06:08

    详解ADC电路的静态仿真和动态仿真

    ADC电路主要存在静态仿真和动态仿真两类仿真,针对两种不同的仿真,我们存在不同的输入信号和不同的数据采样,因此静态仿真和动态
    的头像 发表于 06-05 10:19 2284次阅读
    详解ADC电路的静态<b class='flag-5'>仿真</b>和动态<b class='flag-5'>仿真</b>

    Multisim模拟电路仿真教程

    本章Multisim10电路仿真软件,讲解使用Multisim进行模拟电路仿真的基本方法。   在众多的EDA仿真软件中,Mult
    发表于 05-09 17:58 63次下载

    《聊一聊ZXDoc》之CAN总线仿真、面板仿真

    。什么是仿真?CAN总线仿真是一种通过虚拟化技术模拟CAN(FD)通信环境的方法,用于在无物理硬件或脱离实际系统的情况下,对ECU、传感器、执行器等节点的通信行为
    的头像 发表于 05-09 11:30 1734次阅读
    《聊一聊ZXDoc》之CAN总线<b class='flag-5'>仿真</b>、面板<b class='flag-5'>仿真</b>

    电磁环境仿真与验证系统软件

    电磁环境仿真与验证系统软件
    的头像 发表于 04-29 16:59 1245次阅读
    电磁环境<b class='flag-5'>仿真</b>与验证系统<b class='flag-5'>软件</b>