diff options
author | Bas Vermeulen <bas@daedalean.ai> | 2017-11-26 22:31:55 +0100 |
---|---|---|
committer | Paul Fertser <fercerpav@gmail.com> | 2018-01-04 09:09:46 +0000 |
commit | ada631cc5ff09e20a245fdca1afd4064be5eaa3d (patch) | |
tree | 9c80e42baafd2afb4d11c614eaba34115e74392c /src/target/adi_v5_swd.c | |
parent | bb976e3c387bc82e20ab7304f0cfac3e5eede3a1 (diff) |
target aarch64: rework memory read/write to use 8/16/32 bit operations
The existing code only used Memory Access mode to read memory,
which uses 32 bit operations only.
Rework the code to check the alignment/size of the read/write operation,
and use the Memory Access mode to read aligned 32 bit memory.
When using unaligned access, or 8 or 16 bit reads, use LDR{BHW} and STR{BHW}
instead.
The exception handling is still the same as it was before (meaning it breaks
when things go wrong), but I can now read an 8 bit register correctly.
Change-Id: I739a5ee825c0226ed4a89c32895cc2a047b8dc15
Signed-off-by: Bas Vermeulen <bas@daedalean.ai>
Reviewed-on: http://openocd.zylin.com/4301
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Diffstat (limited to 'src/target/adi_v5_swd.c')
0 files changed, 0 insertions, 0 deletions