滴答滴答下雨啦 发表于 2013-11-21 14:19:51

请教bootloader相关问题

问题:
      我想让程序在复位后从0开始不从boot区开始,而在菜单中添加update选项,选中update菜单项后程序跳转到bootloader来完成应用程序的更新
      1)这个想法可行不?
      2)应该怎么做才好呢?
我是菜鸟,望大家多多帮忙,谢谢!

滴答滴答下雨啦 发表于 2013-11-22 08:55:56

自己顶一下,快沉没了……{:cry:}

zhanglei1986145 发表于 2013-11-22 09:36:09

呵呵,可行哦
不过不是最好方案:
1.要考虑下载过程意外中断后果
2.考虑BOOTLOAD的如何装载方法
3.在没有应用的情况下,是如何跳到BOOT
最好是将BOOT放到0地址处,由有没有应用标志来判断是否进入应用还是下载模式。

滴答滴答下雨啦 发表于 2013-11-22 09:57:27

zhanglei1986145 发表于 2013-11-22 09:36 static/image/common/back.gif
呵呵,可行哦
不过不是最好方案:
1.要考虑下载过程意外中断后果


谢谢你!
1)意外中断导致的失败,bootloader会自己判断重新再来一次;
2)第2点没看明白;
3)没有应用的时候,应用区会不会被认为是无效数据,一直到BOOTSTART位置有效指令处即可进入bootloader?

zhanglei1986145 发表于 2013-11-22 10:02:51

滴答滴答下雨啦 发表于 2013-11-22 09:57 static/image/common/back.gif
谢谢你!
1)意外中断导致的失败,bootloader会自己判断重新再来一次;
2)第2点没看明白;


意外中断,程序上电后会运行应用,不会跳到BOOTLOADER吧

zhanglei1986145 发表于 2013-11-22 10:04:59

你为何要考虑将应用程序放到0处?有什么特殊的要求吗?
bootload放0处来判断是否有应用不是更好吗?

滴答滴答下雨啦 发表于 2013-11-22 10:39:30

zhanglei1986145 发表于 2013-11-22 10:02 static/image/common/back.gif
意外中断,程序上电后会运行应用,不会跳到BOOTLOADER吧

这个通过熔丝位配置,如果熔丝配成BOOTSTART,每次复位就从bootloader开始

滴答滴答下雨啦 发表于 2013-11-22 10:41:42

zhanglei1986145 发表于 2013-11-22 10:04 static/image/common/back.gif
你为何要考虑将应用程序放到0处?有什么特殊的要求吗?
bootload放0处来判断是否有应用不是更好吗? ...

因为bootloader必须放在flash的NRWW区,在AVR上这个区是在flash的末位;可能和你的不太一样
页: [1]
查看完整版本: 请教bootloader相关问题