You copied the Doc URL to your clipboard.

9.3.2. AHB-AP programmer’s model

This section describes the registers used to program the AHB-AP:

AHB-AP register summary

Table 9.2 shows the AHB access port registers.

AHB access port registers
Offset TypeWidth Reset valueName
0x00R/W320x43800042Control/Status Word, CSW
0x04R/W320x00000000Transfer Address, TAR
0x08---Reserved SBZ
0x0CR/W32-Data Read/Write, DRW
0x10R/W32-Banked Data 0, BD0
0x14R/W32-Banked Data 1, BD1
0x18R/W32-Banked Data 2, BD2
0x1CR/W32-Banked Data 3, BD3
0x20-0xF7---Reserved SBZ
0xF8RO32

0xE00FF000

Debug ROM table
0xFCRO320x44770001Identification Register, IDR

AHB-AP Control/Status Word Register, CSW, 0x00

This is the control word used to configure and control transfers through the AHB interface.

Figure 9.3 shows the Control/Status Word Register bit assignments.

Figure 9.3. AHB-AP Control/Status Word Register bit assignments

Figure 9.3. AHB-AP Control/Status Word Register
bit assignments

Table 9.3 lists the bit assignments.

AHB-AP Control/Status Word Register bit assignments
BitsTypeNameFunction
[31]--Reserved SBZ.
[30]--Reserved SB0.
[29:28]--Reserved SBZ.
[27:24]R/WProt

Specifies the protection signal encoding to be output on HPROT[3:0].

Reset value is noncacheable, non-bufferable, data access, privileged = b0011.

[23]ROSPIStatusIndicates the status of the SPIDEN port. Always reads as b1.
[22:12]--Reserved SBZ.
[11:8]R/WMode

Specifies the mode of operation:

b0000 = Normal download/upload model

b0001-b1111 = Reserved SBZ.

Reset value = b0000.

[7]ROTrInProgTransfer in progress. This field indicates if a transfer is currently in progress on the AHB master port.
[6]RODbgStatus

Indicates the status of the DBGEN port. Always reads as b1 = AHB transfers permitted.

[5:4]R/WAddrInc

Auto address increment and packing mode on Read or Write data access. Only increments if the current transaction completes without an Error Response. Does not increment if the transaction completes with an Error Response or the transaction is aborted.

Auto address incrementing and packed transfers are not performed on access to Banked Data registers 0x10-0x1C. The status of these bits is ignored in these cases.

Increments and wraps within a 1KB address boundary, for example, for word incrementing from 0x1400-0x17FC. If the start is at 0x14A0, then the counter increments to 0x17FC, wraps to 0x1400, then continues incrementing to 0x149C.

b00 = auto increment off

b01 = increment, single.

Single transfer from corresponding byte lane.

b10 = increment, packed

Word = same effect as single increment.

Byte/Halfword. Packs four 8-bit transfers or two 16-bit transfers into a 32-bit DAP transfer. Multiple transactions are carried out on the AHB interface.

b11 = Reserved SBZ, no transfer.

Size of address increment is defined by the Size field, bits [2:0].

Reset value = b00.

[3]--Reserved SBZ, R/W = b0
[2:0]R/WSize

Size of the data access to perform:

b000 = 8 bits

b001 = 16 bits

b010 = 32 bits

b011-b111 = Reserved SBZ.

Reset value = b010.

AHB-AP Transfer Address Register, TAR, 0x04

Table 9.4 shows the AHB-AP Transfer Address Register bit assignments.

AHB-AP Transfer Address Register bit assignments
BitsTypeNameFunction
[31:0]R/WAddress

Address of the current transfer. Unaligned address values with respect to the Size field of the Control/Status Word Register are unsupported.

Reset value is 0x00000000.

AHB-AP Data Read/Write Register, DRW, 0x0C

Table 9.5 shows the AHB-AP Data Read/Write Register bit assignments.

AHB-AP Data Read/Write Register bit assignments
BitsTypeNameFunction
[31:0]R/WData

Write mode:

Data value to write for the current transfer.

Read mode:

Data value read from the current transfer.

AHB-AP Banked Data Registers, BD0-BD03, 0x10-Ox1C

BD0-BD3 provide a mechanism for directly mapping through DAP accesses to AHB transfers without having to rewrite the Transfer Address Register (TAR) within a four-location boundary. BD0 reads/writes from TA. BD1 reads/writes from TA+4. Table 9.6 shows the AHB-AP Banked Data Register bit assignments.

Banked Data Register bit assignments
BitsTypeNameFunction
[31:0]R/WData

If DAPADDR[7:4] = 0x0001, so accessing AHB-AP registers in the range 0x10-0x1C, the derived HADDR[31:0] is:

  • Write mode:

    Data value to write for the current transfer to external address TAR[31:4] + DAPADDR[3:2] + 2'b00.

  • Read mode:

    Data value read from the current transfer from external address TAR[31:4] + DAPADDR[3:2] + 2'b00.

Auto address incrementing is not performed on DAP accesses to BD0-BD3.

Banked transfers are only supported for word transfers. Non-word banked transfers are reserved and Unpredictable. Transfer size is currently ignored for banked transfers.

ROM Address Register, ROM, 0xF8

Table 9.7 shows the ROM Address Register bit assignments.

ROM Address Register bit assignments
BitsTypeNameFunction
[31:0]RODebug AHB ROM AddressBase address of a ROM table. The ROM provides a look-up table for system components. Set to 0xE00FF000 in the AHB-AP in the initial release.

AHB-AP Identification Register, IDR, 0xFC

The register reset value is 0x447700001.

Figure 9.4 shows the AHB-AP Identification Register bit assignments.

Figure 9.4. AHB-AP Identification Register bit assignments

Figure 9.4. AHB-AP Identification Register bit
assignments

Table 9.8 shows the AHB-AP Identification Register bit assignments.

AHB-AP Identification Register bit assignments
BitsTypeName
[31:28]RORevision. Reset value is 0x2 for AHB-AP.
[27:24]ROJEDEC bank[1]. Reset value is 0x4.
[23:17]ROJEDEC code. Reset value is 0x3B.
[16]ROARM AP. Reset value is b1.
[15:8]-Reserved SBZ.
[7:0]ROIdentity value. Reset value is 0x01 for AHB-AP.

[1] Using JEDEC bank 0x0 with a JEDEC code of 0x00 is reserved for use by ARM.

Was this page helpful? Yes No