Quote:
Originally Posted by knc1
Check the TLB entries.
We know that the device comes out of the i.ROM code with a single, 32bit, identity mapped entry.
It is very likely that the TLB entries have been changed (perhaps even by the CSF commands you have run) so that the mapping no longer an identity mapping (or might even not be limited to the lower 32bits of the address space).
For instance, we know the main DRAM and main flash is relocated to 0x04.... and 0x08.... portions of the 36bit address space.
Plus, you may be switching address spaces along the way (out of the supervisory address space).
So read the TLB registers before and after "losing" your data.
And check what address mode your running in before and after.
(Sorry, can't give ARM specifics, now if this was MIPS ...)
|
Whoa
Given that I have been exploring the inner workings of embedded devices for less than 24 hours now, I guess I can be proud of the fact that I understand about 1/3 of this (the english words, that is
).
No offense intended - this is just massively overwhelming for someone who never had to deal with the device at that level and is just trying to use it. I'm fine with looking up all the TLAs, but it would really help if you could provide links (or pointers) for those "we know that..." statements. This is exactly the kind of knowledge that is important, and that you have, because you have been dealing with embedded devices for years - but it's almost impossible to find for a newcomer, especially if the documentation spans thousands of technical pages.
For two concrete examples: could you please pinpoint the chapters/sections/other material where relocations and address space switching are described?
This would be tremendously helpful and very much appreciated - thanks!