c - 如何从用户空间使用 ioremap() api 在 uClinux 中读写 SPI Flash 存储器上的寄存器

标签 c linux linux-device-driver uclinux

我正在编写一个示例应用程序,用于读取寄存器并在给定的 SPI 设备地址上写入特定值。

我使用 altera spi 1.0 驱动程序,在注册 spi 设备时获得基地址为 0xE5002460。

我想使用 ioremap 调用从用户空间读取/写入 SPI Flash 寄存器。

是否有任何关于如何使用 ioremap 函数的代码片段或示例,该函数可以直接从给定的基地址读取寄存器的值,而无需为此编写任何特定的驱动程序?

最佳答案

@Ritesh,ioremap api 用于在内核空间中为 ex:SPI 寄存器内存映射设备/模块,返回虚拟地址。该地址只能由 ioread[8|16|32] 和 iowrite[8|16|32] api 使用来读取或写入 spi 寄存器。您可以使用 mmap 来映射 SPI 寄存器。通过链接mmap slower than ioremap .

关于c - 如何从用户空间使用 ioremap() api 在 uClinux 中读写 SPI Flash 存储器上的寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21186795/

相关文章:

c++ - 我如何在 FreeBSD 上禁用 ASLR?

linux - 如何在 csh 中获取第二个参数直到最后一个参数?

linux - sbull ldd3 示例驱动程序卡住

c++ - 我如何知道 USB 设备是否已在使用中?

c - 限制日志/缓冲区文件中的行数

c - 在 C 中使用 fgets 的段错误

c - 如何定义 float 组

c - 使用 C 与 Shell 交互

C++ - 动态加载行为

c++ - USB 到 USB 通信