zoukankan      html  css  js  c++  java
  • FT232RL变砖之后

    FT232RL是个是神奇的片子,说万能可能有些夸张,但是。。。总之就是FTDIChip这个神奇的公司基于类似的技术,做了很多好用的产品,包括转IIC啦,转SPI啦,密码狗啦之类的。是个很有用的工具就对了。

    言归正传。用一句话描述起因呢就是,错用了D2XX里面的FT_ProgramEx这个函数之后,片子内部的Firmware各种混乱。

    1、VID、PID与INF文件

    首先,VID和PID都错乱了,原来的驱动没法用。百度之,啊哈,发现可以通过修改inf文件,来使原来的驱动可以支持新的VID和PID。

    因为我的VID和PID都变成了cccc,所以在ftdiport.inf文件中添加:

    %VID_cccc&PID_cccc.DeviceDesc%=FtdiPort.NT,FTDIBUSCOMPORT&VID_cccc&PID_cccc

    在ftdibus.inf里面添加

    %USBVID_cccc&PID_cccc.DeviceDesc%=FtdiBus.NT,USBVID_cccc&PID_cccc

    OK,重新给无法识别的器件添加驱动,然后它又变得可以识别了。

    这里可以分析下inf文件,很显然,驱动支持哪些VID和PID,可以通过修改inf文件来实现。首先,系统是会去读inf文件,看该驱动能不能支持刚插入的器件;然后,驱动会使用该VID和PID去识别期间,类似于Linux写驱动时的主设备号和子设备号。

    2、下载libftd2xx1.1.12.tar.gz

    额,虽然可识别了,但是用FT_ProgrammEx是没法再把Firmware给设置正确了,操作一次后,一插器件上来,windows就蓝屏。

    所以,改在linux下面修改VID和PID再试。

    先下了在Linux的D2XX支持包libftd2xx1.1.12.tar.gz过来。

    唔,下这个包我抽了至少五根烟,虽然他只有34k大小,主要是服务器那边连接一直断。。。开始时候用chrome,断一次,手动点击连接一次。。。重复几次之后就没耐心了。所以,用上了wget。无限次尝试下载,断开连接1秒后尝试重新连接。

    wget --tries=inf --read-timeout=10 http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx1.1.12.tar.gz

    第一次设的是1s,结果不停在尝试连接,然后就设置为10s了,这样每10s尝试连接一次,开始时候总是速度很快,哦哈哈

  • 相关阅读:
    微信小程序使用canvas画布实现当前页面截屏并分享
    微信小程序分享转发用法大全——自定义分享、全局分享、组合分享
    小程序条形码插件wxbarcode的使用及改进
    支付宝小程序开发——修改小程序原生radio默认样式
    常用maven配置
    Android Studio 星云常用配置工具箱
    星云最佳实践功法秘籍
    Intellij Idea 星云常用配置工具箱
    那些好用的Chrome 插件
    星云的Linux专用学习手册
  • 原文地址:https://www.cnblogs.com/pied/p/3107126.html
Copyright © 2011-2022 走看看