Not memory-mapped registers #226
-
Hello PeakRDL team, The registers in my current project are not conventional memory-mapped registers; rather, they are accessed via the I2C interface. This means that the register addresses correspond to I2C addresses. As a result, the addresses are not spaced like 0x0, 0x4, 0x8, 0xC but may increment sequentially, such as 0x0, 0x1, 0x2, and 0x3. Defining these registers in SystemRDL is okay, but how can I configure the PeakRDL compiler to ignore address overlaps? Alternatively, is there a better way to use PeakRDL for this scenario? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
The SystemRDL language is strictly defined to use byte-addressing, so there is no valid mechanism to ignore such overlaps without violating the standard. SystemRDL defaults to assume 32-bit registers, but ff your I2C registers are actually only 8-bits wide, then you can use the |
Beta Was this translation helpful? Give feedback.
Thank you very much, now I'm using the user defined properties (UDP) to specify these special address,
it can also meet my needs.
But I have to update the exporters to handle it.