On branch fix-mmio_offset #3
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes to be committed:
modified: src/pynq_api.c
Fixed the offset for MMIO to an axi interface with smaller alignment than page size.
If you use a range in the axi-slave smaller than the page size (4kB) and start the address not-aligned to the page size the memory is mapped correctly but the virtual offset is not added when accessing the buffer.
Example:
Create AXI-GPIO with range 128 and Master Base Address 0x4120_0080 will lead to PYNQ_writeMMIO() writing to the register 0x4120_0000 if it exists.
Adding the virtual offset when accessing the buffer fixes this.