RealTek-Flash架构及使用Flash取代Eeprom方法--Part-1.docxVIP

RealTek-Flash架构及使用Flash取代Eeprom方法--Part-1.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

RealTek-Flash架构及使用Flash取代Eeprom方法--Part-1

RealTek的CODE中,把64kbytes的BANK也称之为BANK,一个BANK中,又分为16个4kbytes,每个4kbytes称之为Page.

2Mbits的FLASH,Bank0~Bank3中,只有最后一个Bank(Bank3)的最后4个PAGE(即:page12~page15)用来做replaceeeprom使用。

放大Bank3:

2:RealTek的FlashPage分析。

一:Page12~Page14解析:

在Realtek的Flash架构设计中,每一个Page(4kbyges,除Page15外)又被细分为16X256个区块,每个区块称之为每笔资料。

其中:

每个Page的最后一笔资料(最后16个byte)用来指示当前Page的信息。

任意一笔资料的第一个byte为此笔资料的Index,最后一个byte为这笔资料的Checksum。

每个Page最多可以存储255笔(0~254)资料。

如下所示(Page12~Page14任意一个):

二:Page15解析:

前面已经有说过,在Realtek的Code中,Page15是一个比较特殊的Page,它在软体中的功能是唯一的:只用来存放HDCP-KEY。

Page15的MCU寻址地址为:0xF000~0xFFFF,可是,Realtek的HDCP-KEY的总长度只有325个byte(包含了前5个byte--包含20个0和20个1的控制key和后320个byte--20组,每组16byte的key)。

325个byte却占用了4Kbyte的空间是不是太浪费了??

1:大部分的FLASH的擦除,只能是以4K为单位来擦除,如果放HDCP-KEY的4K有存放其它需要经常更新的数据,会把HDCP-KEY擦除而不可恢复。

2:Page15的除了HDCP-KEY占用的之外的那些BYTE,也无法去存放数据,因为MCU软体中已经有占用了一部分的寻址空间,用来作为特殊功能寄存器(XFR)及DDCRAM的寻址使用,即使你往Page15的另外的那些地址存资料,MCU也无法认到(因为用来寻址的地址总线被占用)。

如下所示:

以LENOVO_LI2361D的CODE为例。

在LENOVO_LI2361D的KeilC中,以下步骤打开对话框:

从上可以看到,Off-chipXdatamemory占用的寻址地址为以0xFB00为起始的地址,长度为0x0300的空间,即:0xFB00~0xFE00,因为我们的Bank0~Bank3使用的都是Xdata的寻址方式,而Bank0~Bank2的寻址地址被用来寻找存放CODE二进制代码,所以,此处占用的Xdata是占用了Bank3的寻址地址,即它占用的是Bank3的Page15的部份地址。

3:在显示器的规范中,有PC99的要求,即:当显示器在DCOFF的时候,接上显卡,显卡要有读取显示器的EDID的能力。

在早期的RealteIC,如RTD2122/RTD2120系列,它的主板上没有独立的24C02,不过它在IC内部有独立一块空间,用来与PC进行DDC的数据交换,称之为DDCRAM。

现在的RealtekIC的主板上,都是独立的24C02,在显卡的微弱电力下,可以直接与PC进行DDC数据的传送,所以,已经取消了IC内部DDCRAM功能。

虽然目前的IC已经Disable了DDCRAM功能,可是软体上还是有预留出DDCRAM的寻址地址,如下图所示:

注:以下这个图片是以RTD2476D的ICSPEC为BASE得到的,不同IC,它的地址不一定相同。

由以上图片可知,它同样占用了Bank3的Page15的部份寻址地址,而且,与特殊功能寄存器的地址0xFB00~0xFE00会有部分的地址重合,这没有关系,因为目前的RealtekIC的软体,已经不需要用DDCRAM功能,DDCRAM的地址实际已经没有什么意义。

由以上几点,可得,Page15的解析图如下:

具体设定可以查看:

3:RealTek的FlashPage存储方式举例

Realtek的软体中,把Bank3的Page12~Page14这三个page,分别用来存放Mode参数,Global参数,另外一个Freepage,用来做data的搬运使用。具体哪个page用来存放哪种参数,是不定的,在flash的初始化的时候,page12用来存放MODE参数,page13用来存放global参数,page14用作freepage。可是,当有一个page的data存满的时候,进行data的搬运后,三个page的角色又会相应变化。

在flash.

文档评论(0)

158****1866 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档