一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 5570|回复: 16
收起左侧

[其他DIY] Arduino板卡制作,支持ATMEGA16、32、64、128等日记

[复制链接]
发表于 2018-3-18 19:45 | 显示全部楼层 |阅读模式
本帖最后由 g54188 于 2018-3-18 20:29 编辑

一直断断续续的在玩ARDUINO,本论坛几年前出过用ATmega64,ATmega128做的ARDUINO但支持的IDE版本低单一
在GitHub 发现了這个MegCore固件支持最新的IDE1.65 到目前的1.85版本,下面就原文简单介绍固件的烧写和板卡的安装以及一些参数。

MightyCore压缩包提供对以下IC的支持:
* ATmega1284*
* ATmega644*
* ATmega324*
* ATmega164*
* ATmega32*
* ATmega16*
* ATmega8535*
MegaCore压缩包提供对以下IC的支持:
* ATmega128*
* ATmega64*

1:固件的烧写以ATmega128,16M为例
固件烧写地址如下用AT128;16M
#make atmega128 AVR_FREQ=16000000L BAUD_RATE=115200 UART=0 LED=B5 LED_START_FLASHES=2 -BIGBOOT
128.menu.clock.16MHz_external=16MHz external (BOD 2.7v)
128.menu.clock.16MHz_external.upload.speed=115200
128.menu.clock.16MHz_external.bootloader.low_fuses=0xbf    //低位
128.menu.clock.16MHz_external.bootloader.high_fuses=0xce   //高位
128.menu.clock.16MHz_external.bootloader.extended_fuses=0xff  //延伸
128.menu.clock.16MHz_external.bootloader.file=optiboot/atmega128/optiboot_atmega128_16MHz.hex
128.menu.clock.16MHz_external.build.f_cpu=16000000L

用progisp.exe软件烧写
软件.jpg
熔丝设置位
熔丝位.jpg
先烧写熔丝位然后在烧写固件optiboot_atmega128_16MHz.hex
位置.jpg
固件基本就烧写完了,烧写完后板载的LED会连续的闪2下
2,板卡的安装
电路板管理器安装
此安装方法需要Arduino IDE 1.6.4或更高版本。

    IDE.jpg

    ied1.jpg

    ied2.jpg
  • 打开Arduino IDE。
  • 打开文件>首选项菜单项。
  • 其他董事会经理网址中输入以下网址https://mcudude.github.io/MegaCo ... MegaCore_index.json
  • 打开工具>电路板>电路板管理器...菜单项。
  • 等待平台索引完成下载。
  • 向下滚动,直到看到MegaCore条目并点击它。
  • 点击安装
  • 安装完成后关闭Boards Manager窗口。
這样板卡的驱动也就安装完成了。
下面是各种芯片的比较
     Mega2560
Mega1280
Mega640
Mega2561
Mega1281
MEGA128
Mega64
256KB
128kB的
64kB的
256KB
128kB的
128kB的
64kB的
内存
8kB的
8kB的
8kB的
8kB的
8kB的
4kB的
4kB的
EEPROM
4kB的
4kB的
4kB的
4kB的
4kB的
4kB的
2kB的
IO引脚
70/86 *
70/86 *
70/86 *
54
54
53
53
PWM引脚
15
15
15
8
8
7
7
LED引脚
PB7
PB7
PB7
PB5
PB5
PB5
PB5
* 86 IO引脚仅在选择AVR引脚时可用
支持的时钟频率



  • 16 MHz外部振荡器(默认)
  • 20 MHz外部振荡器
  • 18.432 Mhz外部振荡器*
  • 12 MHz外部振荡器
  • 8 MHz外部振荡器
  • 8 MHz内部振荡器**
  • 1 MHz内部振荡器
BOD选项
欠压检测或BOD短路可让微控制器检测输入电压,并在电压低于欠压设置时关闭。要更改BOD设置,您必须连接ISP编程器并点击“Burn bootloader”。以下是显示可用BOD选项的表格:
Mega2560
Mega1280
Mega640
Mega2561
Mega1281
MEGA128
Mega64
4.3V
4.3V
4.3V
4.3V
4.3V
4.3V
4.3V
2.7V
2.7V
2.7V
2.7V
2.7V
2.7V
2.7V
1.8V
1.8V
1.8V
1.8V
1.8V
-
-
链接时间优化/ LTO
在Arduino IDE 1.6.11发布之后,已经支持链接时间优化或简称LTO。LTO在链接时优化代码,使得代码(通常)显着缩小,而不会使其“变慢”。在Arduino IDE 1.6.11和更新的LTO默认情况下启用。我选择在默认情况下禁用此功能,以确保内核保持其向后兼容性。在IDE 1.6.10及更高版本中启用LTO将返回错误。我鼓励你尝试新的LTO选项,看看你的代码变得多小了!请注意,您无需点击“刻录Bootloader”以启用LTO。只需在“工具”菜单中启用它,并且您的代码已准备好进行编译。如果您想了解有关LTO和GCC标志的更多信息,请访问GNU GCC网站
以上是软件翻译的,下面是电路图及对应引脚配置和固件
原理图.zip (3.93 MB, 下载次数: 30, 售价: 1 人民币)
手上有芯片及电路板,简单的做了个温度计实验了下

