Re: [問題] 請問如何在 MMU 的 MPIS 系統上對實體 …
說實在的我也有這個問題
因為 我用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
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章