2014-01-17 23 views
0

我正在寫一個示例應用程序,用於讀取寄存器並在給定的SPI設備地址上寫入特定值。如何從用戶空間使用ioremap()api讀取和寫入uClinux中的SPI閃存寄存器

我正在使用altera spi 1.0驅動程序,並在註冊spi設備時獲得基址爲0xE5002460。

我想使用ioremap調用從用戶空間讀取/寫入SPI Flash的寄存器。

是否有任何代碼片段或關於如何使用ioremap函數的任何示例,它可以直接從基地址讀取寄存器的值,而無需爲此編寫任何特定的驅動程序?

+0

您的系統是否實際配置爲將某個遠程SPI設備的寄存器顯示在某種代理本地地址空間中,以便將其捕獲並自動將其轉換爲SPI事務?或者您是否需要在您的程序中明確生成SPI事務*,以根據其數據表訪問閃存器件的這些寄存器? –

回答

0

@Ritesh,ioremap api在內核空間中用於內存映射設備/模塊,例如:返回虛擬地址的SPI寄存器。該地址只能由ioread [8 | 16 | 32]和iowrite [8 | 16 | 32] api讀取或寫入spi寄存器。您可以使用mmap來映射SPI寄存器。通過鏈接mmap slower than ioremap