ESP32 Linux串口驱动安装
开发环境
开发环境没啥好说的,去官方下载安装arduino或者从源里面安装即可。
然后在arduion设置中添加开发板网址
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
然后在去tools->board里面更新一下开发板,再安装一下esp32即可,开发的时候board选择 esp32 dev module就行了。
驱动安装
着重说一下驱动安装,因为这里面有个小坑,就是在linux下需要安装cp210x的串口驱动,但是官方的串口驱动对我目前的内核存在一处错误导致无法编译通过,需要手动修改一下
首先在这里下载驱动:https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
下载解压之后编辑cp210x.c
文件,替换如下
static int cp210x_port_remove(struct usb_serial_port *);
// 改成
static void cp210x_port_remove(struct usb_serial_port *);
// 下面同样把int改成void即可
static int cp210x_port_remove(struct usb_serial_port *port)
{
struct cp210x_port_private *port_priv;
port_priv = usb_get_serial_port_data(port);
kfree(port_priv);
return 0;//删除这一行
}
安装
make
cp cp210x.ko /lib/modules/`uname -r`/kernel/drivers/usb/serial/
sudo usermod -a -G uucp $USER
# Ubuntu:
sudo insmod /lib/modules/`uname -r`/kernel/drivers/usb/serial/usbserial.ko
sudo insmod cp210x.ko
# arch
sudo modprobe usbserial
sudo modprobe cp210x
然后在插入esp32,通过ls /dev/tty*
可以看到/dev/ttyUSB0
这样的设备名称就表示安装成功了。
然后去要注销重新登录一次,arduino才能正确使用设备。
参考资料
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/establish-serial-connection.html
https://ftdichip.com/drivers/vcp-drivers