在线时间0 小时
UID94862
ST金币0
蝴蝶豆0
注册时间2007-12-3
新手上路
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2011-6-7 15:59:28
|
显示全部楼层
a0a.1 0b0c
回复:STM32F217 VirtualCOMPort IAP功能 问题~~!
回复第 3 楼 安于2011-06-03 07:29:58发表:
你这个问题解决的办法最好通过PC机软件来结局,比如当检测到这个端口无效的时候,自己断开,然后等待有效的时候,再重新执行USB串口的连接。如果跳转你可以使用类似从bootloader跳转到APP的指令来实现。但是,这样就会在每次跳转以后重新初始化USB,所以这个还是不可取的。如果可以使用MCU本身的串口来做,这个就可以避免。
谢谢你的回答, 由于上位机不能修改,所以我想还是从MCU入手. 现在我有两个猜想:
1. 如果使用类似Bootloader跳转到APP的指令来实现, 在从APP跳转到Bootloader前,不对USB寄存器进行复位, 跳到Bootloader后,也不重新初始化USB寄存器. 这样的话是否可以使USB外设保持工作,使PC不重新枚举USB设备呢?
2. 依旧使用SystemReset的方式实现从APP跳转到Bootloader, 但是人为地在DP管脚上增加1.5Kohm 3.3V上拉, 以此欺骗PC, 使PC不重新识别USB设备, 这样跳到Bootloader后继续使用VCP.
上述第一种方案已作测试, 但是JumptoBootloader后,能运行Bootloader的代码,且能响应中断, 可以在JTAG调试下单步运行, 但只要点击全速运行,则会跑到HardfaultHandler.
第二种方案仍未尝试.
请问斑竹对上述两种方案的可行性有什么看法呢? 谢谢~ ^_^ |
|