CN102981974B - 一种嵌入式系统中内存大小的自动识别方法 - Google Patents
一种嵌入式系统中内存大小的自动识别方法 Download PDFInfo
- Publication number
- CN102981974B CN102981974B CN201210446034.4A CN201210446034A CN102981974B CN 102981974 B CN102981974 B CN 102981974B CN 201210446034 A CN201210446034 A CN 201210446034A CN 102981974 B CN102981974 B CN 102981974B
- Authority
- CN
- China
- Prior art keywords
- memory
- chip
- address
- discrimination module
- internal memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000008878 coupling Effects 0.000 abstract description 2
- 238000010168 coupling process Methods 0.000 abstract description 2
- 238000005859 coupling reaction Methods 0.000 abstract description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
一种嵌入式系统中内存大小的自动识别方法,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,在系统中增设内存判别模块,自动识别的方法步骤中包括:1)、将内存芯片的内存初始化为最大的内存地址空间,指定该内存芯片所需匹配的最小内存大小为2M;2)、内存判别模块从内存起始地址0~2/kM地址范围内选取一个地址,作为标志地址S,在S处写入特定标志数据P;3)、在S+2M的地址处去读特定标志数据P,其中m=n-logk,若读到特定标志数据,则判定内存大小为k×2
Description
技术领域
本发明涉及一种内存大小自动检测适应的方法,具体地说是一种嵌入式系统中内存大小的自动识别方法。
背景技术
嵌入式系统的特点就是可以灵活满足各种特殊的应用场景,在硬件技术高速发展的今天,软件可以充分利用硬件提供的资源进行各种特定功能的开发。为了更高效的适应产品的多样性,在有限的时间内开发的软件应该最大程度的进行复用,在硬件初始化阶段,硬件的差异性会导致一系列的问题,在此阶段,除了各个硬件特有的参数设置外,能实现自动检测的应该尽最大可能进行自动检测适应。内存大小自动检测适应就是基于此目的而开发的新功能。
专利CN1564130A公开了一种判别嵌入式系统内存大小的方法,该方法存在缺陷,即采用的第一地址必须为实际内存大小的2的N次方分之一,但在未知内存大小的情况下,这个初始地址无法确定,即如果需要同时判断1.5M及2M的内存,是无法判断的;再者上述专利提供的方法只能适用于有一个逻辑bank的情况,在有多个逻辑bank的情况下,该专利的方法是不适用的;总之,专利CN1564130A所采用的判断方法局限性高、适用范围狭窄,且判断方法繁琐、效率低下。
发明内容
本发明为了提供一种能够适用内存芯片存在多个逻辑bank的情况、使用范围广泛、方法便捷的内存大小的自动识别方法,设计了一种嵌入式系统中内存大小的自动识别方法,本发明方法简单、可靠、实用;使用范围广泛,可以进一步扩展。
本发明采用的技术方案是:一种嵌入式系统中内存大小的自动识别方法,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,其中k为正整数,关键在于:在嵌入式系统中增设与主控芯片连接的内存判别模块,在此基础上,内存判别模块进行内存大小的自动识别的方法步骤中包括:
1)、内存判别模块将内存芯片的内存大小初始化为内存控制器所能访问的最大的内存地址空间,并指定该内存芯片所需匹配的最小内存大小为2nM;
2)、内存判别模块从内存起始地址0~2n/kM地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写入特定标志数据P;
3)、内存判别模块在S+2mM的地址处去读特定标志数据P,其中m=n-log2K,若读到特定标志数据,则判定内存大小为K×2mM,跳至步骤4);若读不到,则n=n+1,跳至步骤3);
4)、内存判别模块将判定结果反馈至主控芯片,识别过程结束。
以主控芯片RTL8196E、内存芯片为SDRAM为例说明本发明的具体原理在于:
1、在RTL8196E上提供了MA12引脚串接0欧电阻接54pinSDRAM的36引脚,SDRAM的逻辑bank固定为4个;
2、对16M的SDRAM来说A0到A11为行地址引脚,A0到A8为列地址引脚,与行地址引脚分时复用,其中A12引脚为NC脚;
3、对32M的SDRAM来说A0到A12为行地址引脚,A0到A8为列地址引脚,与行地址引脚分时复用;
4、如上描述的三点就具备了我们进行内存大小自动检测的条件,简而言之就是不同大小的内存使用的引脚数目相同,并有相同数目的逻辑bank,其中有部分引脚在小内存的寻址中未用到,即为NC脚;
5、具体现象表现为用最大内存大小进行相关初始化,如果实际物理内存较之小的话就会在相应内存区域出现重叠寻址,通过重叠寻址的范围及次数可以判断出实际内存的大小。
本发明的有益效果是:1、原理简单,方法可靠,实现了软件的可复用。2、使用范围广泛,不仅限于SDRAM,对DDR等各种系列内存也适用,只要具备寻址规格统一并存在NC脚的特点。3、可以进一步扩展:该方法不仅适用于网络终端通讯设备,对其他嵌入式设备也适用,并可对可更换不同大小内存进行支持。对不同型号的内存可以分型号依据标准处理,如SDRAM一般逻辑bank为4,DDR-Ⅱ为8等。
具体实施方式
一种嵌入式系统中内存大小的自动识别方法,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,其中k为正整数,重要的是:在嵌入式系统中增设与主控芯片连接的内存判别模块,在此基础上,内存判别模块进行内存大小的自动识别的方法步骤中包括:
1)、内存判别模块将内存芯片的内存大小初始化为内存控制器所能访问的最大的内存地址空间,并指定该内存芯片所需匹配的最小内存大小为2nM;
2)、内存判别模块从内存起始地址0~2n/kM地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写入特定标志数据P;
3)、内存判别模块在S+2mM的地址处去读特定标志数据P,其中m=n-log2K,若读到特定标志数据,则判定内存大小为K×2mM,跳至步骤4);若读不到,则n=n+1,跳至步骤3);
4)、内存判别模块将判定结果反馈至主控芯片,识别过程结束。
所述的主控芯片的型号为RTL8196E。
所述的内存芯片是SDRAM芯片、或是DDR芯片、或是DDR-Ⅱ芯片。
所述的SDRAM芯片与主控芯片的接口是54pin。
在具体实施时,以SDRAM内存芯片,逻辑BANK数目为4,SDRAM芯片的内存控制器的最大寻址空间为32M为例,进行内存大小自动识别时的步骤为:
1)、内存判别模块指定该内存芯片所需匹配的最小内存大小为23M,此时,n=3;
2)、从内存起始地址0~2M地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写特定标志数据P;
3)、a、如果在S+2M地址处都能读到特定标志数据P,则判定内存大小为4*2=8M,跳至步骤4);如果读不到,则将n+1,即n=4,再在S+4M地址处去读特定标志数据P,如果读到,则内存大小为4*4=16M,跳至步骤4);如果读不到,则再将n加1,即n=5,再在S+8M地址处去读特定标志数据P,如果读到,则判定内存大小为4*8=32M,跳至步骤4);如果读不到,则再将n+1,继续依上述方法判断,直至读到特定标志数据P为止;
4)内存判别模块将判定结果反馈至主控芯片,识别过程结束。
本自动识别方法原理简单,方法可靠,实现了软件的可复用,且使用范围广泛,不仅限于SDRAM,对DDR等各种系列内存也适用。
Claims (4)
1.一种嵌入式系统中内存大小的自动识别方法,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,其中k为正整数,其特征在于:在嵌入式系统中增设与主控芯片连接的内存判别模块,在此基础上,内存判别模块进行内存大小的自动识别的方法步骤中包括:
1)、内存判别模块将内存芯片的内存大小初始化为内存控制器所能访问的最大的内存地址空间,并指定该内存芯片所需匹配的最小内存大小为2nM;
2)、内存判别模块从内存起始地址0~2n/kM地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写入特定标志数据P;
3)、内存判别模块在S+2mM的地址处去读特定标志数据P,其中m=n-log2K,若读到特定标志数据,则判定内存大小为K×2mM,跳至步骤4);若读不到,则n=n+1,跳至步骤3);
4)、内存判别模块将判定结果反馈至主控芯片,识别过程结束。
2.根据权利要求1所述的一种嵌入式系统中内存大小的自动识别方法,其特征在于:所述的主控芯片的型号为RTL8196E。
3.根据权利要求1所述的一种嵌入式系统中内存大小的自动识别方法,其特征在于:所述的内存芯片是SDRAM芯片、或是DDR芯片、或是DDR-Ⅱ芯片。
4.根据权利要求3所述的一种嵌入式系统中内存大小的自动识别方法,其特征在于:所述的SDRAM芯片与主控芯片的接口是54pin。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210446034.4A CN102981974B (zh) | 2012-11-09 | 2012-11-09 | 一种嵌入式系统中内存大小的自动识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210446034.4A CN102981974B (zh) | 2012-11-09 | 2012-11-09 | 一种嵌入式系统中内存大小的自动识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102981974A CN102981974A (zh) | 2013-03-20 |
CN102981974B true CN102981974B (zh) | 2016-03-09 |
Family
ID=47856026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210446034.4A Expired - Fee Related CN102981974B (zh) | 2012-11-09 | 2012-11-09 | 一种嵌入式系统中内存大小的自动识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981974B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273852A (zh) * | 2018-12-04 | 2020-06-12 | 智微科技股份有限公司 | 存储器区块大小判定方法 |
CN113297014B (zh) * | 2020-02-22 | 2024-03-08 | 广州希姆半导体科技有限公司 | 待测内存容量的识别方法及装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1274888A (zh) * | 1999-05-25 | 2000-11-29 | 英业达股份有限公司 | 高速缓冲存储器之存储容量的检测方法 |
US6542990B1 (en) * | 2000-05-04 | 2003-04-01 | Sun Microsystems, Inc. | Array access boundary check by executing BNDCHK instruction with comparison specifiers |
CN1564130A (zh) * | 2004-04-06 | 2005-01-12 | 中兴通讯股份有限公司 | 一种判别嵌入式系统内存大小的方法 |
-
2012
- 2012-11-09 CN CN201210446034.4A patent/CN102981974B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1274888A (zh) * | 1999-05-25 | 2000-11-29 | 英业达股份有限公司 | 高速缓冲存储器之存储容量的检测方法 |
US6542990B1 (en) * | 2000-05-04 | 2003-04-01 | Sun Microsystems, Inc. | Array access boundary check by executing BNDCHK instruction with comparison specifiers |
CN1564130A (zh) * | 2004-04-06 | 2005-01-12 | 中兴通讯股份有限公司 | 一种判别嵌入式系统内存大小的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102981974A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104517646B (zh) | 基于快闪存储器的存储设备和操作方法 | |
CN101419843A (zh) | 快闪存储器识别方法、识别装置、芯片控制器 | |
CN102522123B (zh) | 利用数据产生器模块来提高存储设备读写测试效率的方法 | |
CN105023617B (zh) | 存储器件、存储系统和操作存储器件的方法 | |
CN103761494A (zh) | 一种识别rfid系统丢失标签的方法和系统 | |
CN102169463A (zh) | 一种基于iic总线的制造信息的获取方法和设备 | |
CN100464193C (zh) | 芯片测试系统和芯片测试方法 | |
CN103077102A (zh) | 计算机开机侦测系统 | |
CN103902458A (zh) | 一种通用的存储软件测试设计方法 | |
US20100274999A1 (en) | Control system and method for memory | |
CN103973340B (zh) | 近场通信方法和近场通信设备 | |
CN102981974B (zh) | 一种嵌入式系统中内存大小的自动识别方法 | |
CN102013274B (zh) | 一种存储器的自检测电路和方法 | |
CN103778964A (zh) | 一种NAND Flash烧写数据的处理、使用方法及装置、系统 | |
CN101986327A (zh) | 一种sd/mmc卡免检测脚在线/离线检测方法 | |
CN105930754A (zh) | 一种ic卡读卡器及其接口扩展方法 | |
CN106297889B (zh) | 存储器测试系统及其测试方法 | |
CN108984213A (zh) | 支持多类型Riser卡识别扩展的方法、主板及服务器 | |
CN101853198B (zh) | 地址总线的检测方法、设备和系统 | |
CN107943644A (zh) | 一种用于基于local bus总线的设计的功能验证平台的搭建方法 | |
CN107516536A (zh) | 存储器接口、控制电路单元、存储装置及时脉产生方法 | |
CN103809918A (zh) | 储存媒体、存取系统及方法 | |
CN102751966A (zh) | 延迟电路和存储器的潜伏时间控制电路及其信号延迟方法 | |
CN105260133A (zh) | 一种移动终端emmc的数据写入方法及系统 | |
CN106571165B (zh) | 一种ddr器件读写信号的测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160309 |