Atmel ARM-Based Evaluation Kit AT91SAM9N12-EK AT91SAM9N12-EK Ficha De Dados
Códigos do produto
AT91SAM9N12-EK
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.
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.
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 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).
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.
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.
0 in little-endian mode, and byte 3 in big-endian mode.
6.2.5
AHB system considerations
This section describes AHB considerations for:
•
•
•