ky22334 发表于 2007-6-13 23:19:35

关于128的boot源码,不能从BOOTLOAD跳到flash区的问题??发现好多人问了,可是都没有解

我按照您的《高档8位单片机ATmega128原理与开发应用指南》一书中5.2.2给出的bootloader源码和设置在ICCAVR中建立工程,编译出来的bootloader烧到128上面后,在超级终端上观察,发现反复显示

Type 'd' download, Others run app.

OK

字样,即使在“Type 'd' download, Others run app.”出现3秒钟之内按下d键,超级终端上显示C后,把相应的bin文件发送给128,发送完成后,超级终端上还是反复出现

Type 'd' download, Others run app.

OK

而没有执行刚刚下载的程序,也是说,在执行bootloader里面的"jmp 0x0000"后,没有跳到A区,而还是跳到B区反复执行bootloader。

machao 发表于 2007-6-14 01:34:50

出现“OK”字符说明是能够跳到A区了。



你的A区程序必须是可以正常执行的,而且是一个死循环的程序,否则AVR可能执行完A区程序后又进入了BOOT程序。



先编写一个简单的A区程序,一个死循环结构,在循环体中控制一个LED闪烁。先采用ISP方式正常下载,证明你的A区程序正常后,再采用BOOT方式试试。



光拷贝程序是没有用的,要真正的理解原理。如果你对AVR还不是很熟悉的话,请先不要使用BOOT。

ky22334 发表于 2007-6-14 21:18:40

我只是想让程序转起来,先看看什么样的,昨天我把容丝位设置了,可是没有写到片子里面去,现在容丝位设置对了,可是程序却没反映了,连Type 'd' download, Others run app.都不返回了,我刚刚接触AVR,要在短时间里完成这个,实在没有太多的时间把AVR全部了解以便,不过现在我觉得已经了解了,可是程序就是转不起来,我把boot设置成了4k,因为..hex文件大小就三k,我的容丝位设置的是m103c,BOOTRST,应该没问题吧,单片机这个东西真是太神神奇了

testcode 发表于 2007-6-14 23:01:43

我的容丝位设置的是m103c?



ATmega103 Compatibility Mode:

Boot Loader capabilities is not supported.

machao 发表于 2007-6-15 18:43:48

我已经讲过了,请STEP BY STEP。
页: [1]
查看完整版本: 关于128的boot源码,不能从BOOTLOAD跳到flash区的问题??发现好多人问了,可是都没有解