极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16361|回复: 20

解决Atmega168PA@8M,3v3不能正常下载程序的问题

[复制链接]
发表于 2012-12-18 09:11:07 | 显示全部楼层 |阅读模式
本帖最后由 zcbzjx 于 2013-1-5 10:05 编辑

疯了,单位又只能翻墙上极客工坊了。
英语不好+无单片机基础=掉各种坑。
昨天弄了一下午,原来做的那个小项目用的168pa,还发了个帖子如何弄168PA的bootloader。现在做-core的Atmega168pa@8M的版本,本来以为没问题。结果是bootloader下载成功,用编程器下载程序也没问题,用FT232R串口下载就不行。在这儿声明,前面我发的那个帖子作废。。精华也取消了吧,别再误导人了。现在发布正确,经过测试版本。。。
下班还没弄好就带回家了。
boot0.jpg
boot1.jpg
接线
boot2.jpg
以上接线虽然是针对的Microduino,对于用uno给最小系统下载bootloader也适用
弄了个补丁包,详细请阅读里面的readme文件。

更新历史:
请将这个目录放置到hardware目录中,重新启动Arduino IDE,即可在工具=>板卡,发现Microduino Core新硬件。
卸载直接删除这个文件夹即可在。
==================================
2012年12月28日,添加针对Atmega644PA原生的optibootloader。目前已知bug为重新烧写bootloader的时候需要把“XXXXX.build.mcu=atmega644”改为“XXXXX.build.mcu=atmega644p”,烧写完毕再改回来,然后重新启动IDE,才能正常下载。涉及硬件为:
Microduino-Core+(Atmega644PA@16M,5V)(已支持,已测试)
Microduino-Core+(Atmega644PA@8M,3.3V)(已支持,已测试)
==================================
2012年12月27日,对于某些不够健壮的168pa芯片,采用8MHZ晶振,optiboot默认的115200波特率下载速度,
会出现无法下载问题,这次更新把默认下载波特率调整为57600。涉及硬件为:
Microduino Core(Atmega168PA@8M,3.3V)(已支持,已测试)
如果仍然不能烧写,请把被烧写的模块输入电压调整为5V。
==================================
2012年12月23日,添加对Microduino-Core+的支持。-Core+对应的4个硬件为:
Microduino-Core+(Atmega1284P@16M,5V)(已支持,未测试)
Microduino-Core+(Atmega1284P@8M,3.3V)(未支持)
Microduino-Core+(Atmega644PA@16M,5V)(已支持,已测试)
Microduino-Core+(Atmega644PA@8M,3.3V)(未支持)
==================================
2012年12月18日,修正Microduino-Core (Atmega168PA@8M,3.3V)熔丝位错误导致不能正常下载。
Microduino Core (Atmega328P@8M,3.3V)及Microduino Core (Atmega168PA@16M,5V)还未测试。
==================================
2012年12月16日,添加Microduino-Core对应的4个硬件:
Microduino Core(Atmega328P@16M,5V)(已支持,已测试)
Microduino Core(Atmega328P@8M,3.3V)(已支持,已测试)
Microduino Core(Atmega168PA@16M,5V)(已支持,未测试)
Microduino Core(Atmega168PA@8M,3.3V)(已支持,已测试)
核心为Arduino IDE 1.03对应核心文件。
==================================
有什么问题,请发邮件microduino@163.com反馈。
每次都要更新附件,比较麻烦,有需要的直接到wiki.microduino.cn下载。

评分

参与人数 1 +5 收起 理由
幻生幻灭 + 5 非常负责任的极客!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-12-18 09:18:05 | 显示全部楼层
如何用Arduino IDE烧写bootloader,
1、选择正确的编程器,本例选择Arduino as ISP
2、选择正确的目标板卡,本例选择Microduino(Atmega168pa@8M,3.3V),对用168pa芯片,晶振选用8M的同样适用
3、如果是用Arduino as isp做编程器要选择正确的串口。
4、点击烧写bootloader
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-18 09:24:03 | 显示全部楼层
本次遇到的坑为168pa和328p熔丝位不同。非常奇怪一个系列的熔丝位居然不一样。。
328p熔丝位

328p熔丝位

328p熔丝位

168pa熔丝位

168pa熔丝位

168pa熔丝位

回复 支持 反对

使用道具 举报

