As a result, undecorated GPIO references and decorated AND, OR, XOR, LAC1 and
LAS1 operations can use the standard 0x400F_F000 base address, while decorated BFI
and UBFX operations must use the alternate 0x4000_F000 base address. Another
implementation can simply use 0x400F_F000 as the base address for all undecorated
GPIO accesses and 0x4000_F000 as the base address for all decorated accesses. Both
implementations are supported by the hardware.
Table 13-8. Decorated peripheral and GPIO address details
Peripheral address space
Description
0x4000_0000–0x4007_FFFF
Undecorated (normal) peripheral accesses
0x4008_0000–0x400F_EFFF
Illegal addresses; attempted references are aborted and error terminated
0x400F_F000–0x400F_FFFF
Undecorated (normal) GPIO accesses using standard address
0x4010_0000–0x43FF_FFFF
Illegal addresses; attempted references are aborted and error terminated
0x4400_0000–0x4FFF_FFFF
Decorated AND, OR, XOR, LAC1, LAS1 references to peripherals and GPIO based at
either 0x4000_F000 or 0x400F_F000
0x5000_0000–0x5FFF_FFFF
Decorated BFI, UBFX references to peripherals and GPIO only based at 0x4000_F000
13.4 Application information
In this section, GNU assembler macros with C expression operands are presented as
examples of the required instructions to perform decorated operations.
This section specifically presents a partial bme.h file defining the assembly language
expressions for decorated logical stores: AND, OR, and XOR. Comparable functions for
BFI and the decorated loads are more complex and available in the complete BME header
file.
These macros use the same function names presented in
#define IOANDW(ADDR,WDATA) \
__asm("ldr r3, =(1<<26);" \
"orr r3, %[addr];" \
"mov r2, %[wdata];" \
"str r2, [r3];" \
:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");
#define IOANDH(ADDR,WDATA) \
__asm("ldr r3, =(1<<26);" \
"orr r3, %[addr];" \
"mov r2, %[wdata];" \
"strh r2, [r3];" \
:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");
#define IOANDB(ADDR,WDATA) \
__asm("ldr r3, =(1<<26);" \
"orr r3, %[addr];" \
"mov r2, %[wdata];" \
"strb r2, [r3];" \
:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");
Application information
MKW01Z128 MCU Reference Manual, Rev. 3, 04/2016
246
Freescale Semiconductor, Inc.
Содержание MKW01Z128
Страница 7: ...MKW01xxRM Reference Manual Rev 3 04 2016 viii Freescale Semiconductor Inc...
Страница 11: ...MKW01xxRM Reference Manual Rev 3 04 2016 xii Freescale Semiconductor Inc...
Страница 31: ...MKW01Z128 Pins and Connections MKW01xxRM Reference Manual Rev 3 04 2016 2 8 Freescale Semiconductor Inc...
Страница 129: ...MKW01Z128 Transceiver MCU SPI Interface MKW01xxRM Reference Manual Rev 3 04 2016 8 6 Freescale Semiconductor Inc...
Страница 130: ...MKW01xxRM Reference Manual Rev 3 04 2016 Freescale Semiconductor Inc A 1 Appendix A MKW01Z128 MCU Reference Manual...
Страница 131: ...MKW01Z128 MCU Reference Manual MKW01xxRM Reference Manual Rev 3 04 2016 A 2 Freescale Semiconductor Inc...
Страница 133: ...MKW01Z128 MCU Reference Manual Rev 3 04 2016 2 Freescale Semiconductor Inc...
Страница 221: ...Private Peripheral Bus PPB memory map MKW01Z128 MCU Reference Manual Rev 3 04 2016 90 Freescale Semiconductor Inc...
Страница 233: ...Module clocks MKW01Z128 MCU Reference Manual Rev 3 04 2016 102 Freescale Semiconductor Inc...
Страница 255: ...Module operation in low power modes MKW01Z128 MCU Reference Manual Rev 3 04 2016 124 Freescale Semiconductor Inc...
Страница 279: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 148 Freescale Semiconductor Inc...
Страница 305: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 174 Freescale Semiconductor Inc...
Страница 325: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 194 Freescale Semiconductor Inc...
Страница 379: ...Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 248 Freescale Semiconductor Inc...
Страница 387: ...Memory map register descriptions MKW01Z128 MCU Reference Manual Rev 3 04 2016 256 Freescale Semiconductor Inc...
Страница 465: ...Functional Description MKW01Z128 MCU Reference Manual Rev 3 04 2016 334 Freescale Semiconductor Inc...
Страница 501: ...Initialization Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 370 Freescale Semiconductor Inc...
Страница 513: ...Interrupts MKW01Z128 MCU Reference Manual Rev 3 04 2016 382 Freescale Semiconductor Inc...
Страница 517: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 386 Freescale Semiconductor Inc...
Страница 611: ...Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 480 Freescale Semiconductor Inc...
Страница 633: ...CMP Trigger Mode MKW01Z128 MCU Reference Manual Rev 3 04 2016 502 Freescale Semiconductor Inc...
Страница 643: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 512 Freescale Semiconductor Inc...
Страница 671: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 540 Freescale Semiconductor Inc...
Страница 803: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 672 Freescale Semiconductor Inc...
Страница 843: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 712 Freescale Semiconductor Inc...
Страница 877: ...Initialization application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 746 Freescale Semiconductor Inc...