作者rz600000 (suedeN    )
看板LinuxDev
标题Re: [问题] 请问如何在 MMU 的 MPIS 系统上对实体 …
时间Sat Sep 22 21:34:00 2007
说实在的我也有这个问题
因为 我用linux开机後 我怎麽去对板子原来的硬体的mmaping 表 去access就是不能
work 好像是因为 paging的原因
但现在 开机後 我的实体的位置会在哪里呢??
解决办法是 实做一个
io_mmap(......)
{
这里面做 ioremap 直接将 说明书上面的 我要access 的i/o mem
的 mmaping 表 位置 给对应出去吗??
是这样吗??
}
还是应该如何
还有就是 我有看了一下spec 中给的mmaping表的 base_address
跟另一本书 用linux 开机後 所给的base_address(这个名子取为va_io_base_address)
是因为他有paging的原因才是va_address吗?
但既然是virtual address 他怎麽知道我每次maaping出来的address?
※ 引述《Hfoxconn (Device Driver)》之铭言:
: ※ 引述《Hfoxconn (Device Driver)》之铭言:
: : 请问一下
: : 公司现在想要用含有 MMU 的 MIPS 主版去开发产品,
: : 之前公司所用的主版是不含 Memory mapping 的,所以我只需要参照
: : 产品的 Data sheet 上的实体位址,去使用指标,即可对版上的周边
: : 进行控制或读写。
: : 但是现在使用的这个主版含有 MMU 的功能,我在 User space 所能参照
: : 到的位址应该是 Virtual address 而不是 Physical address ,请问我要如何
: : 由 User space 的应用程式端藉由已知的实体位址去对版上 CPU 周边进行控制。
: : 小弟的想法是
: : 1. 先想办法由周边的实体位址得到 MMU 後的 Virtual address
: : 2. 再来 User space 应用程式即可藉由所得到的 Virtual address 去对周边做控制
: : 如果这个想法的流程是对的,请问各位前辈是否有相关的 System function
: : 可以达成呢,或是请前辈可以简述一下方法?
: : 还是有更好或更简单的方法可以做到?如果可以的话麻烦说明一下。
: : 谢谢各位先进的指导。 <(_ _)> 感激不尽 Linux 刚入门
: 感谢 tseng1139 大大的指导
: 再请教一下,我有查了一下,ioremap 可以将装置的实体位址 mapping 到 user指定
: 的虚拟空间,所以简单来说我只要参照版子的 Data sheet 上的周边实体位址再配合
: 一个 User space 的虚拟位址,去喂给 ioremap 即可对我指定周边去做控制是吗?
: 这个 User space 的虚拟位址可以在 User space 随意自定吗?还是有一定限制呢?
: (像是一定要由某 function 来生成之类的)
: 再次感谢 tseng1139 大大
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.208.113