diff options
author | Seth LaForge <sethml@google.com> | 2014-04-01 10:26:32 -0700 |
---|---|---|
committer | Paul Fertser <fercerpav@gmail.com> | 2014-04-14 18:20:36 +0000 |
commit | 3427cf2b7e33240fc63c6398090dc7bcbf4f2d52 (patch) | |
tree | b2ee5f131d6d2250908f0601199e3c65fdf4bbdf /src/target/arm_adi_v5.h | |
parent | 31496c2bedd367ea4282328da42c997c85d67c2e (diff) |
cortex_a: fix endiannes issues on TI TMS570
The TI TMS470 and TMS570 series of processors are BE-32 processors,
despite BE-32 not being supported by ARM in the Cortex-R4 core. TI
hacked in BE-32 support, which requires odd swizzling in OpenOCD to
make memory reads and writes function correctly. In particular,
without this change, OpenOCD word reads and writes had the bytes
reversed, and halfword and byte packed reads were reading garbage.
In my testing, this change fixes these problems.
Change-Id: I21dd30f4b9003f20fcc85f674ab833407bb61f74
Signed-off-by: Seth LaForge <sethml@google.com>
Reviewed-on: http://openocd.zylin.com/2064
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Diffstat (limited to 'src/target/arm_adi_v5.h')
-rw-r--r-- | src/target/arm_adi_v5.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h index cdcf928a..3367588f 100644 --- a/src/target/arm_adi_v5.h +++ b/src/target/arm_adi_v5.h @@ -189,6 +189,15 @@ struct adiv5_dap { /* true if packed transfers are supported by the MEM-AP */ bool packed_transfers; + + /* true if unaligned memory access is not supported by the MEM-AP */ + bool unaligned_access_bad; + + /* The TI TMS470 and TMS570 series processors use a BE-32 memory ordering + * despite lack of support in the ARMv7 architecture. Memory access through + * the AHB-AP has strange byte ordering these processors, and we need to + * swizzle appropriately. */ + bool ti_be_32_quirks; }; /** |