极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 32495|回复: 16

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

[复制链接]
发表于 2017-9-18 22:47:10 | 显示全部楼层 |阅读模式
本帖最后由 suoma 于 2017-9-19 20:01 编辑

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-9-18 23:22:08 | 显示全部楼层
你先确定,是芯片锁死还是bootloader丢了? 如果bootlooder 掉了,再重新用ISP烧上去。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-19 08:50:33 来自手机 | 显示全部楼层
Paderboy 发表于 2017-9-18 23:22
你先确定,是芯片锁死还是bootloader丢了? 如果bootlooder 掉了,再重新用ISP烧上去。。。

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

使用道具 举报

发表于 2017-9-19 09:56:34 | 显示全部楼层
用编程器下载会把bootloader刷掉的,换来的是多了几kflash空间(原本存放的bootloader)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-19 12:42:46 来自手机 | 显示全部楼层
Zeye_Pendragon 发表于 2017-9-19 09:56
用编程器下载会把bootloader刷掉的,换来的是多了几kflash空间(原本存放的bootloader)

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

使用道具 举报

 楼主| 发表于 2017-9-19 13:09:04 来自手机 | 显示全部楼层
Zeye_Pendragon 发表于 2017-9-19 09:56
用编程器下载会把bootloader刷掉的,换来的是多了几kflash空间(原本存放的bootloader)

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

使用道具 举报

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

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

使用道具 举报

发表于 2017-9-20 11:49:32 | 显示全部楼层
arduino ide 编译后有两个HEX文件,一个是带bootloader的,一个是不带的。如:XXX.ino.hex和XXX.ino.with_bootloader.hex。
你是不是把前面那个用ICSP烧进去了,所以再接USB就不认了。如果烧后面那个以后就还能用USB继续烧
回复 支持 反对

使用道具 举报

 楼主| 发表于 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这种文件名的,你说的这个是哪个文件编译得到的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-21 20:07:55 | 显示全部楼层
Paderboy 发表于 2017-9-19 23:30
自己做板子,如果刷uno的bootloader 就得通过串口下载。。直接用isp方式下载就会破坏原有的bootloader。 ...

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2017-9-22 11:42:51 | 显示全部楼层
suoma 发表于 2017-9-21 20:07
你说的串口是通过这个东西?

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


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

使用道具 举报

发表于 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 , 一个不带。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-22 23:37:58 | 显示全部楼层
Paderboy 发表于 2017-9-22 11:42
可以用cp2102(或其他的也可以,最好带复位控制输出)的,上面有DRT(或reset)接到reset上。就可以通 ...

好的,我想起来了
回复 支持 反对

使用道具 举报

 楼主| 发表于 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这个
回复 支持 反对

使用道具 举报

发表于 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源文件
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 19:49 , Processed in 0.048142 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表