找回密码
 立即注册
查看: 556|回复: 7

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

[复制链接]

该用户从未签到

4

主题

27

回帖

116

积分

注册会员

积分
116
发表于 2023-7-16 21:37:50 | 显示全部楼层 |阅读模式
使用屠龙刀核心板 + 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接口仿真没做好??
回复 送花

使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    16

    主题

    730

    回帖

    2638

    积分

    超级版主

    积分
    2638
    发表于 2023-7-17 09:30:34 | 显示全部楼层

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


    正确的设置流程如下:
    2.png


    3.png


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    回帖

    116

    积分

    注册会员

    积分
    116
     楼主| 发表于 2023-7-17 22:28:47 | 显示全部楼层
    不好意思,我上面“STC Monitor-51 Driver”是手工输入的时候笔误了,实际就是 STC Monitor-251 Driver.
    今天再按照您的示意设置重新测试了一遍,发现测试结果和我前面写的还是一模一样的.
    我截图如下:
    Debug-set.jpg
    Utilities-set.jpg
    单步执行时,停滞在EAXFR =1 位置.jpg
    Run执行时程序自动停止在 delay_ms()函数中的 while(--i); 处.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    回帖

    116

    积分

    注册会员

    积分
    116
     楼主| 发表于 2023-7-17 22:37:16 | 显示全部楼层
    我的屠龙刀核心板的芯片是这样的,是不是和芯片批号有关系呢?
    屠龙刀核心板的CPU芯片.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    回帖

    116

    积分

    注册会员

    积分
    116
     楼主| 发表于 2023-7-17 22:40:48 | 显示全部楼层
    本帖最后由 机灵小老鼠 于 2023-7-17 22:46 编辑

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

    01.zip

    87.61 KB, 下载次数: 27

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    回帖

    116

    积分

    注册会员

    积分
    116
     楼主| 发表于 2023-7-18 21:22:18 | 显示全部楼层
    请版主拨冗指点一下,谢谢
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    擦汗
    8 小时前
  • 签到天数: 111 天

    [LV.6]常住居民II

    14

    主题

    628

    回帖

    2421

    积分

    超级版主

    积分
    2421
    QQ
    发表于 2023-7-19 15:40:44 | 显示全部楼层
    技术正在测试中,楼主再等等哈。
    www.STCAI.com
    微信&手机:18106296591
    QQ:3133693787
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 198 天

    [LV.7]常住居民III

    26

    主题

    958

    回帖

    2462

    积分

    金牌会员

    积分
    2462
    发表于 2023-8-19 15:34:29 | 显示全部楼层
    机灵小老鼠 发表于 2023-7-17 22:28
    不好意思,我上面“STC Monitor-51 Driver”是手工输入的时候笔误了,实际就是 STC Monitor-251 Driver.
    ...

    仿真时需要去掉usb部分吧
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-6-13 17:34 , Processed in 0.078080 second(s), 60 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表