机灵小老鼠 发表于 2023-7-16 21:37:50

测试STC32G12K128芯片的USB接口仿真功能,碰到问题请解答,谢谢

使用屠龙刀核心板 + type C USB电缆 ,PC端是win7(64位)+keil C251 5.60, 使用屠龙刀例程包 01-LED 第一个例程进行USB接口的仿真测试;


STC32G12K128芯片的USB接口仿真操作:
        1. 制作仿真芯片
                STC-ISP软件中,Keil仿真设置->单片机型号=STC32G12K128->勾选使用USB口进行仿真
                ->烧写操作区中选择设置用户程序运行时的IRC频率=你程序实际的频率值->将所选目标单片机设置为仿真芯片;
        2. 这个过程操作完成后,必须给芯片重新上电;
        3. Keil中的仿真设置
                Option for Target...->Debug属性页->选择右侧的硬件仿真“Use …”->在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项
                下面点击选择“Run to main()”->点击“Settings”按钮,进入接口的设置画面->选择USB接口;

      4. 然后编译工程,然后在Keil软件中按“Start/Stop Debug”或者“Ctrl+F5”就可以开始仿真调试;

出现问题:
        1. 单步执行时,会停滞在 “EAXFR = 1; //扩展寄存器(XFR)访问使能”;
           只有进入main()时,直接Run全速执行才能越过此行操作;
        2. Run全速执行时,程序会停止于 delay_ms() 函数的“while(--i);   //6T per loop”,
           并且此时只能单步操作;
        3. 此时,再执行Run,Step Out仿真操作也无效;

      4. 我更改程序编译优化级别 -0 或者 -9 之后, 重新编译烧写下载仿真程序之后, 以上3点现象依然不变
请教一下:
    出现这样的问题正常吗? 是不是我的设置操作有问题? 还是STC32G12K128 芯片的USB接口仿真没做好??

zhp 发表于 2023-7-17 09:30:34


STC32G12K128的USB仿真需要选择“STC Monitor-251 Drvier”驱动



正确的设置流程如下:






机灵小老鼠 发表于 2023-7-17 22:28:47

不好意思,我上面“STC Monitor-51 Driver”是手工输入的时候笔误了,实际就是 STC Monitor-251 Driver.
今天再按照您的示意设置重新测试了一遍,发现测试结果和我前面写的还是一模一样的.
我截图如下:

机灵小老鼠 发表于 2023-7-17 22:37:16

我的屠龙刀核心板的芯片是这样的,是不是和芯片批号有关系呢?

机灵小老鼠 发表于 2023-7-17 22:40:48

本帖最后由 机灵小老鼠 于 2023-7-17 22:46 编辑

我编译后的LED测试例程如下, 还请 zhp 抽空再帮我看看,谢谢先。
补充一下: 这个例程编译后,如果不使用USB仿真,而是直接用STC-ISP下载到芯片,流水灯操作结果是正常的;

机灵小老鼠 发表于 2023-7-18 21:22:18

请版主拨冗指点一下,谢谢

8051启蒙者 发表于 2023-7-19 15:40:44

技术正在测试中,楼主再等等哈。

jwd 发表于 2023-8-19 15:34:29

机灵小老鼠 发表于 2023-7-17 22:28
不好意思,我上面“STC Monitor-51 Driver”是手工输入的时候笔误了,实际就是 STC Monitor-251 Driver.
...

仿真时需要去掉usb部分吧
页: [1]
查看完整版本: 测试STC32G12K128芯片的USB接口仿真功能,碰到问题请解答,谢谢