V5.10 DebugServer中CKLINK驱动更新说明

简介: V5.10 DebugServer中CKLINK驱动更新说明

1 更新驱动的原因
CKLINK之前使用的是 libusb 驱动。在T-HEAD客户增加后,libusb 在很多 windows环境下出现各种不能使用的问题。基于此,后续更新CKLINK的驱动为 WinUSB。 WinUSB为Windows自带USB设备通信驱动,在Win8 及以后的系统,只需要CKLINK设备在插入电脑后,将其兼容设备描述为 WINUSB 兼容的设备,Windows则会 为CKLINK加载 WinUSB 驱动。

终极目标:Win10及以后的Windows操作系统,CKLINK不再需要安装驱动,插上即可使用, Linux下无影响。

2 更新驱动方式
驱动更新,需要DebugServer安装包更新驱动,CKLINK驱动更新,下面是对更新的几点说明:
CKLINK 固件更新: 固件更新会在5.10.x 版本的DebugServer连接时检测到老的CKLINK设备时,DebugServer会提示更新固件,用户选择“是” 后更新固件;CDS, CDK连接ICE时会自动更新固件,不提示。 驱动更新:DebugServer 5.10.x 的安装包会携带新的驱动安装,同样,携带5.10.x版本DebugServer 的CDS,CDK安装包,在安装时会更新新的驱动

3 原驱动呈现方式
libusb 的设备会在Windows设备管理器中的“libusb-win32 devices” 下显示,类似
image.png

4 新的驱动呈现方式此时涉及3个呈现方式:
由于DebugServer 5.10 代码的改动,如果CKLINK未更新固件,未安装5.10携带的驱动,则5.10版本的DebugServer无法连接CKLINK设备(即呈现为 libusb-win32 devices的 设备无法使用5.10连接) 如果CKLINK未更新固件,但更新了5.10携带的驱动,则CKLINK在设备管理器中呈现为“libusbK USB Devices”, 类似,V4.x 到 V5.10 版本的DebugServer均可连接使用 image.png
如果CKLINK已更新固件,5.10携带的驱动也已更新,则CKLINK在设备管理器中呈现为“通用串行总线设备”, 类似, 只可使用V5.10.x 版本的DebugServer连接 image.png

5 DebugServer版本使用
由于CKLINK设备硬件设计的原因,可以更新为 WINUSB 设备的只有2种:
CKLINK_LITE V2, 目前口中所说的 lite盒子,或者小盒子 CKLINK_PRO_V2, 目前口中所说的 CKLINK_PRO B, 长条形的大盒子,CKLINK_PRO,其使用方口的USB线连接 另外的CKLINK_PRO_V1, 目前口中所说的CKLINK_PRO A,CKLINK_V1, 只有更新驱动后,设备管理器显示为“libusbK USB Devices”后,才可使用V5.10 的DebugServer连接。

总结为:
对于WINUSB,显示为“通用串行总线设备”,只能使用 V5.10 的DebugServer连接 对于libusbK,显示为“libusbK USB Devices”, 可以使用 V4.x ~ V5.10 的DebugServer连接 对于libusb,显示为“libusb-win32 devices”,只能使用 V4.x ~ V5. 8.x 的DebugServer连接

6 如何手动更新libusbK驱动
对于不能更新为WINUSB的CKLINK设备,或固件还没有更新的CKLINK设备,手动跟新为libusbK驱动的操作方法:
首先安装V5.10 的DebugServer 打开电脑设备管理器–》libusb-win32 devices–》看到下面的设备–》右击卸载设备(同时勾选卸载驱动)–》卸载完成后USB端拔出设备 重新插入设备,查看设备管理器,此时cklink设备将在 “其他设备” 中显示 右击cklink-xxx设备–》点击更新驱动 --》浏览我的计算机以查找驱动程序–》 将目录指向libusbK驱动包目录 C:xxxCSkyDebugServerdriverslibusbk (请注意是driver-libusbk,过程中请选择信赖"来自平头哥半导体有限公司"的软件) 此时设备会跳转至libusbK USB Devices 中显示,请确认设备上无感叹号,之后可以使用 V5.10 的 CSkyDebugServer软件进行连接 如果是外面的用户,可从https://cop-image-prod.oss-cn-hangzhou.aliyuncs.com/resource/420262990181302272/1584428322464/cklink_dirvers.zip 获取 libusbK的驱动。 该驱动也可以解决 V4.x ~ V5.8.x中 libusb 驱动无法使用的问题。

