|
基于arm最新的 cmsis-dap V2.1.1源码移植,只移植了SW,没有移植JATG,所以不支持JTAG。
PA08 -> SW_nRESET
PB15 -> SW_DIO
PB13 -> SW_CLK
CMSIS-DAP是arm开源的一款仿真器,支持HID接口和WinUSB接口
HID接口的优点是xp--win11都免驱,缺点是速度比WinUSB慢
WinUSB接口的优点是速度快,缺点是部分系统不免驱。
WinUSB不支持Win7之前的系统,在win7系统使用时需要手动安装驱动,win7之后的系统免驱(win8理论上是免驱的,没测试)
win7不能自动安装驱动,可以使用 zadig-2.8.exe 手动安装驱动。
测试芯片AT32F403ACG,在keil里面烧录一个512K的程序,
使用HID接口,烧录速度设置10M,擦除,烧录,校验,用时41.5秒
使用WinUSB接口,烧录速度设置10M,擦除,烧录,校验,用时20.8秒
使用J LINk,烧录速度设置50M,擦除,烧录,校验,用时18.7秒
目前仅是用GPIO模拟SW序,已经跟J LINK很接近了,要知道STM32F103C8的主频只有72M,J LINK用的是STM32F205,主频高达120M,
后期如果改成用硬件SPI,速度应该还有提升空间。
附件是两个烧录文件,一个用的是12M外部晶振,另一个用的是8M外部晶振,根据自己的板上晶振频率进行选择。
keil自带的这个功能很实用,方便一些没有复按键的PCB板,烧录成功之后程序可以直接运行,不需要手动复位,
但是市面上很多的仿真器不支持这功能,勾不勾选都不会让芯片复位运行程序,早几年用ST-LINK的时候也是这样,
不知道现在ST-LINK现在有没有支持这个功能,
J-LINK是支持这个功能的,
当然我写的这个固件也支持这个功能
我测试用的芯片是STM32F103C8T6,理论上可以直接烧录到一些兼容ST的国产芯片上。
目前网上的USB公开资料较少,学习难度相比其它外设要难很多,如果有兴趣想学习USB的可以私信我,提供有偿指导。
目前已经调通的USB类有WinUSB,HID,MSC,CDC,这4个类可以任意组合做成复合设备。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|