我只是在板上为NXP RTC芯片编写了一个RTC驱动程序,它运行良好。该芯片还具有一些电池供电的RAM,我想将其提供给用户空间应用程序。 RTC框架不支持此功能。它只有512个字节,但是我在做一个可搜索的CHAR驱动程序或一个完整的BLOCK驱动程序之间感到困惑。我之前从未做过块驱动程序,但是它似乎比简单的CHAR需要更多的信息。
我还可以与IOCTLS进行交互,但是感觉并不像它那么干净。使这些字节对用户可用的最佳方式是什么?
[编辑]我忘了提到RTC芯片卡在I2C端口上,它没有映射到内存中,因此不适合用作映射。 [/编辑]
最佳答案
块驱动程序仅适用于看起来像磁盘驱动器的设备。您要在512字节上放置文件系统吗?不?使它成为字符设备。
您可以像其他驱动程序一样进行操作。 checkout drivers/char/nvram.c
。这将创建一个char设备,您可以open()
,read()
,write()
,lseek()
和close()
。
关于linux-kernel - Linux内核驱动程序: what model for NVRAM access?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3137041/