如标题所述,目前打算直接使用KBOOT 1.1.0,HID模式。
但粗测了一下,升级速度实在是看不下去,太慢了(数据包过短),我都怀疑这货是不是USB。
目前对于HID类没接触过,所以想请教一下大家,是否有提速的方法,怎么实施?
如果没法提速的话,那我想,这释放出来的KBOOT HID,只能算是实验室的产品
如果是为了免去编写PC端的驱动的话,那么我想CDC-ACM虚拟串口,也可完成,而且跟操作串口无两样,这速度才能真正体现USB的优势。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
在device端调整这个size是OK的,是可以将HID的report数据包增大,从而减少分包数量。
至于昨天为什么验证失败,那是因为PC端并不是根据device来自动调整的,PC端也需要我们重新编译释放,昨天木有重新释放PC端的程序。
今天我将PC端的blfwkdll.dll重新编译释放,就OK了(PC端也直接依赖了command_packet.h的kMinPacketBufferSize定义,此时只需build动作)。
同时做如下调整:
1、HID的端点的中断interval,由10ms调整为1ms,缩短PC端HID的访问时间
2、撤销昨天的100ms调整为5ms的动作,还原为原有100ms
3、修改FSL的通信协议,调整为:在data phase阶段,每一包都有应答,一般情况应答success,当我们想abort传输时,应答abort
这样,就不用每次都空等100ms(因为原先的协议,正常下不会发任何数据包)
只要device处理完毕,就可以立即应答,这样PC端就可以立即响应应答,做出下一步的抉择,从而打通顺畅整个通信的脉络
经过这样的调整,发送升级61KB的数据,时间缩短至
Successful generic response to command 'write-memory'
- took 8.553 seconds
我们可以看出,从原先龟速的 204.359 seconds,缩短至 8.553 seconds,是23倍的提速,而这样的时间,才是可以接受的。
至此,此问题就算结案了,我写下这些,希望对大家能有所帮助~
一周热门 更多>