事出有因
之前在网上买的digispark开发板一直没有时间去研究,digispark开发板似乎有4个版本
我手上的是这个版本,与上面的俩有细微的差别,但大同小异,基本都是一样的。
研究时发现商家给的资料都很老,网上找的相关内容也很少,导致我一直不知道用arduino ide如何上传自己写的代码,折腾了半天配置IDE支持环境有点眉目,结果上传方式不对不小心还把开发板的usb上传程序的bootloader覆盖掉了,导致就变砖了,计算机无法再通过USB识别开发板,插上去设备管理器中提示“显示未知USB设备(设备描述符请求失败)”,重装驱动也不行,换数据线换USB接口换电脑尝试都一样的情况。看来要救砖重新烧写boot loader了。
准备材料
- USB ISP编程器
网上很容易买到,玩家必备,我是黄色外壳那款,一定要带连接线
- micro usb数据线一根
请注意确保你的数据线是4根线芯的数据线,而不是只有2跟供电线的线缆,这种买小风扇小台灯送的线都是2芯的只能供电,不能传输数据!有很多人都不知道!
- 智峰下载器烧录软件PROGISP
网上很多,自行下载吧,我电脑里以前就一直有
- 连接开发板和USB ISP编程器的杜邦线
一头公头,一头母头
开始救砖刷boot loader
第一步,焊排针
将开发板带的xh2.54排针连接端子用电烙铁焊上去,以便待会连接杜邦线
第二步,明确引脚
连接杜邦线,首先要明确开发板上的P0-5的I/O口与芯片ISP功能引脚定义的对应关系,也就是要确定
板子上的
P0就是MOSI引脚
P1就是MISO引脚
P2就是SCK引脚
P5就是Reset引脚
再加上下面的GND和VIN共计6根线构成了ISP总线,下一步就要将开发板与ISP烧录器的连接线插座相连了
第三步,连接下载器
将ISP插头与板子连接,ISP插头的引脚定可以从USB外壳的图示上可以看到
在插头侧标注出来就如下图
杜邦线实物连接
第四步,下载boot loader
连接好后去GitHub上下载boot loader的hex固件GitHub固件地址链接
下载好后解压压缩包找到hex文件待用
第五步,烧录
打开烧录软件PROGISP
烧录成功后即救砖成功,同时也相当于更新固件为最新的
此时拔掉ISP烧录器 插上microUSB数据线,电脑即可正常识别到设备了(记得装驱动,我这里安装过了,不赘述)
查看boot loader版本
此时可以用Micronucleus工具查看固件相关信息了,下载地址Release Micronucleus V2.6 · micronucleus/micronucleus (github.com)
通过USB上传ArduinoIDE中编写的测试代码
编写好后千万别急着点上传按钮,一定要将编程器选成Micronucleus,否则一定会将usb通讯的bootloader固件覆盖掉,然后又变砖了,我之前就是看了很多资料都没有提到这点,最后才踩了坑。
具体发现这点的方式就是看到了国外的网站上的指导说明,链接:
Digispark Attiny 85 With Arduino IDE : 3 Steps - Instructables
里面有一张图的细节,才发现的正确打开方式,这样再去上传程序就不会再覆盖boot loader了。