我之前在网上购买了一个AVR UPDI下载器(使用芯片CH340N),当时的MacOS系统是10.13.6,安装了官网的CH34xVCPDriver-1.7.pkg驱动之后,一切使用正常。后来,因为我的Visual Studio Code突然不能用了,再加上还有些软件也需是更高版本的MacOS系统。所以,我被迫升级到了10.15.7。升级完之后,我安装了最新的Visual Studio Code,当然PlatformIO也随之更新了。结果问题来了:原来的AVR UPDI下载器不能使用了,下载程序的时候会提示:
Building .pio/build/ATtiny3224/firmware.hex
Configuring upload protocol...
AVAILABLE: jtag2updi
CURRENT: upload_protocol = jtag2updi
Looking for upload port...
Auto-detected: /dev/cu.wchusbserial1420
Uploading .pio/build/ATtiny3224/firmware.hex
avrdude: jtagmkII_getsync() attempt 1 of 10: sign-on command: status -1
avrdude: jtagmkII_getsync() attempt 2 of 10: sign-on command: status -1
然后,我用ls -l /dev/cu.*结果显示了以下两条记录:
/dev/cu.usbserial-1420
/dev/cu.wchusbserial1420
后来,我咨询了之前购买AVR UPDI下载器的开发人员。表示出现两条这样的记录肯定不对,应该只有cu.wchusbserial1420才对。后来,我在网上查询了一些资料,大多是说MacOS 10.15.7已经自带了CH340驱动,无须再安装其它第三方驱动。应该卸载掉第三方的驱动使用系统自带的。
于是,我按照文档卸载了CH34xVCPDriver-1.7驱动,/dev目录下倒是只有cu.usbserial-1420这一条记录了。但是,下载程序仍然出现上面的错误提示。后来,我想要不还是用CH34xVCPDriver-1.7驱动,把系统自带的驱动给停掉试试,/dev目录下倒是只有cu.wchusbserial1420记录了。但是,下载程序仍然出现上面的错误提示。
停掉系统自带的驱动我是在网上找的方法,是的单用户模式下把以下文件改了名字:
/System/Library/Extensions/AppleUSBPLCOM.kext.bak:
/System/Library/Extensions/AppleUSBSerial.kext.bak:
另外,我还把/Library/Extensions/目录下的FTDIKext.kext和FTDIUSBSerialDriver.kext文件给删了。但是,结果还是下载程序时出现上面的错误提示。
在此,我肯请沁恒的技术专家帮我出个主意,看看怎么解决这个问题,非常感谢!!!