找回密码
 立即注册
查看: 746|回复: 16

USB下载,只能是冷启动吗? | 已解决, 可以用软复位

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-9-4 08:47:06 | 显示全部楼层 |阅读模式
本帖最后由 tzz1983 于 2024-9-4 20:42 编辑

USB下载,只能是冷启动吗?
型号: STC32G12K128
最近在调试项目时,用USB下载代码,按下3.2断电冷启动,可以识别 USB Writer HID1

不断电,用软件软复位时不能识别,以下代码
        if(!P32){
            IAP_CONTR=0X60;
        }

手册上说软复位可以, 是不是我忽略了什么细节?大家帮忙看看

截图202409040846334260.jpg

****************************************************************
已解决问题

感谢各位回复,原因已经找到, 是因为我本身已经开启了USB应用,
软复位时电脑还没来得及断开上一次的USB连接
经过改良,现在已经成功,代码如下:

        if(!P32){
            USBCON = 0x00;    //先禁用USB功能
            delay_ms(2);          //等2毫秒,  电脑检测到USB设备掉线, 才会枚举新的设备
            IAP_CONTR=0X60;     //现在重启,可以成功检测到 USB Writer HID1
        }

总结: USB软复位至 USB下载代码, 如果应用本身没有USB应用,简单的一句 IAP_CONTR=0X60;  即可,
          如果本身有USB应用,则断开USB连接后,再执行 IAP_CONTR=0X60; 才保险。




回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-9-4 09:19:58 | 显示全部楼层
wnag*** 发表于 2024-9-4 09:02
手动时,启动后还得保证P32脚低电平,软件复位P32脚设置低电平,然后复位,试试 ...

必须的呀,一直都按着3.2按键的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-9-4 09:28:41 | 显示全部楼层
软件复位进入USB下载模式也没什么特别的,用USB线连接电脑跟芯片就可以,试试附件例子。

跑马灯 - 不停电下载.zip

15.08 KB, 下载次数: 67

点评

**************************************************************** 已解决问题 感谢各位回复,原因已经找到, 是因为我的用代本身已经开启了USB应用, 软复位时电脑还没来得及断开设备,即无法达到条件,P30 ==  详情 回复 发表于 2024-9-4 10:02
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-9-4 09:29:14 | 显示全部楼层
软复位USB下载我试的可以

点评

我也试成功了,这前因为我的应用本身设备模式没有完全断开,改良后可以了,谢谢  详情 回复 发表于 2024-9-4 10:07
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-9-4 10:02:15 | 显示全部楼层
本帖最后由 tzz1983 于 2024-9-4 20:42 编辑
乘风*** 发表于 2024-9-4 09:28
软件复位进入USB下载模式也没什么特别的,用USB线连接电脑跟芯片就可以,试试附件例子。 ...

****************************************************************
已解决问题

感谢各位回复,原因已经找到, 是因为我本身已经开启了USB应用,
软复位时电脑还没来得及断开上一次的USB连接
经过改良,现在已经成功,代码如下:
        if(!P32){
            USBCON = 0x00;    //先禁用USB功能
            delay_ms(2);          //等2毫秒,  电脑检测到USB设备掉线, 才会枚举新的设备
            IAP_CONTR=0X60;     //现在重启,可以成功检测到 USB Writer HID1
        }
总结: USB软复位至 USB下载代码, 如果应用本身没有USB应用,简单的一句 IAP_CONTR=0X60;  即可,
          如果本身有USB应用,则断开USB连接后,再执行 IAP_CONTR=0X60; 才保险。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-9-4 10:07:20 | 显示全部楼层
本帖最后由 tzz1983 于 2024-9-4 10:08 编辑
Debu*** 发表于 2024-9-4 09:29
软复位USB下载我试的可以

我也试成功了,这前因为我的应用本身USB设备模式没有完全断开,即对于电脑来说,上一次的USB连接还没断开,改良后可以了,谢谢

点评

哦对,我当时也发现了这个问题  详情 回复 发表于 2024-9-4 10:10
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-9-4 10:10:53 | 显示全部楼层
tzz1*** 发表于 2024-9-4 10:07
我也试成功了,这前因为我的应用本身USB设备模式没有完全断开,即对于电脑来说,上一次的USB连接还没断开 ...

哦对,我当时也发现了这个问题
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-9-4 12:00:56 | 显示全部楼层
还有这种操作啊,以为只要复位就进入模式,结果前提是要先断开在连接啊

点评

只有USB设备模式已连接才需要。电脑不知道你在重启,USB是1毫秒一个SOF,也就是说你重启了,电脑要1毫秒以后才知道。  发表于 2024-9-4 12:56
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:183
  • 最近打卡:2025-04-28 10:14:30
已绑定手机

0

主题

42

回帖

1322

积分

金牌会员

积分
1322
发表于 2024-9-4 14:23:14 | 显示全部楼层
学习了.
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-9-4 21:17:14 | 显示全部楼层
才发现这个秘密,  
软复位其实不需要 P3.2 == 0 , 就可以直接进USB下载引导 USB Writer HID1 ,

只要设置任意端口:
        if (!Pxx){
            IAP_CONTR=0X60;     //如果自身不包含USB相关的应用,这一句就够了
        }


如果本身就是USB应用,则需要多加两句来断来原有的USB连接:
        if(!Pxx){
            USBCON = 0x00;        //禁用USB功能
            delay_ms(2);              //等电脑检测到USB设备掉线
            IAP_CONTR=0X60;     //软复位, 电脑重新枚举到 USB Writer HID1
        }

还是挺方便的
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 06:25 , Processed in 0.143579 second(s), 124 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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