原创 avrub在ATMega2560/2561上跳转出错的解决方法

2009-8-20 17:27 3355 3 3 分类: MCU/ 嵌入式

前一段时间,曾经对在ATmega2560/2561上出现的跳转问题,做了一个简单的修改。但是,因为我没有这个芯片,一直没有办法验证和查找原因。前几天,国外的网友Ulrich Bangert告诉我原因和解决办法,关键在于新增加的寄存器EIND


解决方法是,在文件Bootldr.c中,修改quit()函数,添加如下代码:


 


#ifdef EIND
  EIND = 0;
#endif
  (*((void(*)(void))PROG_START))();            //jump


 


因为我仍然没有ATmega2560/2561(相信国内大部分用户也没有),所以希望有这个芯片的网友可以试验并验证一下(目前我在仿真中验证通过了)。


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条