假设我正在为设备编写驱动程序。有寄存器列表(A)需要在一些程序(B)中专门处理。一段时间后,有些人可能会发现某些寄存器(C)的值需要根据不同的情况进行更改(例如对于无线网卡,情况可能是不同的信道)。但是如果他们决定这样做,他们还需要将此寄存器(C)添加到列表(A)中,以便例程(B)也可以专门处理寄存器(C)。
所以问题是这种类型的寄存器在开发的早期阶段可能会发现很多或经常发现。我想知道是否有很好的方法来保持这一点。
我正在考虑静态维护它并在某些程序员在寄存器上执行某些操作时忘记与列表同步时引发编译错误。但这看起来是一个糟糕的选择(http://stackoverflow.com/questions/12412742/how-to-throw-a-compiling-error-in-c)
要动态维护这样的列表(A),对于驱动程序来说可能太重了......有什么提示吗?
让我将讨论限制在使用 gcc 编译器的 linux 驱动程序上。