打印
[STM8]

看门狗溢出复位后,怎样禁止RAM清零

[复制链接]
4867|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jw5200545|  楼主 | 2014-4-14 08:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求是只是上电复位的时候清零RAM,在别的复位发生时候,不清零RAM,应该怎样阻止对RAM清零。急。。。。求高手。。。。在线等!
沙发
jw5200545|  楼主 | 2014-4-14 09:25 | 只看该作者
啥情况,等了几个小时了,居然没人回答!

使用特权

评论回复
板凳
icecut| | 2014-4-14 09:31 | 只看该作者
jw5200545 发表于 2014-4-14 09:25
啥情况,等了几个小时了,居然没人回答!

你还想马上有人回答啊....这可不是付费讨论....没人抢钱....

1.确认cpu能不能判断复位方式.
2.确认ram清零是软件作为.
3.在2处加条件跳过清零

使用特权

评论回复
地板
jw5200545|  楼主 | 2014-4-14 09:48 | 只看该作者
应该是Cosmic CxSTM8   编译器把RAM清零了,应该怎样才能禁止,我现在具体使用方法:检测上电复位后,对RAM清零,当检测独立看门狗溢出复位后,不对RAM清零。谢谢。。。

使用特权

评论回复
5
通宵敲代码| | 2014-4-14 14:07 | 只看该作者
具体问题具体分析,分析看门狗复位的过程,将RAM清零的指令屏蔽掉。

不过不知道可行不可行,看门狗复位本身的作用就是为了防止程序跑飞的,
一旦程序跑飞那基本可以肯定是内部传输的数据出问题了,ram应给是要被清零的,
这样才能保证看门狗复位的作用。
而你却要屏蔽掉清零指令,这样做有什么特殊需要吗??还是自己研究着玩。

使用特权

评论回复
6
airwill| | 2014-4-14 15:20 | 只看该作者
是的, 编译器把RAM清零了, 准确地说, 是启动代码.
看看如何跳过这段代码或改造一下它

使用特权

评论回复
7
qd118| | 2014-4-14 17:40 | 只看该作者
我也想知道启动代码在哪里(iar编译 )

使用特权

评论回复
8
jw5200545|  楼主 | 2014-4-14 19:25 | 只看该作者
是这样的:我现在做一个电池产品,程序只需要1秒左右执行一次,执行完了以后,就让整个系统停掉,进去休眠状态,我看手册,只有进入halt  才能让耗电量达到最低。而看门狗刚好是在1秒的时候,就会溢出,溢出后程序执行一次,然后再进入休眠,然后在溢出,这样循环。现在的问题是,看门狗溢出复位后,和上电复位,效果是一样的,但我希望是启动代码只在上电复位的时候执行,在别发复位发生时,不执行。。。。。。。

使用特权

评论回复
9
aerwa| | 2014-4-14 21:34 | 只看该作者
1关掉看门狗;2 程序里清看门狗。

使用特权

评论回复
10
l4157| | 2014-4-14 23:17 | 只看该作者
jw5200545 发表于 2014-4-14 19:25
是这样的:我现在做一个电池产品,程序只需要1秒左右执行一次,执行完了以后,就让整个系统停掉,进去休眠 ...

IAR用__no_init 定义变量 可以让变量不被初始化,然后判断CPU是上电启动或WDT启动,然后选择要不要初始化变量...

使用特权

评论回复
11
北海326| | 2016-7-25 18:27 | 只看该作者
STVD软件内可以设置不清除RAM。IAR的还不了解怎么搞~

复位不清ram.pdf

309.19 KB

使用特权

评论回复
12
qbasicljx| | 2016-7-26 09:37 | 只看该作者
如果不是硬件清零的话,修改启动代码了

使用特权

评论回复
13
华发早生| | 2016-9-1 14:26 | 只看该作者
感觉还是STVD强大点,但是在非调试状态下不能查看程序跳转是很蛋疼的一件事。希望ST能在后续版本中改进。。。

使用特权

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

本版积分规则

2

主题

7

帖子

1

粉丝