Conflicting data exists at address 40000000 to 400005b7
ifohancroft opened this issue · 3 comments
ifohancroft commented
It may be my binary, but I thought it's worth reporting just in case.
Here is the output I get when generating for nRF52840:
Loading SVD file...
Done!
Generating memory regions...
Done!
Generating peripherals...
FICR
UICR
CLOCK
POWER
Traceback (most recent call last):
File "/home/ifohancroft/Downloads/SVD-Loader-Ghidra/SVD-Loader.py", line 165, in <module>
listing.createData(addr, peripheral_struct, False)
at ghidra.program.database.code.CodeManager.checkValidAddressRange(CodeManager.java:1945)
at ghidra.program.database.code.CodeManager.createCodeUnit(CodeManager.java:2030)
at ghidra.program.database.ListingDB.createData(ListingDB.java:431)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
ghidra.program.model.util.CodeUnitInsertionException: ghidra.program.model.util.CodeUnitInsertionException: Conflicting data exists at address 40000000 to 400005b7
SVD-Loader.py> Finished!```
abhigkar commented
I also getting the same error for nrf52832
SVD-Loader.py> Running...
Loading SVD file...
Done!
Generating memory regions...
Done!
Generating peripherals...
FICR
UICR
BPROT
POWER
Traceback (most recent call last):
File "E:\nRF5_projects\tools\ghidra_9.1.1_PUBLIC_20191218\SVD-Loader-Ghidra\SVD-Loader.py", line 165, in <module>
listing.createData(addr, peripheral_struct, False)
at ghidra.program.database.code.CodeManager.checkValidAddressRange(CodeManager.java:1947)
at ghidra.program.database.code.CodeManager.createCodeUnit(CodeManager.java:2032)
at ghidra.program.database.ListingDB.createData(ListingDB.java:431)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
ghidra.program.model.util.CodeUnitInsertionException: ghidra.program.model.util.CodeUnitInsertionException: Conflicting data exists at address 40000000 to 40000617
SVD-Loader.py> Finished!
marsfan commented
I have the same issue. Looking at the SVD file and the documentation that Nordic Provides, it seems that they have overlapping peripheral registers somehow. See Chapter 10 of https://infocenter.nordicsemi.com/pdf/nRF51_RM_v3.0.pdf
marsfan commented
Yup. Seems that they have different peripherals that have interwoven registers, thus they have the same base address, which is screwing up the script.