Energy Micro IEC60355 Library Example Project 1.0 (internal use only!) GCC-Version
Example project demonstrating POST and BIST library functions

iec60335_class_b_cpureg_test_post_arm.s File Reference

assemble based POST CPU register test for ARM compiler ; * IEC60335 Class B CPU register tests ; * More...

Go to the source code of this file.

Variables

AREA text
AREA CODE
AREA READONLY THUMB
EXPORT ASMCPUregTestPOST
IMPORT IEC60335_CPUregTestPOST
testState EQU testResult EQU
lr cmp r12
lr cmp lr bne w Test_CPU_SFR_fail
ldr r0
ldr str Test_r0
movw movt lsr cmp bne w Test_r0_Exit
 Test_r0_pass
b Test_r1_r7 Test_r1_r7
ldr r8 = pattern1
ldr orr r7 str ldr mov r1 = pattern1
ldr orr r7 str ldr mov r0 mov r2
ldr orr r7 str ldr mov r0 mov
r0 mov 
r3
ldr orr r7 str ldr mov r0 mov
r0 mov r0 mov 
r4
ldr orr r7 str ldr mov r0 mov
r0 mov r0 mov r0 mov 
r5
ldr orr r7 str ldr mov r0 mov
r0 mov r0 mov r0 mov r0 mov 
r6
ldr orr r7 str ldr mov r0 mov
r0 mov r0 mov r0 mov r0 mov r0
mov 
r7
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w 
Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit
cmp r0 bne w Test_r1_r7_Exit 
Test_r1_r7_pass
Test_r8_r12
ldr orr r7 str ldr mov r0 mov r9
ldr orr r7 str ldr mov r0 mov
r0 mov 
r10
ldr orr r7 str ldr mov r0 mov
r0 mov r0 mov 
r11
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w 
Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit
cmp r0 bne w Test_r8_r12_Exit 
Test_r8_r12_pass
 Test_MSP
mrs CONTROL
mov r13
mrs MSP cmp r5 bne Test_MSP_Exit
ldr r0 mrs MSP
cmp r0 bne Test_MSP_Exit Test_MSP_pass
 Test_PSP
mrs PSP
mrs PSP cmp r5 bne Test_PSP_Exit
cmp r0 bne Test_PSP_Exit Test_PSP_pass
 Test_LR
mov r14
cmp r0 bne Test_LR_Exit
cmp r0 bne Test_LR_Exit Test_LR_pass
 Test_APSR
mrs APSR
mrs APSR cmp r0 bne Test_APSR_Exit
mrs APSR cmp r0 bne Test_APSR_Exit Test_APSR_pass
 Test_PRIMASK
mrs PRIMASK
mrs PRIMASK cmp r0 bne Test_PRIMASK_Exit
mrs PRIMASK cmp r0 bne
Test_PRIMASK_Exit 
Test_PRIMASK_pass
 Test_FAULTMASK
mrs FAULTMASK
mrs FAULTMASK cmp r0 bne Test_FAULTMASK_Exit
mrs FAULTMASK cmp r0 bne
Test_FAULTMASK_Exit 
Test_FAULTMASK_pass
 Test_BASEPRI
mrs BASEPRI
mrs BASEPRI cmp r0 bne Test_BASEPRI_Exit
mrs BASEPRI cmp r0 bne
Test_BASEPRI_Exit 
Test_BASEPRI_pass
ldr Test_CPU_SFR_Exit
bx lr

Detailed Description

assemble based POST CPU register test for ARM compiler ; * IEC60335 Class B CPU register tests ; *

; * ; *

Author:
Energy Micro AS ; *
Version:
1.0.0 ; ******************************************************************************* ; *

License

; * (C) Copyright 2010 Energy Micro AS, http://www.energymicro.com ; ******************************************************************************* ; * ; * This source code is the property of Energy Micro AS. The source and compiled ; * code may only be used on Energy Micro "EFM32" microcontrollers. ; * ; * This copyright notice may not be removed from the source code nor changed. ; * ; * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no ; * obligation to support this Software. Energy Micro AS is providing the ; * Software "AS IS", with no express or implied warranties of any kind, ; * including, but not limited to, any implied warranties of merchantability ; * or fitness for any particular purpose or warranties against infringement ; * of any proprietary rights of a third party. ; * ; * Energy Micro AS will not be liable for any consequential, incidental, or ; * special damages, or any other relief, or for any claim by any third party, ; * arising from your use of this Software. ; * ;

