使用cp210x-cfg CLI实用程序进行CP210x USB<->UART桥编程

需积分: 13 0 下载量 76 浏览量 更新于2024-12-23 收藏 7KB ZIP 举报
资源摘要信息:"cp210x-cfg是一个命令行界面(CLI)实用程序,用于编程和配置CP210x系列USB至UART桥接器。这个系列的桥接器广泛应用于计算机与串行设备之间的通信。CP210x桥接器由Silicon Labs公司生产,支持诸如CP2102和CP2105等型号的芯片。 cp210x-cfg实用程序的主要功能包括但不限于: - 修改供应商ID(VID) - 修改产品编号(Product ID) - 配置产品名称字符串 - 设置序列字符串 - 编辑缓冲区刷新位图 - 调整串行控制器接口(SCI)或增强型串行控制器接口(ECI)的GPIO/调制解调器模式 此程序的开发目的是提供一个替代官方提供的Silicon Labs CP21xx定制实用程序的脚本方法。它在CP2102和CP2105芯片上经过测试,以确保其兼容性和功能性。 在使用cp210x-cfg进行配置时,需要注意的是,对CP210x的配置字段进行编程是一次写入操作。这意味着一旦写入错误的值,是不可逆的,可能会导致桥接器配置错误,从而影响正常工作。因此,在进行任何编程之前,必须非常小心,确保所有设置都是正确的。 当说到VID/PID,这指的是通用串行总线(USB)设备的唯一识别码,VID代表供应商ID,由USB-IF分配,而PID代表产品ID,用于标识特定的产品。如果需要将VID/PID修改为0000:0000,这通常不是一个推荐的操作,因为它可能违反USB规范或设备的特定要求。然而,如果用户已经由于编程错误而搞砸了VID/PID,文件中提到了一个可能的解决方案:在Linux环境下,可以通过修改cp210x驱动程序注册的VID/PID组合来纠正此错误。具体操作方法是在终端中执行特定的echo命令,将新的VID/PID组合重定向到/sys/bus/usb-serial/driver文件中,从而更新驱动程序注册的信息。 此外,cp210x-cfg实用程序是用C语言编写的,这可以从标签"C"中得知。这意味着它应该能在多种操作系统上编译和运行,只要有合适的开发环境和依赖库。 至于"压缩包子文件的文件名称列表"中的"cp210x-cfg-master",这很可能是指该CLI实用程序的源代码仓库的名称,其中"master"表明这是源代码的主分支或主版本。从这个名称中可以推测,该源代码可以通过版本控制系统(如Git)进行管理,用户可以从该仓库克隆或下载源代码进行本地编译和使用。 综上所述,cp210x-cfg是一个专门为CP210x USB至UART桥接器设计的编程工具,它提供了一种灵活的方式来配置桥接器的多种参数,并且提供了一种潜在的修复因错误配置VID/PID的方法。它的开发展示了开源软件在硬件配置和问题解决中的作用。"
1067 浏览量
This bundle contains a modified CP210x driver for the 4.10.0 kernel (Ubuntu 17.04). It contains: - Support for the CP2102N NOTE: This driver is an example of how to perform GPIO operations within the CP210x driver since the driver on kernel.org does not support GPIO at this time. This driver has only been written and tested on the Linux 3.13.0 kernel on Ubuntu 14.04. This driver is a modified version of the existing driver in the Linux 3.13.0 kernel, which is maintained at kernel.org. It is recommened to use the driver there that matches your specific kernel version: www.kernel.org Build instrutions: Ubuntu: 1. make ( your cp210x driver ) 2. cp cp210x.ko to /lib/modules//kernel/drivers/usb/serial 3. insmod /lib/modules/<kernel-version/kernel/drivers/usb/serial/usbserial.ko 4. insmod cp210x.ko RedHat: 1. yum update kernel* //need to update the kernel first otherwise your header won't match 2. yum install kernel-devel kernel-headers //get the devel and header packages. 3. reboot //your build link should be fixed after your system come back 4. make ( your cp210x driver ) // should be able to build successfully at this point 5. cp cp210x.ko to /lib/modules//kernel/drivers/usb/serial 6a. insmod /lib/modules/<kernel-version/kernel/drivers/usb/serial/usbserial.ko 6. insmod cp210x.ko 7. sudo chmod 666 /dev/ttyUSB0 8. sudo chmod 666 /dev/ttyUSB1 GPIO example: This shows how to use the two IOCTLs to set GPIO state. Build instructions: 1. g++ cp210x_gpio_example.c -o cp210x_gpio_example 2. ./cp210x_gpio_example