conjee 发表于 2013-6-1 12:58:27

求大家帮忙 Atmega8l-8pu 制作 Arduino的问题

本帖最后由 conjee 于 2013-6-1 12:58 编辑

手头上有个Atmega 8l-8pu, 出厂设置,熔丝位没有调整过。 现想用它来做一个简单的Arduino板,使用内部RC 8MHZ振荡器。 现在有问题请教一下大家。
环境: ISP:USBASP,arduino-1.0.2

接线图:
接线没有问题,可以 PROGISP工具取FLash数据。



操作步骤:
1.修改arduino-1.0.2\hardware\arduino 目录下 boards.txt 在文件底部添加
##############################################################

atmega8_8M.name=ATmega8_8MHz

atmega8_8M.upload.protocol=arduino
atmega8_8M.upload.maximum_size=7168
atmega8_8M.upload.speed=115200

atmega8_8M.bootloader.low_fuses=0xa4
atmega8_8M.bootloader.high_fuses=0xdc
atmega8_8M.bootloader.path=optiboot
atmega8_8M.bootloader.file=optiboot_atmega8_8M.hex
atmega8_8M.bootloader.unlock_bits=0x3F
atmega8_8M.bootloader.lock_bits=0x0F

atmega8_8M.build.mcu=atmega8
atmega8_8M.build.f_cpu=8000000L
atmega8_8M.build.core=arduino
atmega8_8M.build.variant=standard

2. 再将论坛下载的optiboot_atmega8_8M.hex, optiboot_atmega8_8M.lst 放到arduino-1.0.2\hardware\arduino\bootloaders\optiboot目录下。


3. 重启arduino1.02
设置选中 Arduino->Tools->Boards->Atmega8_8MHZ


设置
设置选中 Arduino->Tools->programmer->USBasp


4.最后
设置选中 Arduino->Tools->Burn Bootloader


结果报错:

swim 发表于 2013-6-1 13:11:02

如果使用USBasp的话,在arduinoIDE下烧写bootloader成功概率不大,可以下载其他第三方软件烧写

conjee 发表于 2013-6-1 13:16:20

swim 发表于 2013-6-1 13:11 static/image/common/back.gif
如果使用USBasp的话,在arduinoIDE下烧写bootloader成功概率不大,可以下载其他第三方软件烧写

不知道用avr studio5.0 怎么将bootloader写到boot区?熔丝位可以用PROGISP设置如下:

swim 发表于 2013-6-1 15:10:41

conjee 发表于 2013-6-1 13:16 static/image/common/back.gif
不知道用avr studio5.0 怎么将bootloader写到boot区?熔丝位可以用PROGISP设置如下:

bootloader的hex文件直接下载flash就可以了

conjee 发表于 2013-6-1 18:34:35

swim 发表于 2013-6-1 15:10 static/image/common/back.gif
bootloader的hex文件直接下载flash就可以了

bootloader可以写进去了,但是用ttl下载还是有点问题,还在解决中。

hmjack2008 发表于 2013-6-2 00:27:15

本帖最后由 hmjack2008 于 2013-6-5 08:00 编辑

LZ 先参阅这篇吧 !(自给自足,丰衣足食)
关于Atmega8L的bootloader的基于源代码的重新编译
http://www.geek-workshop.com/thread-1459-1-1.html

刚好最近自己也DIY了2片ATmega8的Arduino…
Optiboot 有出 V5版的, 我自己重新编译成 使用内部RC 8MHZ 可以用在 ATmega8 !!

使用内部 8MHz : optiboot_atmega8_opt_v5_i8M.hex
使用外部 16MHz : optiboot_atmega8_opt_v5_o16M.hex

boards.txt :
##############################################################

atmega8_v5.name=ATmega8_opt_v5_o16MHz

atmega8_v5.upload.protocol=arduino
atmega8_v5.upload.maximum_size=7680
atmega8_v5.upload.speed=115200

atmega8_v5.bootloader.low_fuses=0xBF
atmega8_v5.bootloader.high_fuses=0xCC
atmega8_v5.bootloader.path=optiboot_V5
atmega8_v5.bootloader.file=optiboot_atmega8_opt_v5_o16M.hex
atmega8_v5.bootloader.unlock_bits=0x3F
atmega8_v5.bootloader.lock_bits=0x0F

atmega8_v5.build.mcu=atmega8
atmega8_v5.build.f_cpu=16000000L
atmega8_v5.build.core=arduino
atmega8_v5.build.variant=standard

##############################################################

atmega8_8M.name=ATmega8_opt_V5_i8MHz

atmega8_8M.upload.protocol=arduino
atmega8_8M.upload.maximum_size=7680
atmega8_8M.upload.speed=115200

atmega8_8M.bootloader.low_fuses=0xA4
atmega8_8M.bootloader.high_fuses=0xDC
atmega8_8M.bootloader.path=optiboot_V5
atmega8_8M.bootloader.file=optiboot_atmega8_opt_v5_i8M.hex
atmega8_8M.bootloader.unlock_bits=0x3F
atmega8_8M.bootloader.lock_bits=0x0F

atmega8_8M.build.mcu=atmega8
atmega8_8M.build.f_cpu=8000000L
atmega8_8M.build.core=arduino
atmega8_8M.build.variant=standard

##############################################################

天天向上/tp 发表于 2013-6-4 22:31:02

学习了···········

hymeeg 发表于 2013-6-5 10:29:37

努力学习,积极赚分i

hensen 发表于 2013-10-23 11:35:27

想学习一下

huan 发表于 2013-10-23 12:52:38

本帖最后由 huan 于 2013-10-23 12:55 编辑

不要直接用arduino IDE直接写入程序,现在的免驱usbasp大部分都不支持arduino IDE。
我自己的做法写给你参考:
1、先把arduino IDE弄的支持Atmega8,你应该弄好了。
2、用usbasp线把Atmega8连接好,打开PROGISP软件,先把熔丝位写进去(就是那2个高低位,low_fuses=0xa4,high_fuses=0xdc,使用的支持文件不一样,芯片频率不一样,数值也不一样),再把对应bootloader(optiboot_atmega8_8M.hex)写进flashl里去。
3、把你写好的程序用arduino IDE编译成hex文件,用usbasp线连好芯片,打开PROGISP软件再写进flashl里就完了。以后修改程序后重复第3步就可以了。
页: [1]
查看完整版本: 求大家帮忙 Atmega8l-8pu 制作 Arduino的问题