Atmel ARM-Based Evaluation Kit AT91SAM9N12-EK AT91SAM9N12-EK Data Sheet

Product codes
AT91SAM9N12-EK
Page of 248
Bus Interface Unit 
6-6
Copyright © 2001-2003 ARM Limited. All rights reserved.
ARM DDI0198D
6.2.4
Byte and halfword accesses
This section describes byte and halfword accesses for:
Address alignment
The ARM926EJ-S BIU performs address alignment checking and aligns AHB 
addresses to the necessary boundary. 16-bit accesses are aligned to halfword 
boundaries, and 32-bit accesses to word boundaries.
Thumb instruction fetches
All instruction fetches, irrespective of the state of the ARM9EJ-S core, are made as 
32-bit accesses on the AHB. If the ARM9EJ-S core is in Thumb state, then two 
instructions can be fetched at a time. 
Endianness and byte lane indication
The AMBA Specification (Rev 2.0) does not specify any explicit support for endianness. 
The ARM926EJ-S processor provides a supplementary signal, DHBL, that indicates 
which bytes are to be updated for write transfers and which bytes should contain valid 
data for reads. This is created using the address, and the endianness of the access. 
The CFGBIGEND signal indicates the current endianness setting used by the 
ARM9EJ-S core, and reflects the value held in CP15 c1 (see Control Register c1 on 
page 2-12
). 
Because writes are buffered, the value of the CFGBIGEND signal might be 
inconsistent with DHBL if the write-buffer is not drained before changing the 
endianness setting in the control register. 
DHBL is encoded in little-endian format. For example, a value of b0001 indicates byte 
0 in little-endian mode, and byte 3 in big-endian mode.
6.2.5
AHB system considerations
This section describes AHB considerations for: