Datasheet

UM10398 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2014. All rights reserved.
User manual Rev. 12.3 — 10 June 2014 546 of 547
NXP Semiconductors
UM10398
Chapter 29: Supplementary information
28.5.5.9.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
28.5.6 Branch and control instructions . . . . . . . . . . 496
28.5.6.1 B, BL, BX, and BLX . . . . . . . . . . . . . . . . . . . 497
28.5.6.1.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
28.5.6.1.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
28.5.6.1.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 497
28.5.6.1.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 498
28.5.6.1.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
28.5.7 Miscellaneous instructions . . . . . . . . . . . . . . 498
28.5.7.1 BKPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.1.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.1.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.1.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.1.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.1.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.2 CPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.2.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.2.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
28.5.7.2.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.2.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.2.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.3 DMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.3.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.3.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.3.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.3.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.3.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.4 DSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.4.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.4.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.4.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 500
28.5.7.4.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.4.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.5 ISB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.5.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.5.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.5.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.5.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.5.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.6 MRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.6.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.6.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.6.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 501
28.5.7.6.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.6.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.7 MSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.7.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.7.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.7.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.7.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.7.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.8 NOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.8.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.8.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.8.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 502
28.5.7.8.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.8.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.9 SEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.9.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.9.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.9.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.9.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.9.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.10 SVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.10.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.10.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.10.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.10.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . 503
28.5.7.10.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.11 WFE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.11.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.11.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.11.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.11.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.11.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.12 WFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.12.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
28.5.7.12.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . 505
28.5.7.12.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . 505
28.5.7.12.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . 505
28.5.7.12.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . 505
28.6 Peripherals. . . . . . . . . . . . . . . . . . . . . . . . . . . 505
28.6.1 About the ARM Cortex-M0. . . . . . . . . . . . . . 505
28.6.2 Nested Vectored Interrupt Controller . . . . . . 505
28.6.2.1 Accessing the Cortex-M0 NVIC registers using
CMSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
28.6.2.2 Interrupt Set-enable Register. . . . . . . . . . . . 506
28.6.2.3 Interrupt Clear-enable Register . . . . . . . . . . 507
28.6.2.4 Interrupt Set-pending Register. . . . . . . . . . . 507
28.6.2.5 Interrupt Clear-pending Register . . . . . . . . . 508
28.6.2.6 Interrupt Priority Registers . . . . . . . . . . . . . . 508
28.6.2.7 Level-sensitive and pulse interrupts. . . . . . . 509
28.6.2.7.1 Hardware and software control of interrupts 509
28.6.2.8 NVIC usage hints and tips . . . . . . . . . . . . . . 510
28.6.2.8.1 NVIC programming hints . . . . . . . . . . . . . . . 510
28.6.3 System Control Block. . . . . . . . . . . . . . . . . . 510
28.6.3.1 The CMSIS mapping of the Cortex-M0 SCB
registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
28.6.3.2 CPUID Register . . . . . . . . . . . . . . . . . . . . . . . 511
28.6.3.3 Interrupt Control and State Register . . . . . . . 511
28.6.3.4 Application Interrupt and Reset Control
Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
28.6.3.5 System Control Register . . . . . . . . . . . . . . . 514
28.6.3.6 Configuration and Control Register . . . . . . . 515
28.6.3.7 System Handler Priority Registers . . . . . . . . 515
28.6.3.7.1 System Handler Priority Register 2 . . . . . . . 515
28.6.3.7.2 System Handler Priority Register 3 . . . . . . . 516
28.6.3.8 SCB usage hints and tips. . . . . . . . . . . . . . . 516
28.6.4 System timer, SysTick . . . . . . . . . . . . . . . . . 516
28.6.4.1 SysTick Control and Status Register . . . . . . 517
28.6.4.2 SysTick Reload Value Register . . . . . . . . . . 517
28.6.4.2.1 Calculating the RELOAD value . . . . . . . . . . 517
28.6.4.3 SysTick Current Value Register . . . . . . . . . . 517
28.6.4.4 SysTick Calibration Value Regist
er .
. . . . . . 518
28.6.4.5 SysTick usage hints and tips . . . . . . . . . . . . 518
28.7 Cortex-M0 instruction summary . . . . . . . . . 519