08-01-2017 08:51 AM
Hello.
I am trying to debug some code with writing to adress with offsets and when I tryed to make this I have a little problem with window Memory in debug. The problem is that when I am trying to write to adress (doesn't matter directly writing adress or by variable) it makes like all bigger than 2 bytes cleared, and max number I see is 0x7F, if I try to write smaller it writes correctly.
I wanna know if it's only display window "Memory" error or is there any problems and I don't understand my mistake, because when I trying to make it be asm() it does same.
I also tryed this in 2016.4 and in 2017.2 sdk versions.
08-01-2017 01:35 PM
Address 0xF8001000 is the base address of the TTC0 timer peripheral.
At that address, it's the register Clock_Control_1, which is 7 bits (lower ones), all other bits are always read as 0.
That's why no value greater than 0x7F can be read back.
Regards
.
08-01-2017 09:49 AM
I ran the same test and it seems okay to me.
Is this a Zynq 32 bit standalone app?
Where is 0xf8001000 located in your linker?
Perhaps it is not free memory but it's on top of another peripheral?
08-01-2017 01:35 PM
Address 0xF8001000 is the base address of the TTC0 timer peripheral.
At that address, it's the register Clock_Control_1, which is 7 bits (lower ones), all other bits are always read as 0.
That's why no value greater than 0x7F can be read back.
Regards
.
08-01-2017 02:27 PM
Ok so there you have it. Not a bug of the memory window. Just that the registers will not take a full 32 bit number.
08-03-2017 12:35 AM
Hello!
Seems like ur correct (and I am trying to write to TTC0, ur correct), so why they read like last 7? And it is at all options, so it is no difference between memory window or get value by variable. It seems strange that as mask (XTTCPS_CLK_CNTRL_PS_VAL_MASK) 1E, which is less than 7D and dont get us to change all bits and what that bits are?
08-03-2017 12:39 AM
mask I said is when we trying to change RC at timer