|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
大家好!我是个嵌入式新手,最近也读了很多关于内存管理的资料,总的理解就是通过虚拟内存来访问物理内存,就是通过页表的方式.但是我有点不理解 内核空间和用户空间是怎么区分开来的, 有资料说1G是内核共享的内核空间,3G是进程的用户空间,但是他们是通过什么方式分配的,进程又是怎么申请到用户空间的? 我现在在用S3C2440来开发一个产品,在此芯片外部除了连接了SDRAM外,还另外加了一块SRAM,产品中要求linux系统要在外部的RAM中读取数据,然后处理显示,这块RAM中的数据是其它模块把数据放到里面的,然后等系统来读取处理的. 我可不可以这样做,在系统启动的时候不在页表中指定这块RAM,把它当做一个设备,利用设备驱动,通过ioremap()或者rememap_page_range()函数得到相应物理空间的虚拟地址,然后通过虚拟地址直接读取里面的数据? 这样处理可以吗? 或者把这块RAM设置为保留页,然后通过rememap_page_range()函数得到相应的虚拟地址来读写? 谢谢大家了!
[ 本帖最后由 wangxueyou1 于 2007-8-9 11:52 编辑 ] |
|