Samantha Chan wrote:
Re: Personalized endianess flags for each MemoryByte
On some systems, the endianess is not uniform for all memory on the
system. Part of the memory could be in big endian while another part
of it could be in little endian. The memory block and memory byte is
modelled such that we can accommodate such system. We tag a
endianess flag on each memory byte so that the UI can still render
things correctly as the user crosses the boundary between big endian
and little endian.
I was actually looking for someone to ask about this.
Our debugger backend uses the notion of a "location" to represent an
addressable unit of memory. A location consists of a zone together
with an address (int64_t). In order to read from memory, you need to
define an address *and* a zone. Zones can be of different size, have
different endianness, different alignment, they may be (partially)
overlapping. This is used to implement things like different code and
data memory, etc.
In the 32/64-bit desktop world, this isn't much of an issue, but in
the embedded world this kind of non-uniform memory stuff is pretty
common. How should this be addressed (haha) in the DSF domain? How is
WindRiver doing it?