极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 58913|回复: 9

让optiboot支持atmega168pa@8Mhz

[复制链接]
发表于 2012-7-29 09:48:58 | 显示全部楼层 |阅读模式
本帖最后由 zcbzjx 于 2012-12-18 20:00 编辑

此贴有毛病,请看更新帖
有同学已经发过使Arduino支持ATmega168PA,现在我发的这个是用optiboot的bootloader,而且让他工作在8MHz,这样我们就可以用3.3V电源供电,好处?。

以下均在arduino1.01 测试通过,而且能稳定运行。

第一步,下载optiboot-with-168p.zip,拷贝到<path-where-you-installed-arduino-1.0>\hardware\arduino\bootloaders,替换原来的optiboot目录。

第二步,修改makefile文件,建议大家下载Notepad++,这样编辑就不会乱行。

找到这个位置
  1. pro8: TARGET = pro_8MHz
  2. pro8: MCU_TARGET = atmega168
  3. pro8: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
  4. pro8: AVR_FREQ = 8000000L
  5. pro8: $(PROGRAM)_pro_8MHz.hex
  6. pro8: $(PROGRAM)_pro_8MHz.lst

  7. pro8_isp: pro8
  8. pro8_isp: TARGET = pro_8MHz
  9. # 2.7V brownout
  10. pro8_isp: HFUSE = DD
  11. # Full swing xtal (20MHz) 258CK/14CK+4.1ms
  12. pro8_isp: LFUSE = C6
  13. # 512 byte boot
  14. pro8_isp: EFUSE = 04
  15. pro8_isp: isp
复制代码


在这个位置之后加
  1. # Atmega168p target 8Mhz added by zcbzjx
  2. atmega168p_pro8: TARGET = Atmega168p_pro_8MHz
  3. atmega168p_pro8: MCU_TARGET = atmega168p
  4. atmega168p_pro8: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
  5. atmega168p_pro8: AVR_FREQ = 8000000L
  6. atmega168p_pro8: $(PROGRAM)_Atmega168p_pro_8MHz.hex
  7. atmega168p_pro8: $(PROGRAM)_Atmega168p_pro_8MHz.lst

  8. atmega168p_pro8_isp: Atmega168p_pro8
  9. atmega168p_pro8_isp: TARGET = Atmega168p_pro_8MHz
  10. # 2.7V brownout
  11. atmega168p_pro8_isp: HFUSE = DD
  12. # Full swing xtal (20MHz) 258CK/14CK+4.1ms
  13. atmega168p_pro8_isp: LFUSE = C6
  14. # 512 byte boot
  15. atmega168p_pro8_isp: EFUSE = 04
  16. atmega168p_pro8_isp: isp
复制代码


大家可以看,基本上就是改了个MCU_TARGET,atmega168变成了atmega168p。

第三步,生成bootloader

1,启动命令提示符
按Win + R,输入cmd,回车键
2,改变工作目录,
cd "<path-where-you-installed-arduino-1.0>\hardware\arduino\bootloaders\optiboot\"
Enter
3,启动编译器输入
omake atmega168p_pro8
Enter

现在,文件夹"<path-where-you-installed-arduino-1.0>\hardware\arduino\bootloaders\optiboot\"中,就可以找到你为ATmega168p(8MHz)编译optiboot引导程序:optiboot_atmega168p_pro8.hex

第四步,修改boards.txt

在最后加入
  1. ##############################################################

  2. micromagician168pa.name= optiboot (3.3V, 8 MHz) w/ ATmega168PA

  3. micromagician168pa.upload.protocol=arduino
  4. micromagician168pa.upload.maximum_size=15872
  5. micromagician168pa.upload.speed=19200

  6. micromagician168pa.bootloader.low_fuses=0xc6
  7. micromagician168pa.bootloader.high_fuses=0xdd
  8. micromagician168pa.bootloader.extended_fuses=0x04
  9. micromagician168pa.bootloader.path=optiboot
  10. micromagician168pa.bootloader.file=optiboot_Atmega168p_pro_8MHz.hex
  11. micromagician168pa.bootloader.unlock_bits=0x3F
  12. micromagician168pa.bootloader.lock_bits=0x0F

  13. micromagician168pa.build.mcu=atmega168p
  14. micromagician168pa.build.f_cpu=8000000L
  15. micromagician168pa.build.core=arduino
  16. micromagician168pa.build.variant=standard
复制代码
重新启动arduino,就可以在板卡找到"optiboot (3.3V, 8 MHz) w/ ATmega168PA"


希望大家举一反三,生成自己需要的bootloader。

参考:
Add support for ATmega168P in optiboot
ATMega8 Arduino Bootloader (Optiboot)
回复

使用道具 举报

 楼主| 发表于 2012-7-31 19:50:32 | 显示全部楼层
我自己up下这个吧,我觉得很有价值啊。。。为什么没人顶下嘞。。
回复 支持 反对

使用道具 举报

发表于 2012-8-1 19:00:04 | 显示全部楼层
{:soso_e102:}灰常有价值的好贴。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-1 20:35:12 | 显示全部楼层
多谢管理员大大肯定,没人理,俺都差点觉得我是不是out了。。。
回复 支持 反对

使用道具 举报

发表于 2012-8-1 21:00:42 | 显示全部楼层
zcbzjx 发表于 2012-8-1 20:35
多谢管理员大大肯定,没人理,俺都差点觉得我是不是out了。。。

哈哈,这种玩到bootloader阶段的人还不是很多。。。大家估计看不懂=.=
回复 支持 反对

使用道具 举报

发表于 2012-8-4 10:50:23 | 显示全部楼层
用到PA了。。。能不能测温。。。
回复 支持 反对

使用道具 举报

发表于 2012-11-4 20:47:42 | 显示全部楼层
写的好~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2012-11-4 23:57:39 | 显示全部楼层
怎么没有提供编译好的下载啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-5 00:20:23 | 显示全部楼层
授人以鱼不如授人以渔
回复 支持 反对

使用道具 举报

发表于 2019-11-27 17:40:46 | 显示全部楼层
好久的帖子了,才看懂,哈哈




————————————————————————————
Nothing is impossible!
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 21:26 , Processed in 0.046301 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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