12049|32

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CE6.0设置系统时间,重启后丢失? [复制链接]


在CE6.0控制面板中更改了系统当前时间,ARM RESET复位后时间能够保留,可是要系统断电后启动,时间不能够保留。

注册表是HIVE注册表。请问这个是什么原因? 时间是保存在注册表哪里的?

最新回复

刚解决完这个问题,是OAL的初始化里,有一个RTC初始化,把它去掉就可以了.  详情 回复 发表于 2010-4-7 16:01
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
补充下,每次断电重启后时间是 2006-1-1 12:00:00
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你的RTC有单独供电吗?如果没有的话断电再重启时间肯定没有了
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
在RTC供电部分加一个电容,用来提供短时间供电,可以解决这个问题。不过关机时间长了就行了。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

5
 
时间是要RTC支持的,朋友!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
RTC 纽扣电池必备的,呵呵,请注意。
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

7
 
这取决于你rtc的硬件和软件实现
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

8
 

可以确认硬件是没问题。

现在情况是,CE启动后过了几秒钟,时间突然改为之前校正后的时间。请问这是不是有关校准的驱动程序

没有提前执行导致的?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

9
 
这个很奇怪,按照道理应该是启动的时候系统会读取RTC的时间作为系统的时间
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
同意楼上,初始化之后就应该已经是系统rtc时间了。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

11
 
看看启动部分那段代码,有个初始化RTC的。
之前我也遇到过。
 
 
 

回复

293

帖子

0

TA的资源

纯净的硅(高级)

12
 
引用 10 楼 feishanm 的回复:
看看启动部分那段代码,有个初始化RTC的。
之前我也遇到过。



能详细提示下吗,你后来怎么解决的?我没有找到相关代码
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

13
 
要rtc硬件支持,但是软件里面也要修改的\Src\Common\Rtc中的文件。(\SDMEMORY\rtc.c)
大概过程:BOOL OALIoCtlHalInitRTC(
    UINT32 code, VOID *pInpBuffer, UINT32 inpSize, VOID *pOutBuffer,
    UINT32 outSize, UINT32 *pOutSize
) 主要是不要强制设置时间,而是采用断电有RTC时钟还在运行的时间,即实际的系统时钟OEMSetRealTime
我的是wince5.0的,不知道你6.0有没有这样的操作
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
可能是你没能正确获取RTC时间以及设置RTC时间,因为当没有RTC的时候系统启动后会默认设置一个时间,好像就是你的那个时间,然后一直走下去,而实际上这些东西都是在RAM里边的,没有与真实的RTC结合。
所以在你的BSP中OEMSetRealTime和OEMGetRealTime函数多加些打印信息,看看这两个函数是否被正确调用,以及从RTC中读取的时间和设置是否正常。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

15
 

断电后测试RTC电池电压输出正常,为3V. 利用ADS在调试状态下查看了下RTC寄存器,每次上电重启,发现时间寄存器RDCR,RYCR都复位为默认值,然后开始运行。

这就奇怪了,说明在电池状态下,RTC就没有工作?
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

16
 
那要看你的硬件电路以及系统启动和关机时都做了什么处理了。
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

17
 
你想想,你的关机没有电池供电,你怎么保存的住?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 12 楼 adrian_bleu 的回复:
要rtc硬件支持,但是软件里面也要修改的\Src\Common\Rtc中的文件。(\SDMEMORY\rtc.c)
大概过程:BOOL OALIoCtlHalInitRTC(
? ? UINT32 code, VOID *pInpBuffer, UINT32 inpSize, VOID *pOutBuffer,
? ? UINT32 outSize, UINT32 *pOutSize
) 主要是不要强制设置时间,而是采用断电有RTC时钟还在运行的时间,即实际的系统时钟OEMSetRealTime
我的是wince5.0的,不知道你6.0有没有这样的操作

如这位兄弟所说。。。
注释OEMSetRealTime()之类的代码。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

19
 
系统完全断电,时间肯定没有了,RTC模块需要一直供电才能保留时间。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

20
 
在 .bib 中 MODULES section 下的 module 已经被 relocation 过, 所以是无法直接 copy 出来的.

Paul, Chao @ Techware
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表