发表于 2012-12-18 10:11:11 | 显示全部楼层
态度认真,专业玩家{:soso_e179:}
回复 支持 反对

使用道具 举报

发表于 2012-12-18 13:05:37 | 显示全部楼层
张老师写的非常详细,很好!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-27 12:20:22 | 显示全部楼层
本帖最后由 zcbzjx 于 2012-12-27 12:25 编辑

对于某些不够健壮的168pa芯片,采用8MHZ晶振,optiboot默认的115200波特率下载速度,
会出现无法下载问题,这次更新把默认下载波特率调整为57600。涉及硬件为:
Microduino Core(Atmega168PA@8M,3.3V)(已支持,已测试)
如果仍然不能烧写,请把被烧写的模块输入电压调整为5V。

已更新附件,有这个问题的请重新下载
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-28 00:10:32 | 显示全部楼层
2012年12月28日,添加针对Atmega644PA原生的optibootloader。目前已知bug为重新烧写bootloader的时候需要把“XXXXX.build.mcu=atmega644”改为“XXXXX.build.mcu=atmega644p”,烧写完毕再改回来,然后重新启动IDE,才能正常下载。涉及硬件为:
Microduino-Core+(Atmega644PA@16M,5V)(已支持,已测试)
Microduino-Core+(Atmega644PA@8M,3.3V)(已支持,已测试)
回复 支持 反对

使用道具 举报

发表于 2012-12-29 12:41:00 | 显示全部楼层
已经收下,非常感谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-29 15:36:45 | 显示全部楼层
12月29日 测试并通过Microduino Core(Atmega328P@8M,3.3V),原来不行还是下载波特率问题,和168pa@8M情况类似
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-5 10:07:32 | 显示全部楼层
2013年1月4日,测试对microduino-core(Atmega168PA@16M,5V)进行烧写,及下载程序,成功!修正了熔丝位,使其更加合理。
回复 支持 反对

使用道具 举报

发表于 2013-1-12 19:16:34 | 显示全部楼层
本帖最后由 葱头同学 于 2013-1-12 19:18 编辑

ATMEGA168PA-PU DIP28脚封装的 8Mhz 3.3V/ 8MHz 5.0V/16MHz 5.0V 都试过了 还是不行
用的是UNO板子做ISP下载
用的arduino IDE 1.0.3 已下载最新Microduino硬件支持包(20130104)
提示这个
avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-13 13:26:24 | 显示全部楼层
本帖最后由 zcbzjx 于 2013-1-13 13:28 编辑

8M的熔丝位还是有问题。我又更正了下,请到wiki下载,16M的应该没问题啊。你这个好似电路有问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-13 13:38:53 | 显示全部楼层
2013年1月13日,修正Microduino Core(Atmega168PA@8M,3.3V)熔丝位。根据16M改了没测试,结果不行,更正回已经测试版本。
回复 支持 反对

使用道具 举报

发表于 2013-1-13 13:42:19 | 显示全部楼层
本帖最后由 葱头同学 于 2013-1-13 13:44 编辑
zcbzjx 发表于 2013-1-13 13:26
8M的熔丝位还是有问题。我又更正了下,请到wiki下载,16M的应该没问题啊。你这个好似电路有问题


是的 用面包板 连线接触不良 后面重接一次就可以了 用的是5V供电 8MHz晶振, 板子选的是3.3V 8MHz bootloader下载进去了 首先试了一下Blink例程 成功运行  但是再测试enc28j60模块的时候打不开网页 也PING不通 CS用8用10都试过了 不知道是连线问题还是最小系统少了什么东西没接 芯片的AVCC脚接不接不影响的吧 后面又加了个4.7uF滤波电容 和104瓷片把AVCC接上了
回复 支持 反对

使用道具 举报

发表于 2013-1-13 14:07:59 | 显示全部楼层
本帖最后由 葱头同学 于 2013-1-13 14:14 编辑

这个是最小系统的连线

ENC28J60接线是按照《arduino学习笔记26 - ENC28J60以太网模块实验》http://www.geek-workshop.com/thread-200-1-1.html这个教程

芯片脚定义是按照《ATMEGA8自制最小arduino系统》http://www.geek-workshop.com/thread-115-1-1.html
20130113_135802.jpg
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-11-20 18:26 , Processed in 0.055284 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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