作者tseng1129 (tseng1129)
看板LinuxDev
标题Re: [问题] 请问如何在 MMU 的 MPIS 系统上对实体 …
时间Sun Sep 23 03:28:18 2007
这是由kernel帮你做的ioremap , 没办法由你自己指定位址 , 但是可以
确定的是你可以写一个简单的char device去做位址转换 , 然後透过此
device 去控制你要的实体位址..
Ex: /dev/LEDIo => mmap => 0x10000000 = 你可以透过open()去传送
你要的资料到此装置的位址.
※ 引述《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: 71.95.15.126