目前ART采用的是芯片内部自带的bootloader——DFU,进入bootloader下载代码需要手动操作(即先按住DFU按键,再按一下reset按键),这样相对麻烦。
下面列举一些其他进入bootloader的方式:
1)Arduino Uno
Uno采用芯片ATmega328不带有USB接口,使用一块ATmega16u2实现USB-to-UART,USB-to-UART的DTR通过一个100nf电容连接到ATmega328复位引脚,以此实现软件复位。复位后先进入bootloader,有一段时间等待下载代码。
2)Arduino leonardo——
leonardo采用ATmega32u4,带有USB接口,bootloader和用户代码都通过USB CDC设备模拟串口。复位通过以1200波特率打开串口然后关闭串口触发,之后进入bootloader,有一段时间等待下载代码。另外,leonardo上电复位是不会运行bootloader的,直接跳到用户代码。
3)Maple——
http://leaflabs.com/docs/bootloader.htmlMaple采用STM32F103,bootloader将USB设为DFU设备,用户代码将USB设为CDC设备。用户代码运行时,在模拟串口的DTR产生一个下降沿(软件模拟的),随后发送“1EAF”,在这两个条件下Maple进行复位,先进入bootloader,有一段时间等待下载代码。
查看更多