Re: [問題] 請問如何在 MMU 的 MPIS 系統上對實體 …

看板LinuxDev作者 (suedeN  ￾   )時間17年前 (2007/09/22 21:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
說實在的我也有這個問題 因為 我用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
文章代碼(AID): #16zHd92Z (LinuxDev)
文章代碼(AID): #16zHd92Z (LinuxDev)