打印
[STM8]

请问下 STM8 如何阻止复位RAM被清0

[复制链接]
4661|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
w67599|  楼主 | 2013-1-3 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 w67599 于 2013-1-6 10:29 编辑

执行main之前的函数请问在哪?头文件里面吗?可以说下哪个位置吗
沙发
明月小厨| | 2013-1-3 23:00 | 只看该作者
都掉电了RAM里还会有数据吗?

使用特权

评论回复
板凳
触觉的爱| | 2013-1-4 11:01 | 只看该作者
在电路中处理好不出现意外掉电的情况就行了

比如MCU供电部分串入一个二极管,并加入一个大容量电容储能,这样与其它电路离,当瞬间掉电时,还能撑一下。

使用特权

评论回复
地板
buaaszb| | 2013-1-4 14:02 | 只看该作者
复位后,会自动清零变量。若不想变量被清零,可将变量申请在_noinit区域。

使用特权

评论回复
5
hlzhang| | 2013-1-5 14:48 | 只看该作者
有个option选项里面找到run to main,你不要勾它即可。

使用特权

评论回复
6
拿起书本| | 2013-1-5 19:54 | 只看该作者
main函数执行之前,主要就是初始化系统相关资源

使用特权

评论回复
7
明月小厨| | 2013-1-5 20:16 | 只看该作者
一旦系统电压降到一定的程度,内部RAM的数据就被破坏了;和上电是否初始化无关;
上面有兄弟说的对;
1)加在电容的容量,能短暂续能维持;即使用超大电容,续能维持的时间也很有限(0.1秒级别);除非你工作在低功耗状态;
2)把数据存到备份域;用电池维持;
3)如果不用电池,可以用电容维持;但在小心VBAT端的就算是给104这样的小电容充电都是危险的;:)

使用特权

评论回复
8
明月小厨| | 2013-1-5 20:19 | 只看该作者
本帖最后由 明月小厨 于 2013-1-5 20:20 编辑

main前的执行函数是;Sysinit()就是;

使用特权

评论回复
9
w67599|  楼主 | 2013-1-6 10:35 | 只看该作者
本帖最后由 w67599 于 2013-1-6 10:38 编辑
明月小厨 发表于 2013-1-5 20:19
main前的执行函数是;Sysinit()就是;


请问下是在哪个文件下这个函数 我想找到他  不是上电复位的话 RAM不清0

使用特权

评论回复
10
jw5200545| | 2014-4-14 07:33 | 只看该作者
怎么就没结果了呢!我也是同样的问题,要求是只是上电复位的时候清零RAM,在别的复位发生时候,不清零RAM,应该怎样阻止对RAM清零。急。。。。求高手。。。。在线等!

使用特权

评论回复
11
w67599|  楼主 | 2014-5-8 15:11 | 只看该作者
jw5200545 发表于 2014-4-14 07:33
怎么就没结果了呢!我也是同样的问题,要求是只是上电复位的时候清零RAM,在别的复位发生时候,不清零RAM, ...

设置标志位 然后判断标志位 进入热启动前的工作状态   RAM清0的语句基本是软件自己本身有的 看你用什么编译软件了 不同软件地方不同

使用特权

评论回复
12
汉之云| | 2014-5-8 17:30 | 只看该作者
要看中断向量表。如果是cosmic的话是_stext,从_stext到main就是编译器启动文件,初始化也在里面,可以替换为你需要对热启动特别处理的程序

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