rei1984 发表于 2009-4-23 17:11:21

对升级mega644通过bootload升级app的困惑。

http://cache.amobbs.com/bbs_upload782111/files_14/ourdev_439108.jpg
(原文件名:123.jpg)

上面是硬件的接口图,我想问一下:
上位机软件MikroKopter-Tool.exe,是怎样复位mega644,从而来运行bootload的,我本来想是用过rst脚,PC来复位mega644的,但是硬件的连接是rst的插座是悬空的??

难道对于已经在跑app程序的mega系列来说,通过sck,pc_miso,mosi生产一定的时序,是可以硬件复位mega644的吗?

rei1984 发表于 2009-4-23 17:28:43

继续解密!!

有试了一些太神奇了,只用了4根线也能升级

gnd
+5v
tx
rx

不知道在app运行的时候,是怎么复位的?

rei1984 发表于 2009-4-23 17:36:42

查了一下blmc的uart。c的代码,中断接受也没有 饿狗复位的代码。。不知道德国人是怎样处理在app还在跑的时候,能复位mcu从而运行bootload的目的!太奇怪了。我继续查一下fc里面的uart。c的代码,不知道能不能找到饿狗复位的代码?

rei1984 发表于 2009-4-23 17:49:23

终于清楚了,德国人_大大的狡猾!!不过我很佩服!!!和我想的一样!

在fc的代码的uart。c中找到了reset的代码!!!!
if(RxdBuffer == 'R') wdt_enable(WDTO_250MS); // Reset-Commando

电调的升级app,需要复位也有相关的代码!只是在0.37版本以前的是没有相关复位 饿狗的代码的!!

希望和我一样有疑问的兄弟得到解惑

从头到尾自言自语!浪费了论坛的资源,sorry

hn_ny_dxs 发表于 2009-4-23 18:10:35

顶一下楼主。

harvard 发表于 2009-5-5 13:50:30

顶一下LZ。分析非常不错!!

harvard 发表于 2009-5-5 14:01:33

if(RxdBuffer == 'R') wdt_enable(WDTO_250MS); // Reset-Commando
是否是接收缓冲区收到'R',使饿狗超时复位.

rei1984 发表于 2009-5-5 17:30:33

ls正解
页: [1]
查看完整版本: 对升级mega644通过bootload升级app的困惑。