128

128

MegaCore-master.zip (2.16 MB, 下载次数: 140, 售价: 1 人民币)    MightyCore-master.zip (581.92 KB, 下载次数: 15, 售价: 1 人民币)   

评分

参与人数 1一乐金币 +8 收起 理由
huojunan + 8 很给力!

查看全部评分

 楼主| 发表于 2018-3-18 20:22 | 显示全部楼层
发表于 2018-3-18 20:47 | 显示全部楼层
有时间也折腾折腾玩
发表于 2018-3-19 08:46 | 显示全部楼层
意思是教授出的zion板卡,也可以刷吗?
发表于 2018-3-19 15:09 | 显示全部楼层
能刷成2560就好了
发表于 2018-3-19 17:00 | 显示全部楼层
请教下,board文件里的熔丝高位是C6和你教程的有啥区别,谢谢
 楼主| 发表于 2018-3-19 18:30 | 显示全部楼层
本帖最后由 g54188 于 2018-3-19 18:44 编辑
alone 发表于 2018-3-19 17:00
请教下,board文件里的熔丝高位是C6和你教程的有啥区别,谢谢


你好,我是用的128-16M的固件,看你自已是用的什么芯片,晶振是多少?boards.txt文件说明里写的很清楚了
没看见那款芯片需要高位是C6呢?
用這个固件主要就是用ATmega128的固件ATmega128芯片价格便宜,淘宝上也就3-4元一片比ATmega328容量大4倍价格低一半
还多一个串口1.
///----------MegaCore-master--文件夹里的----//
# Clock frequencies
128.menu.clock.16MHz_external=16 MHz external
128.menu.clock.16MHz_external.upload.port=UART0
128.menu.clock.16MHz_external.upload.speed=115200
128.menu.clock.16MHz_external.bootloader.sut_cksel_bits=111111
128.menu.clock.16MHz_external.bootloader.high_fuses=0xc6
128.menu.clock.16MHz_external.bootloader.extended_fuses=0xff
128.menu.clock.16MHz_external.bootloader.file=optiboot_flash/{build.mcu}/optiboot_flash_{build.mcu}_{upload.port}_{upload.speed}_{build.f_cpu}.hex
128.menu.clock.16MHz_external.build.f_cpu=16000000L
可能這样设置IDE里不能选择BOD和LTO;应该也可以用,没试。
這个我还真的不知道是设置什么的,是否是板卡的设置;
///------我是用的下面做个--------难道不一样///
#make atmega128应该是制造這个芯片的设置)AVR_FREQ=16000000L BAUD_RATE=115200 UART=0 LED=B5 LED_START_FLASHES=2 -BIGBOOT
128.menu.clock.16MHz_external=16MHz external (BOD 2.7v)
128.menu.clock.16MHz_external.upload.speed=115200
128.menu.clock.16MHz_external.bootloader.low_fuses=0xbf    //低位
128.menu.clock.16MHz_external.bootloader.high_fuses=0xce   //高位
128.menu.clock.16MHz_external.bootloader.extended_fuses=0xff  //延伸
128.menu.clock.16MHz_external.bootloader.file=optiboot/atmega128/optiboot_atmega128_16MHz.hex
128.menu.clock.16MHz_external.build.f_cpu=16000000L
//-------我从新上传下源码-----//
MegaCore-master.zip (420.24 KB, 下载次数: 5, 售价: 1 人民币)


 楼主| 发表于 2018-3-19 18:32 | 显示全部楼层
本帖最后由 g54188 于 2018-3-19 18:38 编辑
panqi 发表于 2018-3-19 08:46
意思是教授出的zion板卡,也可以刷吗?


是的,直接刷好就可以用了,上面有管脚对照图,比到用就OK

 楼主| 发表于 2018-3-19 18:36 | 显示全部楼层
more 发表于 2018-3-19 15:09
能刷成2560就好了

128K 的容量一般够用了,价格比2560便宜得多
发表于 2018-3-19 19:56 | 显示全部楼层
g54188 发表于 2018-3-19 18:30
你好,我是用的128-16M的固件,看你自已是用的什么芯片,晶振是多少?boards.txt文件说明里写的很清楚 ...

感谢帮助,我上了github看了,源码里面的熔丝是:
  1. # Clock frequencies
  2. 128.menu.clock.16MHz_external=16 MHz external
  3. 128.menu.clock.16MHz_external.upload.port=UART0
  4. 128.menu.clock.16MHz_external.upload.speed=115200
  5. 128.menu.clock.16MHz_external.bootloader.sut_cksel_bits=111111
  6. 128.menu.clock.16MHz_external.bootloader.high_fuses=0xc6
  7. 128.menu.clock.16MHz_external.bootloader.extended_fuses=0xff
  8. 128.menu.clock.16MHz_external.bootloader.file=optiboot_flash/{build.mcu}/optiboot_flash_{build.mcu}_{upload.port}_{upload.speed}_{build.f_cpu}.hex
  9. 128.menu.clock.16MHz_external.build.f_cpu=16000000L
复制代码
说明中的board文件中确实和你的一样。我用的zion的板子,是不是编译的时候要把led改到相应脚位。谢谢

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-19 19:23 , Processed in 0.060732 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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