Hello,
I am using an LS1046A on a custom carrier board. We have these boards shipping and running in the field, however there are some lingering manufacturing issues I am looking into.
On one of those boards, I have run into a situation where using CCS to peek/poke at mem address I have found the following interesting observation.
I can read and write at address 0x82000000 without issues or so it seems. However, if I write 0xDEADBEEF to that address and read it back, I consistently get 0x21ADBEEF.
These are the specific commands I am using
- read memory
- ccs::read_mem 33 0 0x82000000 4 0 2
- write 64 bits
I can write 0x00000000, 0xFFFFFFFF, 0xDDDDDDDD, 0xEEEEEEEE, 0xA5A5A5A5, 0x5A5A5A5A and they all return the expected values. Only 0xDEADBEEF seems to return 0x21ADBEEF, which is unexpected.
I originally thought this was a manufacturing issue, however, after the sequence of test patterns above, I have to rule out that hypothesis.
Does anyone have any intuition or explanation as to what might be causing this? Is this a protection memory address? Is this a bug in CCS/CWTAP? Are there any erratas related to this?
Any suggestions would be much appreciated.