suoma 发表于 2017-9-18 22:47:10

(已解决)uno板子通过ICSP烧写后,再通过USB口烧录就会出问题吗?

本帖最后由 suoma 于 2017-9-19 20:01 编辑

呜呼
因为源程序在另一个电脑,手头的电脑只有hex程序,今天便通过USB ASP下载器接ICSP直接给uno烧了程序,然后再通过usb口烧回blink时,发现这样了

试了好几次,好像bootloader出了问题,连上USB ASP,显示“编程器接线错误”
uno板子通过ICSP烧写后,再通过USB口烧录就会出问题吗?
这段时间已经锁死了好几个328芯片了,这个好端端的uno开发板怎么救回啊?换芯片?有源晶振?心累啊

Paderboy 发表于 2017-9-18 23:22:08

你先确定,是芯片锁死还是bootloader丢了? 如果bootlooder 掉了,再重新用ISP烧上去。。。

suoma 发表于 2017-9-19 08:50:33

Paderboy 发表于 2017-9-18 23:22
你先确定,是芯片锁死还是bootloader丢了? 如果bootlooder 掉了,再重新用ISP烧上去。。。

板子之前肯定是有bootloader的,估计是芯片锁死,现在连上下载器就报进入编程模式错误

Zeye_Pendragon 发表于 2017-9-19 09:56:34

用编程器下载会把bootloader刷掉的,换来的是多了几kflash空间(原本存放的bootloader)

suoma 发表于 2017-9-19 12:42:46

Zeye_Pendragon 发表于 2017-9-19 09:56
用编程器下载会把bootloader刷掉的,换来的是多了几kflash空间(原本存放的bootloader)

早上编程器又可以识别了,可能固件有关,通过usb口下载报错如图。那我现在通过编程器把bootloader下进去,是不是就可以正常usb下载了?

suoma 发表于 2017-9-19 13:09:04

Zeye_Pendragon 发表于 2017-9-19 09:56
用编程器下载会把bootloader刷掉的,换来的是多了几kflash空间(原本存放的bootloader)

如果是自己做的板子,未留usb烧录功能,每次都通过下载器经Icsp下载,是不是也会把bootloadet刷掉?

Paderboy 发表于 2017-9-19 23:30:27

suoma 发表于 2017-9-19 13:09
如果是自己做的板子,未留usb烧录功能,每次都通过下载器经Icsp下载,是不是也会把bootloadet刷掉?

自己做板子,如果刷uno的bootloader 就得通过串口下载。。直接用isp方式下载就会破坏原有的bootloader。。

kirbyklein 发表于 2017-9-20 11:49:32

arduino ide 编译后有两个HEX文件,一个是带bootloader的,一个是不带的。如:XXX.ino.hex和XXX.ino.with_bootloader.hex。
你是不是把前面那个用ICSP烧进去了,所以再接USB就不认了。如果烧后面那个以后就还能用USB继续烧

suoma 发表于 2017-9-21 19:59:15

kirbyklein 发表于 2017-9-20 11:49
arduino ide 编译后有两个HEX文件,一个是带bootloader的,一个是不带的。如:XXX.ino.hex和XXX.ino.with_b ...

明白了,我刷的是arduino-1.0.5\hardware\arduino\bootloaders\optiboot下的那个,没找到XXX.ino.with_bootloader.hex这种文件名的,你说的这个是哪个文件编译得到的?

suoma 发表于 2017-9-21 20:07:55

Paderboy 发表于 2017-9-19 23:30
自己做板子,如果刷uno的bootloader 就得通过串口下载。。直接用isp方式下载就会破坏原有的bootloader。 ...

你说的串口是通过这个东西?

自己做的板子没有USB转串口芯片,都是通过ISP烧录

Paderboy 发表于 2017-9-22 11:42:51

suoma 发表于 2017-9-21 20:07
你说的串口是通过这个东西?

自己做的板子没有USB转串口芯片,都是通过ISP烧录

可以用cp2102(或其他的也可以,最好带复位控制输出)的,上面有DRT(或reset)接到reset上。就可以通过串口实现自动复位下载。。

kirbyklein 发表于 2017-9-22 13:54:15

本帖最后由 kirbyklein 于 2017-9-22 13:56 编辑

没找到XXX.ino.with_bootloader.hex这种文件名的,你说的这个是哪个文件编译得到的?
用arduino ide 编译后在C盘有类似这样的文件夹C:\Users\lenovo\AppData\Local\Temp\arduino_build_92612
这就是IDE编译后的,里面有两个HEX文件就是编译后的可以直接用ICSP烧录的。一个带bootloader , 一个不带。

suoma 发表于 2017-9-22 23:37:58

Paderboy 发表于 2017-9-22 11:42
可以用cp2102(或其他的也可以,最好带复位控制输出)的,上面有DRT(或reset)接到reset上。就可以通 ...

好的,我想起来了

suoma 发表于 2017-9-22 23:42:18

kirbyklein 发表于 2017-9-20 11:49
arduino ide 编译后有两个HEX文件,一个是带bootloader的,一个是不带的。如:XXX.ino.hex和XXX.ino.with_b ...

arduino ide 编译后有两个HEX文件,一个是带bootloader的,一个是不带的。如:XXX.ino.hex和XXX.ino.with_bootloader.hex。
现在是这个bootloader是哪个源文件编译生成的?我在IDE提供的例程中看到就看到ArduinoISP.ino这个

kirbyklein 发表于 2017-9-25 10:34:04

现在是这个bootloader是哪个源文件编译生成的?
在arduino ide的安装文件夹里。
D:\Program Files\arduino-1.8.3\hardware\arduino\avr\bootloaders\atmega 里面的ATmegaBOOT_168_atmega328.hex 文件就是bootloader源文件
页: [1] 2
查看完整版本: (已解决)uno板子通过ICSP烧写后,再通过USB口烧录就会出问题吗?