打印

STM8调试可以跑,烧录后不运行

[复制链接]
6810|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
saystar|  楼主 | 2011-6-13 19:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
很奇怪的现象,debug一切正常,于是烧录,配置字也是一个没改,结果就不动了。有时候街上STLINK-SWIM后烧一下用能动。谁遇到过这样的问题啊?没有晶振可是STM8是默认16M主时钟,读出烧录的文件也是正确的。到底哪里出问题了啊?
沙发
bobo5650| | 2011-6-14 08:41 | 只看该作者
本帖最后由 bobo5650 于 2011-6-14 08:43 编辑

可能是RST线路有问题或者芯片本身有问题。
我曾经遇到过一些有问题的芯片,接debug的时候能跑,断开debug之后就在不停的reset。
总之你可以抓一下rst引脚的波形看看。

PS:楼主用的是什么型号的芯片?我之前发现出问题的芯片的型号是STM8S903K3B6。

使用特权

评论回复
板凳
t.jm| | 2011-6-14 10:03 | 只看该作者
STM8S903K3B6我有用,没遇到你说的现象。

使用特权

评论回复
地板
香水城| | 2011-6-14 10:45 | 只看该作者
看看启动的时序是否合适,比如振荡器稳定的时间,其它外设稳定的时间等。

使用特权

评论回复
5
yinyehua| | 2011-6-14 10:55 | 只看该作者
是否与这个有关:Cosmic的debug下程序能运行,但release下却不一定,可能与编译器的优化和程序的写法有关,但Cosmic的优化设置却过于简单,可以检查一下最终程序的汇编代码.估计只能修改程序了

QQ截图未命名.jpg (188.46 KB )

QQ截图未命名.jpg

使用特权

评论回复
6
zsh198702| | 2011-6-14 11:01 | 只看该作者
你可以看看你程序里面有没有While
要是有的话可能是死在这里了
建议用
do{
    }while();

使用特权

评论回复
7
saystar|  楼主 | 2011-6-14 11:30 | 只看该作者
查到原因了,因为上电要初始化I2C设备,在调试的时候I2C没问题,但是正常跑的时候I2C不稳定导致死锁。加入I2C错误退出机制和足够延时后就能跑了。谢谢各位!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:生在中国又卒于中国,真是祸不单行啊!

19

主题

238

帖子

0

粉丝