STC单片机的硬件仿真心得,可以解决99%不能仿真的问题

关于STC系列MCU,硬件仿真的心得。

介绍

STC-Monitor硬件仿真,和Keil提供的Keil-Monitor原理类似,都是通过在MCU的RAM或者ROM上开辟一段空间用来存放仿真程序。

在硬件仿真时,Keil先和这个仿真程序交互,这个仿真程序再控制我们自己写的程序,以此来实现断点、单步、全速、查看变量值、寄存器值等基本的仿真调试操作。

STC-Monitor分为两个部分,一个是安装在Keil中的调试组件(相当于上位机),一个是下载到MCU中的仿真程序(相当于下位机)。

操作

我们需要先把仿真程序烧录到我们的MCU中,才能让MCU具备仿真功能,在STC8系列里面,绝大多数型号是占用XRAM最后768个字节作为仿真程序的执行空间。烧录方法是使用STC-ISP助手的下载。

同理,上位机部分也是通过STC-ISP助手安装到Keil中(它和STC的芯片包一同注入到Keil当中)。

之后,在Keil里面选择硬件仿真,然后设置仿真COM口和波特率即可。

但我们有一些问题要特别注意,这是我们能够正确仿真的关键。

1.在Keil 的debug按钮按下之前,我们需要对MCU进行断电复位(最好是串口下载器也断电,防止其他应用占用这个COM口),让程序从仿真程序开始执行。

2.保证用户自己的程序,对XRAM的使用不得访问最后768个字节,也不能对这768个字节进行清零初始化( ELL已经对启动文件做了优化,大家不用担心)。

3.使用硬件仿真,会占用P3.0和P3.1两个IO口,要将串口1的工作IO切换到别的复用IO上。

4.仿真使用的通讯波特率(在Keil debug里面设置),要大于等于115200。

5.断点不易过多。

6.对于STC8,XRAM小于2K的型号,不建议使用硬件仿真,容易跑飞,可以先用资源丰富的型号仿真完毕,再烧录到对应MCU中。

7.仿真过程中,不能对MCU进行复位。

8.仿真过程中,要保证串口稳定(保证供电稳定)。
ZSXQ_20210525_153122656.png (976.16 KB)

关于STC系列MCU,硬件仿真的心得。

STC-Monitor硬件仿真,和Keil提供的Keil-Monitor原理类似,都是通过在MCU的RAM或者ROM上开辟一段空间用来存放仿真程序。

在硬件仿真时,Keil先和这个仿真程序交互,这个仿真程序再控制我们自己写的程序,以此来实现断点、单步、全速、查看变量值、寄存器值等基本的仿真调试操作。

STC-Monitor分为两个部分,一个是安装在Keil中的调试组件(相当于上位机),一个是下载到MCU中的仿真程序(相当于下位机)。

我们需要先把仿真程序烧录到我们的MCU中,才能让MCU具备仿真功能,在STC8系列里面,绝大多数型号是占用XRAM最后768个字节作为仿真程序的执行空间。烧录方法是使用STC-ISP助手的下载。

同理,上位机部分也是通过STC-ISP助手安装到Keil中(它和STC的芯片包一同注入到Keil当中)。

之后,在Keil里面选择硬件仿真,然后设置仿真COM口和波特率即可。

但我们有一些问题要特别注意,这是我们能够正确仿真的关键。

1.在Keil 的debug按钮按下之前,我们需要对MCU进行断电复位(最好是串口下载器也断电,防止其他应用占用这个COM口),让程序从仿真程序开始执行。

2.保证用户自己的程序,对XRAM的使用不得访问最后768个字节,也不能对这768个字节进行清零初始化( ELL已经对启动文件做了优化,大家不用担心)。

3.使用硬件仿真,会占用P3.0和P3.1两个IO口,要将串口1的工作IO切换到别的复用IO上。

4.仿真使用的通讯波特率(在Keil debug里面设置),要大于等于115200。

5.断点不易过多。

6.对于STC8,XRAM小于2K的型号,不建议使用硬件仿真,容易跑飞,可以先用资源丰富的型号仿真完毕,再烧录到对应MCU中。

7.仿真过程中,不能对MCU进行复位。

8.仿真过程中,要保证串口稳定(保证供电稳定)。

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值