当前位置:首页 > 单片机 > 单片机
[导读]一、软件仿真Keil有很强大的软件仿真功能,通过软件仿真可以发现很多将要出现的问题,Keil的仿真可以查看很多硬件相关的寄存器,通过观察这些寄存器值的变化可以知道代码有没有正常运行。这样可以避免频繁下载程序,

一、软件仿真

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

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

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


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


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


1 2 3 4 5 6 7 8 9 10 11 12 13 14


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”



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

目前市面上比较流行的单片机仿真软件有Keil、ATMEL Studio、Iar Embedded Workbench、Proteus等。其中Keil是一款常用的ARM单片机软件开发工具,它主要用于开发ARM架构的单片机程...

关键字: 单片机 Keil 软件仿真

传统软件仿真工具已经无法满足工程师对仿真时间效益的需求,必须借助硬件仿真加速技术特有的高速、高可见性与准确性等优势,来提升验证效率,排除设计缺陷与漏洞,满足产品开发时间要求,并有效控制SoC开发成本,让芯片公司在设计验证...

关键字: 软件仿真 EDA SoC

之后新建新的工程,添加.a文件就可以使用了,当然也可以使用keil来添加,但是keil默认的是用.lab,需要自己配置一下文件属性,改为lib文件即可。一半release sdk的时候用这种方式很关键的,毕竟自己的核心代...

关键字: keil 文件属性 lib文件

(全球TMT2022年9月27日讯)新思科技近日宣布推出业内首款基于其ZeBu® EP1硬件仿真系统的硬件仿真与原型验证统一硬件系统,致力为SoC验证和前期软件开发提供更高水平的性能和灵活性。新思科技ZeBu...

关键字: 硬件仿真 新思科技 硬件系统 编译

该统一硬件提供灵活的容量,既可为硬件验证提供更快的编译,又可为软件开发提供更佳的性能 加利福尼亚州山景城2022年9月27日 /美通社/ -- 新思科技(纳斯达克股票代码:SNPS)近日宣布推出业内首款基于其ZeBu&...

关键字: 芯片 硬件仿真 新思科技 软件开发

对于功能验证,思科做了几件事。它为前门初始化设计了一个测试平台。它采用了所有的 C++/System C 测试检查器和模拟检查,甚至是实时检查,并将它们移植到仿真器中。它还使用 Mentor 的以太网数据包生成器监视器...

关键字: 硬件仿真 网络设计

为网络应用设计 ASIC 面临着独特的挑战。一是这些设备的带宽和延迟性能测试比其他类型的 IC 所需的仿真周期要长得多。当然,扩展模拟会减慢整个设计过程。为了解决这些问题和其他问题,思科工程师采用了将仿真与仿真相结合的做...

关键字: 硬件仿真 网络设计

DSP28335与AD7606通过SPI的串行数据交互

关键字: keil C

AD7606的并行采集

关键字: ad7606 数据 C keil
关闭
关闭