CH55X在线仿真方法说明——使用ISD51进行在线仿真


    本文主要介绍使用ISD51CH55x单片机的仿真方法,并给出简单操作例程。

 

优点

         无需硬件电路需求;

         可以存在于最终产品中,ISD51免费使用;

         串口可继续用于通信,或printf()打印调试。

缺点

         使用软件断点程序运行速度相对较慢

         若其他和ISD51系统中断优先级一样或更高,系统就不能再设置断点或单步执行,默认状态ISD51中断函数优先级为0

         仅能ISD51中断和全局中断全部打开时ISD51才能生效,如此,也可以使ISD51在程序运行时停止工作。

支持功能

    基本硬件调试功能都能支持,如:变量监视,设置断点等。

使用方法

         1.ISD51.A51ISD51.H加入项目工程;

         2.初始化串口,配置合适的波特率,最后必须使能全局中断;

         3.选择合适的ISD51初始化函数;

                   ISDinit():初始化并运行用户程序,如果KEIL与单片机通信成功,程序就会立即终止运行

                   ISDwait():初始化ISD51并一直等待KEIL连接上

                   ISDcheck():周期性检查ISD51连接

         4.编译用户程序烧录到单片机内;

         5.KEIL -> option for target -> DEBUG 设置选择ISD51 In-system Debugger,在setup里设置与ISD51串口初始化相对应的串口波特率。

    6.点击DEBUG按钮进入硬件调试模式。

         ISD51接口函数可在KEIL帮助文档中查到。

         blob.png

          

            blob.png

1 ISD51配置设置

波特率与COM口根据需要自己设置,因为IDS51为动态配置连接,所以ISD51 Identification 信息可以忽略。

 

错误排查:

       1 KEIL 串口的设置于MCU串口设置不匹配,如串口号,波特率等信息。

       2:单片机只能使用串口0进行在线仿真,不可以使用其他串口。

仿真时可以先测试串口是否正常,先用串口调试工具下发0XA5,单片机正常跑DEBUG程序的时候会相应0xF7,0xFF,0x00,0x00,0x09,0x19,0xAC,如果收到如上所示代码,说明ISD设置正常

    3.必须先烧录带有ISD51的hex文件给单片机,之后才能进行硬件仿真


icon_rar.gifGPIO_TEST_BY_ISD51.rar



我串口工具下发0XA5,返回0xF7,0xFF,0x00,0x00,0x09,0x19,0xAC , 可是想进行仿真的时候,出现了这个界面,是怎么回事呢,


a.jpg


我用的就是 GPIO_TEST_BY_ISD51.rar  这个例子程序


这个只能仿真部分功能,如果使用USB功能,是无法仿真的。


CH552手册上介绍寿命是200次左右,仿真会不会加速flash失效?



仿真和flash寿命没有必然联系。这里面仿真的本质是,串口通讯控制代码流程。但是影响flash寿命的flash的擦写。


仿真是个好东西,不过不能仿真usb倒是没什么意思了。这个芯片理论200次有点少,都9102年了,起码2000次起步吧。


擦写一般在开发阶段多一些,产品定型升级200次,这个产品估计也会被做死掉。

如果比较在意这个次数,可以看看559,擦写10万次。



对不起,我的中文只是一个谷歌翻译。我是德国人


我更改了isd51文件以更好地支持ch552设备。 使用这些文件,可以将调试端口配置为uart0或uart1。 此外,它可以使用闪断点。 但请注意:如果启用,您可能很快就会破坏闪光灯。


如果使用闪存断点,调试器将以原始速度运行。 如果不使用,调试时间大约慢100倍

使用Configuration Editor设置isd51选项




mm我怎么能在这里上传文件?
上传按钮似乎无法正常工作


image.png

回帖,添加附件,然后上传。


你好,请问你在使用CH552时遇到了什么问题吗?


icon_rar.giftest_Isd-1.zip

use it as you want.


郁闷啊,我参照GPIO_TEST_BY_ISD51的例程做CH552的仿真,死活不能通过!

上电,在电脑串口端收到“INIT OK!”“hello CH55X!”

发A5,收到“F7 FF 00 00 10 F3 9D”


Options...---Debug也作了相应的串口号和波特率配置,点按"Start Debug"就是进不了仿真状态

哪位大神帮忙解决一下,不胜感激!


只有登录才能回复,可以选择微信账号登录