7 CKINK 固件更新后如果降级
可使用UI 版本的DebugServer的 Tools -》Upgrade firmware 或快捷键 选择:
image.png
CKLINK PRO B选择V4.x ~V5.8.x DebugServer 安装目录的 cklink_pro.iic CKLINK_LITE V2 选择V4.x ~V5.8.x DebugServer 安装目录的 cklink_lite.hex

8 针对未安装驱动的ICE,或不知道安装何种驱动的情况
如果用户从未安装过CDK,CDS,DebugServer安装包,或因其他原因将 ICE 的驱动卸载时,可依据一下方法安装驱动:
将ICE插入电脑,在设备管理器的 “其他设备” 或 libusb-win32 devices标签下查看,寻找 CKLINK-xxx 的设备 查看其硬件ID
image.png
如果“硬件ID” 显示 VID_C510, 则根据【6如何手动更新libusbK驱动】更新 driver-libusbK驱动 如果“硬件ID” 显示 VID_32BF, 则根据【6如何手动更新libusbK驱动】更新 driver-winusb驱动(区别是手动选择驱动目录时,选择C:xxxCSkyDebugServerdriverswinusb)

9 其他问题
为什么会有libusbK USB Devices? 是因为DebugServer代码为了兼容windows和linux,在Windows上连接未更新固件的CKLINK时需要libusbK的驱动 Win7 是否要安装驱动? 一定要,因为Winusb设备在Win8 及以前的系统上还是需要安装WinUSB驱动 WinUSB不是免驱动吗,win10 是不是不需要安装驱动? 一定要,因为V5.10在连接未更新固件的CKLINK,或者连接cklink_v1时,还是需要使用 libusbK 驱动 CKLINK_V1, 由于硬件设计原因,无法更新固件,故在使用V5.10 的DebugServer连接时只能在更新驱动为 libusbK 后才能使用 DebugServer为何不强制更新固件? 因为各种版本的存在,用户更新固件后,V4.x ~ V5.8.x 的DebugServer 将无法连接,所以此处不强制更新。

相关文章
|
10天前
|
关系型数据库 MySQL API
安装驱动
安装驱动。
12 3
|
3月前
2023驱动保护学习 -- 通过代码实现驱动卸载
2023驱动保护学习 -- 通过代码实现驱动卸载
15 0
|
3月前
|
Go 开发工具 C++
2023驱动保护学习 -- 创建第一个驱动程序
2023驱动保护学习 -- 创建第一个驱动程序
27 0
|
3月前
|
数据库 C++
2023驱动保护学习 -- 通过代码实现驱动加载
2023驱动保护学习 -- 通过代码实现驱动加载
12 0
|
3月前
2023驱动保护学习 -- 通过驱动保护进程
2023驱动保护学习 -- 通过驱动保护进程
18 0
|
3月前
2023驱动保护学习 -- 创建驱动设备及符号链接并实现删除操作
2023驱动保护学习 -- 创建驱动设备及符号链接并实现删除操作
18 0
|
3月前
驱动保护 -- 读取被保护的数据
驱动保护 -- 读取被保护的数据
16 0
|
4月前
|
Windows
5.1 Windows驱动开发:判断驱动加载状态
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息。该功能实现的核心函数是`NtQuerySystemInformation`这是一个微软未公开的函数,也没有文档化,不过我们仍然可以通过动态指针的方式调用到它,该函数可以查询到很多系统信息状态,首先需要定义一个指针。
38 0
5.1 Windows驱动开发:判断驱动加载状态
|
5月前
|
存储 Cloud Native Linux
C++ 表驱动方法代替if-else
C++ 表驱动方法代替if-else
|
9月前
|
Ubuntu Linux
测试虚拟驱动vivi
测试虚拟驱动vivi
91 0