极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26442|回复: 7

求助自制arduino烧写bootloader有困难

[复制链接]
发表于 2014-4-1 23:22:36 | 显示全部楼层 |阅读模式
自己用ATmega16A焊了一块板子,用了这位兄台的bootloader
http://www.geek-workshop.com/for ... thread&tid=3017戳这里)

可能是因为我的usbasp里面的代码不是公版的,直接用ide烧bootloader会报错:

像这样
avrdude: warning: cannot set sck period. please check for usbasp firmware update.

我确定板子焊接的没什么问题,我用progisp写个程序啊写个熔丝位啊都没问题。
之前没有接触过arduino,也没用过bootloader。用过atmel studio 直接用C写程序。


按我目前的理解,bootloader好像就是引导一下从串口进来的代码,完了往芯片上写。是这个意思吧?

那我能不能直接用progisp把bootloader的hex烧进去呢?


求大神帮助
回复

使用道具 举报

发表于 2014-4-1 23:35:35 | 显示全部楼层
本帖最后由 pathletboy 于 2014-4-1 23:39 编辑

bootloader要通过烧写器写入,不能通过串口了。
另确认晶振,你外接16M晶振了么?片内的是8M。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 23:40:32 | 显示全部楼层
pathletboy 发表于 2014-4-1 23:35
bootloader要通过烧写器写入,不能通过串口了。
另确认晶振,你外接16M晶振了么?片内的是8M。

跟晶振没关系,我用的11.0592的
回复 支持 反对

使用道具 举报

发表于 2014-4-1 23:43:55 | 显示全部楼层
东华小虎 发表于 2014-4-1 23:40
跟晶振没关系,我用的11.0592的

串口通讯和晶振有关,bootloader编译时候要在makefile里设置晶振,你用了人家编译的16M版本,完全可以用烧写器写入片内,但是你通过arduino写程序是通过bootloader里的串口通讯的,你波特率都不对,肯定无法正常写入。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 23:46:31 | 显示全部楼层
pathletboy 发表于 2014-4-1 23:43
串口通讯和晶振有关,bootloader编译时候要在makefile里设置晶振,你用了人家编译的16M版本,完全可以用烧 ...

嗯 是的。就是我现在连bootloader都没写进去呢。。。。。我就想知道直接用软件写行不行,好像还得自己把bootloader重新修改编译一下
回复 支持 反对

使用道具 举报

发表于 2014-4-1 23:49:45 | 显示全部楼层
东华小虎 发表于 2014-4-1 23:46
嗯 是的。就是我现在连bootloader都没写进去呢。。。。。我就想知道直接用软件写行不行,好像还得自己把b ...


设置好熔丝位,烧写器写入BOOTLOADER,晶振设置正确的话没问题的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 23:51:39 | 显示全部楼层
pathletboy 发表于 2014-4-1 23:43
串口通讯和晶振有关,bootloader编译时候要在makefile里设置晶振,你用了人家编译的16M版本,完全可以用烧 ...

而且吧,我很想知道这个bootloader到底是在什么时候编译的,用ide烧的时候编译的还是怎么样?还有那个boards配置文件里面的波特率又是给谁的?或者说是给ide的?所以在这里和bootloader统一么?
回复 支持 反对

使用道具 举报

发表于 2014-4-1 23:59:56 | 显示全部楼层
C:\Program Files\Arduino\hardware\arduino\bootloaders\atmega8
你看下这个目录下的makefile
DEFS       = -DF_CPU=16000000 -DBAUD_RATE=19200
这个就是用来设置bootloader串口通讯的波特率,他依据F_CPU的值产生19200的波特率。如果编译的16M的版本,而你的晶振不是16M,那么产生出的波特率将不会是19200。
这个是mega8的bootloader,在这个版本上修改下就能make出mega16的bootloader来。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 13:39 , Processed in 0.036425 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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