yjfself 发表于 2009-5-7 20:46:02

avr bootloader

我的升级思路是:从应用程序区接到升级命令后,通过跳转指令跳转到boot区执行升级.升级成功后,从boot区退出跳到应用区的开始处执行应用程序。


请问在这个过程中,应用区和boot区的变量是否会互相影响到呢?avr是怎样处理这种事情的呢?还请各位爱玩单片机的朋友出来讨论讨论!指教指教!

machao 发表于 2009-5-8 09:11:12

通常用户程序和BOOT程序是分开写的,2段程序是独立的,因此两段代码变量分配的内存空间会相互重叠的。

如果要避免相互影响,2段代码都应该有自己的初始化部分,尤其是所使用变量的初始化,此时不能认为定义的变量初值一定是零。另外在2段代码之间不能传递数据。

如果你要设计特殊的应用,需要2段代码之间传递数据,那么2段代码都必须你自己编写的,通过采用指定分配变量地址的方法,可以做到。

wodetianmyday 发表于 2009-10-22 17:58:50

哦,有所帮助

haolei432370 发表于 2013-6-20 16:55:53

正在做这个。楼主能分享下嘛?

滴答滴答下雨啦 发表于 2014-5-14 10:22:32

想法不错啊,楼主搞定了没?分享一下哈
页: [1]
查看完整版本: avr bootloader