Definition in file iec60335_class_b_cpureg_test_post_arm.s.


Variable Documentation

msr APSR

Definition at line 484 of file iec60335_class_b_cpureg_test_post_arm.s.

text syntax unified global ASMCPUregTestPOST type function equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ equ thumb thumb_func ASMCPUregTestPOST
msr BASEPRI

Definition at line 620 of file iec60335_class_b_cpureg_test_post_arm.s.

AREA CODE

Definition at line 30 of file iec60335_class_b_cpureg_test_post_arm.s.

msr r4 msr CONTROL

Definition at line 293 of file iec60335_class_b_cpureg_test_post_arm.s.

msr FAULTMASK

Definition at line 574 of file iec60335_class_b_cpureg_test_post_arm.s.

bx lr

Definition at line 669 of file iec60335_class_b_cpureg_test_post_arm.s.

ldr r0 mrs MSP

Definition at line 328 of file iec60335_class_b_cpureg_test_post_arm.s.

msr PRIMASK

Definition at line 529 of file iec60335_class_b_cpureg_test_post_arm.s.

msr PSP

Definition at line 380 of file iec60335_class_b_cpureg_test_post_arm.s.

ldr r0

Definition at line 78 of file iec60335_class_b_cpureg_test_post_arm.s.

mrs BASEPRI cmp r1 = pattern1

Definition at line 158 of file iec60335_class_b_cpureg_test_post_arm.s.

cmp r0 bne w Test_r8_r12_Exit cmp r0 bne w Test_r8_r12_Exit cmp r10

Definition at line 232 of file iec60335_class_b_cpureg_test_post_arm.s.

cmp r0 bne w Test_r8_r12_Exit cmp r0 bne w Test_r8_r12_Exit cmp r0 bne w Test_r8_r12_Exit cmp r11

Definition at line 232 of file iec60335_class_b_cpureg_test_post_arm.s.

mov r12

Definition at line 73 of file iec60335_class_b_cpureg_test_post_arm.s.

cmp r13

Definition at line 306 of file iec60335_class_b_cpureg_test_post_arm.s.

mov r14

Definition at line 440 of file iec60335_class_b_cpureg_test_post_arm.s.

cmp r0 bne w Test_r1_r7_Exit cmp r2

Definition at line 158 of file iec60335_class_b_cpureg_test_post_arm.s.

msr r3

Definition at line 158 of file iec60335_class_b_cpureg_test_post_arm.s.

mrs PSP cmp r4

Definition at line 158 of file iec60335_class_b_cpureg_test_post_arm.s.

mrs r5

Definition at line 158 of file iec60335_class_b_cpureg_test_post_arm.s.

ldr orr r10 str mov msr r6

Definition at line 158 of file iec60335_class_b_cpureg_test_post_arm.s.

cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r7

Definition at line 158 of file iec60335_class_b_cpureg_test_post_arm.s.

ldr orr r10 str r8 = pattern1

Definition at line 151 of file iec60335_class_b_cpureg_test_post_arm.s.

cmp r0 bne w Test_r8_r12_Exit cmp r9

Definition at line 232 of file iec60335_class_b_cpureg_test_post_arm.s.

ldr str Test_r0

Definition at line 80 of file iec60335_class_b_cpureg_test_post_arm.s.

movw cmp bne w Test_r0_Exit

Definition at line 89 of file iec60335_class_b_cpureg_test_post_arm.s.

cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit cmp r0 bne w Test_r1_r7_Exit

Definition at line 168 of file iec60335_class_b_cpureg_test_post_arm.s.

AREA text

Definition at line 30 of file iec60335_class_b_cpureg_test_post_arm.s.

Definition at line 30 of file iec60335_class_b_cpureg_test_post_arm.s.