社区
驱动开发/核心开发
帖子详情
请教关于内存读写的问题
nostopping
2008-10-02 05:59:54
最近想学习一下读写内存和端口的方法,但遇到了几个问题,希望高手指点一下:
1.2G内存,我可以操作的最大内存地址是多少?
(是不是2048M * 1024K * 1024B * 8 的十六进制,结果是400000000,这个好像不 对:)
2.为什么有的地址写进去值之后再读出来是正确的,而有的地址写进去之后,读出来的还是FFFFFFFF?
还有FFFFFFFF是不是表示空?
先谢谢各位看贴者,请高手指教!
...全文
140
12
打赏
收藏
请教关于内存读写的问题
最近想学习一下读写内存和端口的方法,但遇到了几个问题,希望高手指点一下: 1.2G内存,我可以操作的最大内存地址是多少? (是不是2048M * 1024K * 1024B * 8 的十六进制,结果是400000000,这个好像不 对:) 2.为什么有的地址写进去值之后再读出来是正确的,而有的地址写进去之后,读出来的还是FFFFFFFF? 还有FFFFFFFF是不是表示空? 先谢谢各位看贴者,请高手指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
linuxpgy
2008-10-13
打赏
举报
回复
楼主要说明自己的开发环境,还有是win32层呢,还是kernel层,是windows还是linux
gooogleman
2008-10-12
打赏
举报
回复
这个和wince估计差别不大
nostopping
2008-10-09
打赏
举报
回复
谢谢各位帮助,看来我需要学的东西还多着呢,
哪位能推荐下学习这些知识的好书或资料,有的话请帮个忙啊
xlanchen
2008-10-04
打赏
举报
回复
[Quote=引用 8 楼 nostopping 的回复:]
我的是2条1G内存,这两条内存里面也含有ROM吗?
[/Quote]
没有
nostopping
2008-10-04
打赏
举报
回复
我的是2条1G内存,这两条内存里面也含有ROM吗?
xlanchen
2008-10-04
打赏
举报
回复
[Quote=引用 5 楼 nostopping 的回复:]
看来上面我写的时候出现了点问题.介绍下我的机器环境:2G内存,Vista 32位OS.
请问4楼的:
"如果向某个地址写入数据再读回来,数据与写入的不同,则说明该位置不可写,可能是没有内存,也可能是ROM" 请问这个ROM指的是什么,内存不是单独的吗,和ROM有什么关系?还有内存的某个位置不可写是否就是说正有程序占用着这块区域?谢谢!
[/Quote]
你是在vista中写一个程序做这件事情吧??
那么你读写的内存不是物理地址空间;而是虚拟的进程地址空间。
在Windows中,进程地址空间有4GB,一般情况下 0~2G-1是用户态地址空间,3~4G-1是内核态地址空间
你对一个任意给定的地址读写,可能没问题,可能会报错。
xlanchen
2008-10-03
打赏
举报
回复
最好先了解一下,你所用板子的地址空间分布
就是rom在什么地址范围
ram在什么地址范围
之类的
I/O的话,最好知道是统一编址还是独立编址的
不过,你既然说是端口,应该就是独立编址的了
cnzdgs
2008-10-03
打赏
举报
回复
ROM是Read Only Memory(只读存储器)。内存由RAM(随机存储器)和ROM两部分组成,PC中的BIOS就是ROM。
nostopping
2008-10-03
打赏
举报
回复
看来上面我写的时候出现了点问题.介绍下我的机器环境:2G内存,Vista 32位OS.
请问4楼的:
"如果向某个地址写入数据再读回来,数据与写入的不同,则说明该位置不可写,可能是没有内存,也可能是ROM" 请问这个ROM指的是什么,内存不是单独的吗,和ROM有什么关系?还有内存的某个位置不可写是否就是说正有程序占用着这块区域?谢谢!
「已注销」
2008-10-03
打赏
举报
回复
1.2G内存,我可以操作的最大内存地址是多少?
(是不是2048M * 1024K * 1024B * 8 的十六进制,结果是400000000,这个好像不 对:)
如果是字节寻址。。应该是2048 * 1024 * 1024
2.为什么有的地址写进去值之后再读出来是正确的,而有的地址写进去之后,读出来的还是FFFFFFFF?
还有FFFFFFFF是不是表示空?
看看你的地址是否弄对了,还有地址空间是否可写
cnzdgs
2008-10-03
打赏
举报
回复
这种问题最好先描述一下你的系统。
你说的1.2G是1200M吧?1M是2的20次方,写成十六进制是100000。1200M就是4B000000。
如果向某个地址写入数据再读回来,数据与写入的不同,则说明该位置不可写,可能是没有内存,也可能是ROM。对于没有内存的情况,读出的结果与CPU有关,目前多数CPU在没有内存的地址读到的数据是全“1”,32位即FFFFFFFF。
nostopping
2008-10-03
打赏
举报
回复
楼上的能否说的详细点,
怎么知道是按字节寻址还是按位寻址的呀?这个寻址是由什么决定的?
谢谢!
游戏画面就弹出
内存
不能为read修复工具
出现这个现象有方面的,一是硬件,即
内存
方面有
问题
,二是软件,这就有多方面的
问题
了。 一:先说说硬件: 一般来说,电脑硬件是很不容易坏的。
内存
出现
问题
的可能性并不大(除非你的
内存
真的是杂牌的一塌徒地),...
0x00000000
内存
不能为read修复工具
一般来说,
内存
出现
问题
的可能性并不大,主要方面是:
内存
条坏了、
内存
质量有
问题
,还有就是 2 个不 同牌子不同容量的
内存
混插,也比较容易出现不兼容的情况,同时还要注意散热
问题
,特别是超频后。你 可以使用...
DOS 软盘+光盘+U盘+硬盘+NTFS 想拥有更强大的DOS功能??
遇到
问题
不论大小马上就去
请教
“高手”不是明智之举,自己研究出来的答案远比你从“高手”那里得到的现成答案要记忆深刻,也更有利于你今后的学习。希望自己成为高手的人,从不会放弃自己独立思考
问题
的机会。 DOS...
asp.net知识库
读写
搜索 基础教程 RSS Web2.0时代,RSS你会用了吗?(技术实现总结) 知识集锦:三分钟全面了解 Blog 和 RSS C#+ASP.NET开发基于Web的RSS阅读器 ASP.NET RSS Toolkit(RSS工具) Serialize Your Deck with Positron ...
内存
不能
读写
问题
的解决方案
内存
不能
读写
问题
的解决方案 近期,一些朋友总提出
内存
不能为“read”或者“written”的
问题
,鉴于产生这些
问题
的原因多样复杂,判断和处理这些
问题
比较麻烦,现在将网上找到的这篇较为全面的资料,加上自己收集到...
驱动开发/核心开发
21,597
社区成员
21,709
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章