keil uVision使用仿真模拟器

       利用keil uVision工具开发时,没有实际开发板时,有些代码可以利用keil uVision提供的仿真模拟器对代码进行调试。使用仿真模拟器步骤如下:

1、打开目标选项(Options for target...)界面,方法点击工具栏上的魔法棒(或者在Project窗口在项目的目标(target)右键,选中 Options for target 菜单项),操作如下图所示:

       打开目标选项界面如下图所示:

2、选择正确的芯片型号,在创建工程时,如果选择了合适芯片型号,则本步骤可以省略。方法:点击"Device"选项切换到设备选项界面,在search框中输入芯片类型,在下面的树形设备列表中选择要模拟的设备类型。如下图所示:

3、获取芯片仿真使用的数据。

        点击菜单"File->Device Database...",如下图所示:

        点击后进入如下图所示界面:

        在Search框中输入芯片型号(即第2步中选择的设备型号),在设备列表中选择芯片型号后,在最下面的框中找到“SIM=XXXXXX”这一行,将数据拷贝到一个临时文件中保存。

4、使用仿真调试功能,再次打开“目标选项”界面中,选择“Debug”选项切换到调试选项设置界面,选中“Use Simulator”选项,并将第3步获取的dll名称和参数修改选项目,如下图所示:

5、启动调试,点击工具栏放大镜图标(或按ctrl+F5键),启动调试即可用仿真器调试代码了。如下图所示:

6、时钟设置

       在默认情况下,仿真器的sysclk使用的是内部8M时钟, 如果要使用外部时钟,需要进行设置。在 keil uVision v5.25版本以后,仿真器sysclk频率不能在“目标选项”界面修改时,即Xtal选项是恢的,如下图所示:

        网上有的解决方法都是去修改system_stm32f10x.c中的时钟定义相关的参数,其实不需要,只需要在启动调试后,将时钟相关寄存器值设置正确就可以,按前文操作到第5步时,按以下操作方法设置即可:

       点击菜单“ Peripherals->Power,Reset and Clock Control”(注意一定要进入仿真调试时,Peripherals菜单才会有子菜单),如下图所示:

       将打开时钟和重置寄存器设置界面,如下图所示:

       要使用外部时钟,如SMT32F103ZE可以按下图所示修改,将使用外部时钟,SYSCLK最大频率为72MHZ。注意PLLON选项要最后点击,因为选中了PLLON选项,PLL将生效,其他一些选项将无法修改。

       设置完成后,直接点右上角的叉关闭窗口就可以。时钟寄存器设置请看芯片手册中的时钟树和寄存器的相关资料,在这里不再细说。

7、查看时钟频率

       设置完时钟寄存器后,有什么好方法知道仿真器的时钟频率是否设置正确呢?可以利用watch窗口查看 SYSCLK 值,点击菜单“View->Watch Windows->Watch 1”,如下图所示:

         将打开watch窗口,如下图所示:

        双击窗口中的“<Enter expression>”进入编辑状态后,输入SYSCLK将VALUE列中显示其设置的频率值,如下图所示:

        上图中value显示的是16进制,可以在变量名上右键取消16进制显示,如下图所示:

      取消勾选项后,按10进制显示,可以看到sysclk使用的是内存时钟8M,如下图所示:

按第6步设置完成后,利用debug的步进工具进入main函数后,可以看到时钟时变为了72MHZ,如下图所示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值