Additional Details On Decorated Addresses And Gpio Accesses - NXP Semiconductors MKL27Z128VFM4 Reference Manual

Table of Contents

Advertisement

offset into the space based at 0x4000_0000 for peripheral. The "-" indicates an address
bit "don't care". Note, unlike the other decorated load operations, UBFX uses addr[19] as
the least significant bit in the "w" specifier and not as an address bit.
The decorated unsigned bit field extract read operation is defined in the following
pseudo-code as:
rdata =
ioubfx<sz>(accessAddress)
tmp
=
mem[accessAddress & 0xE007FFFF, size]
mask
= ((1 << (w+1)) - 1) << b
rdata = (tmp &
mask) >> b
Like the BFI operation, when the starting bit position plus the field width exceeds the
container size, only part of the source bit field is extracted from the destination memory
location. Stated differently, if (b + w+1) > container_width, only the low-order
"container_width - b" bits are actually extracted. The cycle-by-cycle BME operations are
detailed in the following table.
Table 42-7. Cycle definitions of decorated load: unsigned bit field extract
Pipeline Stage
BME AHB_ap
BME AHB_dp
42.3.3 Additional details on decorated addresses and GPIO
accesses
As previously noted, the peripheral address space occupies a 516 KB region: 512 KB
based at 0x4000_0000 plus a 4 KB space based at 0x400F_F000 for GPIO accesses. This
memory layout provides compatibility with the Kinetis K Family and provides 129
address "slots", each 4 KB in size.
The GPIO address space is multiply-mapped by the hardware: it appears at the "standard"
system address 0x400F_F000 and is physically located in the address slot corresponding
to address 0x4000_F000. Decorated loads and stores create a slight complication
involving accesses to the GPIO. Recall the use of address[19] varies by decorated
operation; for AND, OR, XOR, LAC1 and LAS1, this bit functions as a true address bit,
while for BFI and UBFX, this bit defines the least significant bit of the "w" bit field
specifier.
Freescale Semiconductor, Inc.
x
Forward addr to memory;
Decode decoration; Capture
address, attributes
<previous>
KL27 Sub-Family Reference Manual , Rev. 5, 01/2016
Chapter 42 Bit Manipulation Engine (BME)
// unsigned bit field extract
// memory read
// generate bit mask
// read data returned to core
Cycle
x+1
Idle AHB address phase
Perform memory read; Form
bit mask; Form (rdata & mask)
and capture destination data
in register
x+2
<next>
Logically right shift registered
data; Return justified rdata to
master
847

Advertisement

Table of Contents
loading

Table of Contents