一种嵌入式系统中内存大小的自动识别方法技术方案

技术编号:8452938 阅读:230 留言:0更新日期:2013-03-21 14:47
一种嵌入式系统中内存大小的自动识别方法,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,在系统中增设内存判别模块,自动识别的方法步骤中包括:1)将内存芯片的内存初始化为最大的内存地址空间,指定该内存芯片所需匹配的最小内存大小为2M;2)内存判别模块从内存起始地址0~2/kM地址范围内选取一个地址,作为标志地址S,在S处写入特定标志数据P;3)在S+2M的地址处去读特定标志数据P,其中m=n-logk,若读到特定标志数据,则判定内存大小为k×2M,跳至步骤4);若读不到,则n=n+1,跳至步骤3);4)内存判别模块将判定结果反馈至主控芯片,识别过程结束。本方法能够适用内存芯片存在多个逻辑bank的情况、使用范围越广泛、且便捷、效率高。

【技术实现步骤摘要】

本专利技术涉及一种内存大小自动检测适应的方法,具体地说是。
技术介绍
嵌入式系统的特点就是可以灵活满足各种特殊的应用场景,在硬件技术高速发展的今天,软件可以充分利用硬件提供的资源进行各种特定功能的开发。为了更高效的适应产品的多样性,在有限的时间内开发的软件应该最大程度的进行复用,在硬件初始化阶段, 硬件的差异性会导致一系列的问题,在此阶段,除了各个硬件特有的参数设置外,能实现自动检测的应该尽最大可能进行自动检测适应。内存大小自动检测适应就是基于此目的而开发的新功能。专利CN1564130A公开了一种判别嵌入式系统内存大小的方法,该方法存在缺陷, 即采用的第一地址必须为实际内存大小的2的N次方分之一,但在未知内存大小的情况下, 这个初始地址无法确定,即如果需要同时判断1.5M及2M的内存,是无法判断的;再者上述专利提供的方法只能适用于有一个逻辑bank的情况,在有多个逻辑bank的情况下,该专利的方法是不适用的;总之,专利CN1564130A所采用的判断方法局限性高、适用范围狭窄,且判断方法繁琐、效率低下。
技术实现思路
本专利技术为了提供一种能够适用内存芯片存在多个逻辑bank的情况、使用范围广泛、方法便捷的内存大小的自动识别方法,设计了,本专利技术方法简单、可靠、实用;使用范围广泛,可以进一步扩展。本专利技术采用的技术方案是,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,其中k为正整数,关键在于在嵌入式系统中增设与主控芯片连接的内存判别模块,在此基础上,内存判别模块进行内存大小的自动识别的方法步骤中包括I)、内存判别模块将内存芯片的内存大小初始化为内存控制器所能访问的最大的内存地址空间,并指定该内存芯片所需匹配的最小内存大小为22)、内存判别模块从内存起始地址(T2ft/k M地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写入特定标志数据P ;3)、内存判别模块在S+2m M的地址处去读特定标志数据P,其中m=n-log a k,若读到特定标志数据,则判定内存大小为kX2 Λ Μ,跳至步骤4);若读不到,则η=η+1,跳至步骤3);4)、内存判别模块将判定结果反馈至主控芯片,识别过程结束。以主控芯片RTL8196E、内存芯片为SDRAM为例说明本专利技术的具体原理在于1、在RTL8196E上提供了MA12引脚串接O欧电阻接54pin SDRAM的36引脚,SDRAM的逻辑bank固定为4个;2、对16M的SDRAM来说AO到All为行地址引脚,AO到A8为列地址引脚,与行地址引脚分时复用,其中A12引脚为NC脚;3、对32M的SDRAM来说AO到A12为行地址引脚,AO到A8为列地址引脚,与行地址引脚分时复用;4、如上描述的三点就具备了我们进行内存大小自动检测的条件,简而言之就是不同大小的内存使用的引脚数目相同,并有相同数目的逻辑bank,其中有部分引脚在小内存的寻址中未用到,即为NC脚;5、具体现象表现为用最大内存大小进行相关初始化,如果实际物理内存较之小的话就会在相应内存区域出现重叠寻址,通过重叠寻址的范围及次数可以判断出实际内存的大小。本专利技术的有益效果是1、原理简单,方法可靠,实现了软件的可复用。2、使用范围广泛,不仅限于SDRAM,对DDR等各种系列内存也适用,只要具备寻址规格统一并存在NC脚的特点。3、可以进一步扩展该方法不仅适用于网络终端通讯设备,对其他嵌入式设备也适用,并可对可更换不同大小内存进行支持。对不同型号的内存可以分型号依据标准处理,如 SDRAM 一般逻辑 bank 为 4,DDR-1I 为 8 等。具体实施方式 ,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,其中k为正整数,重要的是在嵌入式系统中增设与主控芯片连接的内存判别模块,在此基础上,内存判别模块进行内存大小的自动识别的方法步骤中包括1)、内存判别模块将内存芯片的内存大小初始化为内存控制器所能访问的最大的内存地址空间,并指定该内存芯片所需匹配的最小内存大小为2 n M ;2)、内存判别模块从内存起始地址(T2n/k M地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写入特定标志数据P ;3)、内存判别模块在S+2^ M的地址处去读特定标志数据P,其中m=n-log 2 k,若读到特定标志数据,则判定内存大小为kX2 Λ Μ,跳至步骤4);若读不到,则η=η+1,跳至步骤3);4)、内存判别模块将判定结果反馈至主控芯片,识别过程结束。所述的主控芯片的型号为RTL8196E。所述的内存芯片是SDRAM芯片、或是DDR芯片、或是DDR-1I芯片。所述的SDRAM芯片与主控芯片的接口是54pin。在具体实施时,以SDRAM内存芯片,逻辑BANK数目为4,SDRAM芯片的内存控制器的最大寻址空间为32M为例,进行内存大小自动识别时的步骤为1)、内存判别模块指定该内存芯片所需匹配的最小内存大小为23 M,此时,n=3 ;2)、从内存起始地址(Γ2Μ地址范围内随机选取一个地址,作为标志地址S,在标志地址 S处写特定标志数据P ;3)、a、如果在S+2M地址处都能读到特定标志数据P,则判定内存大小为4*2=8M,跳至步骤4);如果读不到,则将n+1,即n=4,再在S+4M地址处去读特定标志数据P,如果读到,则内存大小为4*4=16M,跳至步骤4);如果读不到,则再将η加1,即η=5,再在S+8M地址处去读特定标志数据P,如果读到,则判定内存大小为4*8=32Μ,跳至步骤4);如果读不到,则再将 η+1,继续依上述方法判断,直至读到特定标志数据P为止;4)内存判别模块将判定结果反馈至主控芯片,识别过程结束。 本自动识别方法原理简单,方法可靠,实现了软件的可复用,且使用范围广泛,不仅限于SDRAM,对DDR等各种系列内存也适用。权利要求1.,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,其中k为正整数,其特征在于在嵌入式系统中增设与主控芯片连接的内存判别模块,在此基础上,内存判别模块进行内存大小的自动识别的方法步骤中包括 1)、内存判别模块将内存芯片的内存大小初始化为内存控制器所能访问的最大的内存地址空间,并指定该内存芯片所需匹配的最小内存大小为2n M ; 2)、内存判别模块从内存起始地址(Γ2n /k M地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写入特定标志数据P ; 3)、内存判别模块在M的地址处去读特定标志数据P,其中m=n-logk,若读到特定标志数据,则判定内存大小为kX2 - M,跳至步骤4);若读不到,则n=n+l,跳至步骤3); 4)、内存判别模块将判定结果反馈至主控芯片,识别过程结束。2.根据权利要求I所述的,其特征在于所述的主控芯片的型号为RTL8196E。3.根据权利要求I所述的,其特征在于所述的内存芯片是SDRAM芯片、或是DDR芯片、或是DDR- II芯片。4.根据权利要求3所述的,其特征在于所述的SDRAM芯片与主控芯片的接口是54pin。全文摘要,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,在系统中增设内存判别模块,自动识别的方法步骤中包括1)将内存芯片的内存初始化为最大的内存地址空间,指定该内存芯片所需本文档来自技高网...

