Specifications

Standard Initialization Sequence for Hercules Microcontrollers
www.ti.com
mov r11, #0x0000
mov r12, #0x0000
; Switch back to Supervisor Mode (M = 0b10011)
cps #0x13
; Initialize Floating Point Unit registers if FPU is used
.if __TI_VFPV3D16_SUPPORT__ = 1
fmdrr d0, r1, r1
fmdrr d1, r1, r1
fmdrr d2, r1, r1
fmdrr d3, r1, r1
fmdrr d4, r1, r1
fmdrr d5, r1, r1
fmdrr d6, r1, r1
fmdrr d7, r1, r1
fmdrr d8, r1, r1
fmdrr d9, r1, r1
fmdrr d10, r1, r1
fmdrr d11, r1, r1
fmdrr d12, r1, r1
fmdrr d13, r1, r1
fmdrr d14, r1, r1
fmdrr d15, r1, r1
.endif
; Initialize CPU call-return stack
bl next1
next1 bl next2
next2 bl next3
next3 bl next4
next4 bx r0
.endasmfunc
The CPUs call-return stack consists of a 4-entry circular buffer. When the CPU pre-fetch unit (PFU)
detects a taken procedure call instruction, the PFU pushes the return address onto the call-return stack.
The instructions that the PFU recognizes as procedure calls are, in both the ARM and Thumb instruction
sets:
BL immediate
BLX immediate
BLX Rm
12
Initialization of Hercules ARM
®
Cortex-R4F Microcontrollers SPNA106 September 2011
Submit Documentation Feedback
Copyright © 2011, Texas Instruments Incorporated