wangqing_gxu 发表于 2013-1-5 00:31:17

神呀,烧录时BOOTRST打勾,怎么办?

    唉,碰到一个怪现象!
   两个项目,用同一块底板,一个程序是我开发,另一个是别人开发(我不认识的人)。别人的开发完成先,他们为了赶工,把别人的软件都烧在板上,烧录时BOOTRST打勾了,也就是说启动时不是指到地址0,而是指到引导头,别人的程序可以正常运行。
   而烧我的程序进去,再了同有反应。之前BOOTRST没有被打勾的就正常。也就是说我的程序必须指向地址0才能跑。而用ISP怎么恢复BOOTRST都没用。
   现在我的问题是,别人的程序,上电启动时指向引导头怎么能正常运行呢?而我的程序不行。
   能不能在我的程序里加上什么处理,我的程序也可以指向引导头都可能正常跑呢?

   希望有高手能解答,急死个人了。

wangqing_gxu 发表于 2013-1-5 00:58:56

NND,刚发完个贴,百度上一搜,就搜出来了,以为是找到解决方法了,进来一看,原来是俺刚拉的!
这是多么神奇的坛!

cock 发表于 2013-1-5 04:33:13

bootload区也是程序区,能写程序的地方,能玩出多少花样,楼主自己写程序的人,也应明白。
比如我自己的Boot程序,对APP区进行累加检验,不对不出去。对APP版本进行核对,错了也不出。

但楼主未说明是何种芯片,是何方法写程序进芯片的,就让人更难猜测了。如果是ISP,写程序时应该已经把BOOT区的程序擦去了。就算BootRST有效,但BOOT区是FF,运行到底一翻篇,不就回到0000运行了。没问题啊?我估计问题是出在楼主的IPS机器上,可能版本太旧,对新片子操作有误。

wangqing_gxu 发表于 2013-1-6 00:41:05

cock 发表于 2013-1-5 04:33 static/image/common/back.gif
bootload区也是程序区,能写程序的地方,能玩出多少花样,楼主自己写程序的人,也应明白。
比如我自己的Boo ...

谢谢cock!
我用MEGA64的片子,它的BOOT应该是7000到7E00有四段可选。不过我的代码太大,这段空间是有程序的。
因为之前烧别有的程序能运行的是BIN文件,今天试了一下把我的HEX转成BIN,把看门狗去掉,BOOTRST打勾也能运行。就不清楚为什么HEX不行而BIN可以。
不过要是复位是跳到BOOT里跑死了再回到0000H,那太危险了!
页: [1]
查看完整版本: 神呀,烧录时BOOTRST打勾,怎么办?