【技术保护点】
一种嵌入式系统中内存大小的自动识别方法,是基于具有k个相同逻辑BANK的内存芯片的嵌入式系统中实现的,其中k为正整数,其特征在于:在嵌入式系统中增设与主控芯片连接的内存判别模块,在此基础上,内存判别模块进行内存大小的自动识别的方法步骤中包括:1)、内存判别模块将内存芯片的内存大小初始化为内存控制器所能访问的最大的内存地址空间,并指定该内存芯片所需匹配的最小内存大小为2????????????????????????????????????????????????M;2)、内存判别模块从内存起始地址0~2/k?M地址范围内随机选取一个地址,作为标志地址S,在标志地址S处写入特定标志数据P;3)、内存判别模块在S+2M的地址处去读特定标志数据P,其中m=n?logk,若读到特定标志数据,则判定内存大小为k×2M,跳至步骤4);若读不到,则n=n+1,跳至步骤3);4)、内存判别模块将判定结果反馈至主控芯片,识别过程结束。2012104460344100001dest_path_image001.jpg,212074dest_path_image001.jpg,966404dest_path_image002.jpg,dest_path_image003.jpg,578782dest_path_image002.jpg...

【技术特征摘要】

【专利技术属性】
技术研发人员:蓝清廉
申请(专利权)人:深圳市共进电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1