十万火急。。。请教马潮老师:不能退出bootloader,跳转到application程序
当我用马老师的程序以及icc上传了bootloader后,传送了bin文件后,用ponyprog读程序区,可以看到程序已经上传,bootloader区也正常。但不能退出bootloader, 总是下面信息,谢谢了。Type 'd' download, Others run app.
OK
Type 'd' download, Others run app
OK
Type 'd' download, Others run app
OK
Type 'd' download, Others run app 问题解决了,是我的Hex2Bin.exe 转换有问题。 不知道你使用那块片子。
1。关掉电源重新上电,PC上能否有Type 'd' download, Others run app信息,然后按其它键,(只要不是d键)或等待3秒钟,看能否执行你的APP程序。
2。如果下载APP正常,可能的问题为
- BOOT的空间太小,没有放下完整的BOOT程序,把后面的一点返回代码截掉了。
- 返回代码最好为绝对转移的长跳指令,既汇编的JMP,而不是RJMP。如果你使用的C,采用高级别的优化编译,编译器可能将其优化为RJMP指令,造成不能正确跳到0000处开始执行。
-----------------------------------------------------------------------------------
呵呵,我把问题想复杂了。既然HEX2BIN有问题,那么APP没有问题了?
请确认。否则要被人骂了:) 请教马老师:
1. 用你的代码,由bootloader更新下载应用代码成功,能自动跳转到应用代码运行;
2. 上电复位后,等3秒不按“D”键,M128不能自动跳转到应用程序执行;
3. 将上电复位向量改为应用程序区(mkII设定熔丝),上电后,也不能跳到应用代码运行;
即以上,通过bootloader更新应用程序代码,能切换到应用程序执行; 其它方法(boot区启动3秒超时,或应用区启动)应用程序不能执行!
谢谢马老师. 马潮老师就是牛啊,拿他的程序,一次就成功!
页:
[1]