关于Arduino MEGA2560 看门狗对bootloader的依赖
bootloader在Arduino中起着至关重要的位置,arduino-1.5.6-r2版本中的bootloader对看门狗(watchdog)的bug进行了修复;mega2560其实就是使用的AVR单片机系列Atmega2560芯片,作为arduino中的一员使用了arduino的开源库,及其开源的外围硬件;单独使用Atmega2560芯片并自己设计电路,又想使用arduino提供的强大的开源库,及其比较方便的开发环境Arduino
IDE时,会产生很多问题。下面我就来阐述一下自己设计的电路使用Atmega2560芯片,外部8MHz晶振,使用JTAG ICE MKII ICSP烧写程序,注意事项:
1.在保证电源正常供电的情况先,让电路工作,开始下载程序时,注意熔丝位的设置,CKDIV8熔丝位编程会让系统时钟工作在8分频的情况;
2.BOOTRST熔丝位编程会影响系统复位后从boot区重新启动;
3.由于arduino环境默认没有mega2560 8MHz的平台,所以在arduino-1.5.6-r2-windows\Arduino\hardware\arduino\boards.txt中进行新平台的添加,这样在arduino Ide中就会有新的平台加入;例如:
mega2560_8M.name=Arduino Mega2560_8M
mega2560_8M.upload.protocol=wiring
mega2560_8M.upload.maximum_size=258048
mega2560_8M.upload.speed=115200
mega2560_8M.bootloader.low_fuses=0xFF
mega2560_8M.bootloader.high_fuses=0xD8
mega2560_8M.bootloader.extended_fuses=0xFD
mega2560_8M.bootloader.path=atmeg2560_8M
mega2560_8M.bootloader.file=stk500boot_v2_mega2560.hex
mega2560_8M.bootloader.unlock_bits=0x3F
mega2560_8M.bootloader.lock_bits=0x0F
mega2560_8M.build.mcu=atmega2560
mega2560_8M.build.f_cpu=8000000L
mega2560_8M.build.core=arduino
mega2560_8M.build.variant=mega
Mega2560_8M是我新命名的平台,在bootloader中新建Mega2560_8M文件夹,同时把同级目录stk500v2下的所有文件考入Mega2560_8M,我是在ubuntu下进行编译的,当然要使用avr-gcc编译器,make
clean删除已有的可执行程序,在Makefile中找到maga2560:处,更改F_CPU=16000000为F_CPU=8000000,然后执行make mega2560生成新的可执行程序stk500boot_v2_mega2560.hex;
注意:这其中主要是修改了F_CPU为8M;其他没有修改,可以尝试在windows下编译
4.这样在Arduno IDE中,tool->board中就有了新的平台Mega2560_8M,编译程序是需要指定这个版本类型;
5.程序写好后,需要下载程序到芯片中;步骤如下:
(1)芯片引出的ISP管脚连接JTAG ICE MKII
(2)擦除Flash
(3)下载 Mega2560_8M文件中的bootloader程序stk500boot_v2_mega2560.hex到芯片中
(4)下载程序到芯片中,在此之前不要擦除芯片程序,否则会把bootloader擦掉;
(5)编程BOOTRST熔丝位,让系统复位从boot区执行
这样下来看门狗就可使用了。注意一定要保留bootloader才可以修复一些bug;
---------------------
来源:CSDN
原文:https://blog.csdn.net/wzdvs2005/article/details/41349413
关于Arduino MEGA2560 看门狗对bootloader的依赖的更多相关文章
- Arduino 看门狗使用
1.需要调用 #include <avr/wdt.h> 2.设置看门狗复位时间 wdt_enable(WDTO_2S); 代码时间定义的底层查看 #define WDTO_15MS 0 / ...
- Arduino - 看门狗定时器(WDT:Watch Dog Timer)
看门狗定时器(WDT:Watch Dog Timer)实际上是一个计数器. 一般给看门狗一个大数,程序开始运行后看门狗开始倒计数. 如果程序运行正常,过一段时间CPU应该发出指令让看门狗复位,令其重新 ...
- 嵌入式 uboot以及kernel添加看门狗临时记录(个人记录未整理乱)
Uboot_Kernerl_Add_Watch_Dog: U-Boot 2010.06 (Nov 01 2013 - 15:28:44) DRAM: 128 MiBCheck spi flash c ...
- RM-Linux驱动--Watch Dog Timer(看门狗)驱动分析
from:http://blog.csdn.net/geekcome/article/details/6595265 硬件平台:FL2440 内核版本:2.6.28 主机平台:Ubuntu 11,04 ...
- S3C3440看门狗驱动程序
S3C3440看门狗驱动程序 http://www.cnblogs.com/lfsblack/archive/2012/09/13/2684079.html 看门狗是当CPU进入错误状态后,无法恢复的 ...
- 基于S3C2440的嵌入式Linux驱动——看门狗(watchdog)驱动解读
本文将介绍看门狗驱动的实现. 目标平台:TQ2440 CPU:s3c2440 内核版本:2.6.30 1. 看门狗概述 看门狗其实就是一个定时器,当该定时器溢出前必须对看门狗进行"喂狗“,如 ...
- [看门狗]基于Linux的嵌入式系统全程喂狗策略
转自:http://blog.csdn.net/erickhuang1989/article/details/8721548 在嵌入式系统中,为了使系统在异常情况下能自动恢复,一般都会引入看门狗电路. ...
- [WDT]内部看门狗和外部看门狗
1. 芯片内部看门狗 内部看门狗通常为芯片内部某个特殊定时器,用户可以通过手动初始化.设置timeout.使能.失能该看门狗,然后在线程中定时去喂狗,从而达到检测应用程序跑飞.跑死的情况. 在Linu ...
- u-boot分析(五)----I/D cache失效|关闭MMU和cache|关闭看门狗
u-boot分析(五) 上篇博文我们按照210的启动流程,对u-boot启动中的设置异常向量表,设置SVC模式进行了分析,今天我们继续按照u-boot的启动流程对以下内容进行分析. 今天我们会用到的文 ...
随机推荐
- 靠谱的Pycharm安装详细教程
如何在本机上下载和安装Pycharm,具体的教程如下: 1.首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#secti ...
- Codeforces1307B. Cow and Friend
本题的难点是可以在y轴正轴动,但也是突破点,知道x轴都是整数,那么对于任意长度来说,能到达的最短是1,最长是本身长度,那么我们就选择最长的距离,跳到一个点,使这个点为再跳就超过终点,那么就可以用2次跳 ...
- 从零开始编写IntelliJ IDEA插件
写Java代码的时候,经常会涉及到重复性的操作,这个时候就会想要是有这样一个插件就好了,如果是大家都会遇到的场景,IDE或许已经提供了,再不然也有可能有人编写了相关的插件.要是这个操作是你们的编码环境 ...
- zabbix监控 -mysql数据库
1.禁用安装防护[root@mysql213 ~]# vi /etc/selinux/config #关闭安装 SELINUX=disabled 2.授权zabbix监控账号 mysql -uroot ...
- CSS如何实现三列布局?如果两端固定、中间是自适应又该如何做?
使用浮动布局来实现 左侧元素与右侧元素优先渲染,分别向左和向右浮动 中间元素在文档流的最后渲染,并将 width 设为 100%,则会自动压到左右两个浮动元素的下面,随后在中间元素中再添加一个div元 ...
- JavaAgent学习小结
前言 最近因为公司需要,需要了解下java探针,在网上找资料,发现资料还是有很多的,但是例子太少,有的直接把公司代码粘贴出来,太复杂了,有的又特别简单不是我想要的例子, 我想要这样的一个例子: jvm ...
- 【Game学习随笔01】挑战任务01
今天是2020年2月6日,时间过得好快,以至于我在写到时间会下意识写成2019年…… 看来全国肺炎情况进一步升温了,以至于我家所在的小区进行了命令封锁通知,所以出行不再像以前那么自由了,不管怎样,给战 ...
- 玩玩负载均衡---在window与linux下配置nginx
最近有些时间,开始接触负载均衡方面的东西,从硬件F5再到Citrix Netscalar.不过因为硬件的配置虽然不复杂,但昂贵的价格也让一般用户望而却步(十几万到几十万),所以只能转向nginx, ...
- SSH框架搭建 笔记 (含spring注解驱动)
分类: web 开发2014-04-27 12:33 354人阅读 评论(0) 收藏 举报 框架springinterface注解 好久没有搭建框架了,今天整理下以前的知识,整合下SSH,没想到手生了 ...
- 使用自己定义的DIV的滚动条
基本思路: 让DIV浮动起来,利用postion:fixed/absolute,设定height:100% var $card=$("#cardDetail"); $ca ...