This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Memory-mapped peripheral registers, remote protocol and memory maps


Hi,

How is the access of memory-mapped peripheral registers handled over the
remote protocol? By this, I mean how can you force a 32-bit read/write,
rather than 4 byte accesses, to read/write a 32-bit memory-mapper register?

I can see that you can define memory regions with the mem command, and set
the memory access size to 32, but how does this map over the remote
protocol?   The remote protocol documentation for the 'm' packet says: "The
stub need not use any particular size or alignment when gathering data from
memory for the response; even if addr is word-aligned and length is a
multiple of the word size, the stub is free to use byte accesses, or not.
For this reason, this packet may not be suitable for accessing memory-mapped
I/O devices.". Is there another packet that is suitable? It doesn't look
like the code in remote.c uses this attribute.

Also, in the documentation of the memory map format, it seems the only
memory types are ram, rom and flash, with the only property being blocksize.
Should there not be additional properties to correspond to the attributes
supported by the mem command (i.e. an access size property)?

Cheers,
Jon


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]