Camkes and Memory-Mapped Peripherals
Hello, I'm trying to access a memory-mapped peripheral on the exynos5422 (ODROID XU4). I have the physical address of the peripheral's registers from the exynos5422 data sheet. As per the Camkes manual, I've used the seL4HardwareMMIO connection type to facilitate this. However, while I can use the excess bytes of the "dataport Buf" as expected, there is a data fault when I try to read from the peripheral's memory-mapped (and readable) registers: """ FAULT HANDLER: data fault from test_component.test_component_0_control (ID 0x1) on address 0, pc = 0x3250c, fsr = 0x211 """ Besides defining the hardware component and this connection in Camkes, is there anything else I must do? I will appreciate any guidance on this matter. Best, Michael Neises
Hi Michael,
Besides defining the hardware component and this connection in Camkes, is there anything else I must do? I will appreciate any guidance on this matter.
There shouldn't be anything else that you should need to do as long as the connection and the hardware component is described correctly (addresses, lengths, etc). As a sanity check, you could take a look at the generated CAmkES files to see if the dataport buffer is correctly sized. The generated files are located inside the build directory where you run ninja, and then inside folders that have the same name as the initialised components in your application. Aside from this, perhaps the peripheral has some sort of access control associated with it? Maybe a protection bit needs to be turned off before the registers can be accessed? I hope this helps. Sincerely, Damon
participants (2)
-
Lee, Damon (Data61, Kensington NSW)
-
Michael Neises