I have a Ubuntu Linux (4.6 kernel) running on a Zedboard, which is based on an ARM architecture. The architecture comes with a hardware module called Coresight, which enables HW-based program tracing. In my setup, the Coresight component is registered at physical address0xf889c000. I want to configure the component through the device registeretmcr, whose offset is0x0. I tried to rundevmem2(a program helps manipulate physical memory viammap) as a root to write some custom value to this register. Themmapthrew no error, thewritesucceeded since the immediate readback value was the expected value. However, when Ireadthis address again, the value didn't actually change. (Please see the attached screenshot).
I've checked the Technical Manual of the Coresight and this register is for sure a RW register. So what could be the reason of what happened here? Why the register write succeeds but has no effect actually? Thanks in advance.
Question
soha
I have a Ubuntu Linux (4.6 kernel) running on a Zedboard, which is based on an ARM architecture. The architecture comes with a hardware module called Coresight, which enables HW-based program tracing. In my setup, the Coresight component is registered at physical address
0xf889c000
. I want to configure the component through the device registeretmcr
, whose offset is0x0
. I tried to rundevmem2
(a program helps manipulate physical memory viammap
) as a root to write some custom value to this register. Themmap
threw no error, thewrite
succeeded since the immediate readback value was the expected value. However, when Iread
this address again, the value didn't actually change. (Please see the attached screenshot).I've checked the Technical Manual of the Coresight and this register is for sure a RW register. So what could be the reason of what happened here? Why the register write succeeds but has no effect actually? Thanks in advance.
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.