码迷,mamicode.com
首页 > 其他好文 > 详细

NVRAM 简介(Xv6-JOS /kern/kclock.c 简要分析)

时间:2014-10-08 14:58:44      阅读:430      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   for   sp   

NVRAM 简介


问题的引出,在kclock.c看到如下的代码,之前做过CMOS时间信息读取的练习,但是还是会奇怪,怎么会去IO_RTC+1地址处读东西呢?

bubuko.com,布布扣


看看何方神圣调用了这两个函数

bubuko.com,布布扣

这里传入了参数NVRAM_BASELO以及NVRAM_EXTLO,这什么东东

在pmap.c里面可以找到相关定义,然后感觉有些晕菜啊~

bubuko.com,布布扣



究竟inb都在RTC里面读了些神马,还是去看MC146818芯片的datasheet才会知道

bubuko.com,布布扣

我们常遇到或者读取的会是右边部分的CMOS时间信息

注意MC_NVRAM_START 的定义就是0xe(由kclock.h可知),So ... 我们看到这里50byte 的user RAM起始地址就是14(0xe)



但是看i386_memory_detect()

会觉得很奇怪, 物理内存的多少会写到RTC芯片的RAM里面去么?有待Linuxers 讨论~

bubuko.com,布布扣


update:2014.10.08


以前看CSAPP只知道RAM分两种——SRAM和DRAM,这两种都会因为掉电而丢失信息是volatile

而像EPPROM,FLASH之类就不会因为掉电丢失信息.


                  RAM is normally associated with volatile types of memory (such asDRAM memory modules), where stored information is lost if the power is removed, although many efforts have been made to develop non-volatile RAM chips  —— wikipedia.


bubuko.com,布布扣


WTK....我一直琢磨NVRAM是什么,咋么是这么个简写. non-volatile RAM


至于RAM里面储存什么信息,那是之前就订好的事情了,关于为什么NVRAM_BASELO等是如前图所示那样定义的,这方面的资料很少(本人没有找到,如有高手路过恳请指导)




NVRAM 简介(Xv6-JOS /kern/kclock.c 简要分析)

标签:style   blog   http   color   io   os   ar   for   sp   

原文地址:http://blog.csdn.net/cinmyheart/article/details/39871639

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!