- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
U-boot中自动检测内存容量机制的设计.pdf
第 34卷到~ 4 期
2014 年 7 月
杭州电子科技大学学报
J∞ma1 of Hangzhou D?an.ú Un?vers?IY
VoI. 34 , No.4
Ju l. 2014
。引
U-boot 中自动检测内存容量机制的设计
程 文,陈科明
(杭州电子科技大学级电子 CAD研究所,浙江杭州 310018)
摘要: 目前 U-boot 无法自动检测硬件系统的实际内存大小,需要预先进行手工配置,增加了 U-boot
的移植难度。 针对这一问题设计了自动检测内存容量的机制,先假设内存大小再进行配置和检
测,然后根据硬件反馈的信息、进行验证并重新配置。 自动检测内存容盒机制在基于 53C6410 的开
发板 OK6410 上进行了验证结果表明该机制有效可行并且实现该机制的代码只需要不到IJ 1 k 字
节的存储空间 。
关键词 : 自 ?;}J检测;配置 ;验证
中图分类号 : 1、阿 16.4 文献标i只码 : A 文章编号 : 1001 - 9146 (2014) 04 -∞75 -04
U-bOOL是目前被广泛采用并支持数十种 cpu 架构和 400 多种开发板的开源系统[ 1] ,被许多学者和
公司用于研究和学习 并添加自己编写的代码iJJ u _ boot 中如轻量级安全 TFTP 协议的研究[2) 。 但是
U-bOOL 只是给具体架构的 cpu 编写配置内存代码,无法判断内存的大小配置是否正确,不具备自动检测
系统内存容量的机制。 由于不同的系统所使用的内存不同而大多数系统的解决办法是在 U-boot 中配
置适合自己系统的这一型号的内存。 有的在 epu_injt. S 文件中增加了适合 TQ6410 系统的内存识别功
能和合适的配置,并没有介绍在不知内存容量的情况下是如何获得内存容量[匀 。 有的介绍了内存的分
布,却没有实现在不同内存容量的条件下 U-boot 还能运行的功能问 。 如果将这些 U-bOOL 用到其他不同
内存的系统中就无法工作这导致对 U-boot 移植的难度增加了同时也增加了开发时间并降低了应用
的广泛度,基于这一背景,本文介绍了一种自动检测内存容量的机制,根据检测的结果重新配置参数,实
现了在不同内存的系统中都可以正常运行和引导操作系统的功能。
1 自动检测内存容量的方法
目前绝大多数处理器包括 arm 系列支持外接两片 16/32 位的存储器。 处理器上电后,初始化内存
控制器,外设存储器就会映射到处理器内部逻辑空间。 自动检测内存容量机制是先假定一个实际内存
大小,然后根据这一假设进行内存控制器的配置,接着对存储空间进行访问,根据反馈的信息验证假设
是否成立,如果不成立进行下一个假设,直至假设成立。 本文以三星 S3C6410 为例进行说明,S3C6410
支持两片外接 16/32 位的存储器 ,最大内存为 256 MB。 首先假设内存是 256 MB ,并配置 DRAM 控制器
为 256 MB 内存的参数。 如果内存是 128 MB ,会出现一种现象:由于 XMLADDR[ 13 ]没有连接 , DDR
内存的第 1 个 32 MB 和第 2 个 32 MB 存储的内容对应相同,第 3 个 32 MB 和第 4 个 32 MB 存储的内容
对应也是相间,根据这一现象可以推断,一共有 2 对相同大小的存储空间的内容互相对应相同 。 如果内
存容量是 64 MB,也会有类似的现象 : DDR 内存的第 1 个 16 MB,第 2 个 16 MB,第 3 个 16 MB 和第 4 个
收稿日期 :2013 -10 - 28
作者简介: 斗,男,安徽阜阳人,在读研究生,系统集成.
76 杭州电 子 科技 大学学 报 2014 年
16 MB 存储的内容对应是相同的;第 5 个 16 MB、第 6 个 16 MB ..,第 7 个 16 MB 和第 8 个 16 MB 存储的
内容对应也是相同的,也是 2 对相同大小的存储空间的内容互相对应相同 。 如果 XMLADDR[ 13 ]位连
接,内存是 256 MB 容量时,没有出现大段内容互相相同的现象。 验证这种现象,便能检测出连接的内
存容量。 以 128 MB 的内存为例,在 U-bOOl 中向内存的第 1 个 32 MB 的 OxO 地址写一个 32 bit 的特殊数
据 Oxdeadbeef,接着读取第 2 个 32 M8 对应的偏移内存地址的内容,假如读取的数据和写的数据相同 ,
便说明这两个内存段对应的内容相同 。 为了避免特殊性(这两个地址的数据本身就是一样的) ,向第 2
个 32 MB 的同一地址处写入另一个数据 Oxbeefdead 接着读取第 1 个 32 M8 对应的偏移内存地址的内
容,假如读
您可能关注的文档
最近下载
- 湘少版2025年三年级春季学期英语阅读理解真题.pdf VIP
- 乘着歌声的翅膀降A调正谱伴奏.pdf VIP
- 游戏开发与游戏运营的策划技巧.docx VIP
- (正式版)H-Y-T 147.1-2013 海洋监测技术规程 第1部分:海水(正式版).docx VIP
- 中央八项规定精神相关解读.ppt VIP
- 通用学术英语1(张敬源)课后习题答案.docx VIP
- (统编2024版)语文八年级上册第三单元解读课件(新教材).pptx
- 河南安阳红色文化传承模式研究.pptx VIP
- 人教PEP版(2024)三年级上册英语全册教案(单元整体教学设计) .pdf
- 加快建设教育强国、科技强国、人才强国PPT课件 .pptx VIP
原创力文档


文档评论(0)