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_bist_arm.s File Reference

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

Go to the source code of this file.

Variables

AREA text
AREA CODE
AREA READONLY THUMB
EXPORT ASMCPUregTestLOW EXPORT
ASMCPUregTestHIGH EXPORT
ASMCPUregTestSP EXPORT 
ASMCPUregTestSPEC
IMPORT IEC60335_CPUregTestBIST
testState EQU testResult EQU
 ASMCPUregTestLOW
 Test_r0
ldr r0
ldr orr r8 = pattern1
ldr orr r10 str str movw movt
lsr cmp bne 
Test_r0_Exit
 Test_r0_pass
ldr b Test_r1_r7
ldr orr r10 str str ldr mov r1 = pattern1
ldr orr r10 str str ldr mov r0 mov r2
ldr orr r10 str str ldr mov r0
mov r0 mov 
r3
ldr orr r10 str str ldr mov r0
mov r0 mov r0 mov 
r4
ldr orr r10 str str ldr mov r0
mov r0 mov r0 mov r0 mov 
r5
ldr orr r10 str str ldr mov r0
mov r0 mov r0 mov r0 mov r0
mov 
r6
ldr orr r10 str str ldr mov r0
mov r0 mov r0 mov r0 mov r0
mov r0 mov 
r7
cmp r0 bne Test_r1_r7_Exit cmp
r0 bne Test_r1_r7_Exit cmp r0
bne Test_r1_r7_Exit cmp r0 bne
Test_r1_r7_Exit cmp r0 bne
Test_r1_r7_Exit cmp r0 bne
Test_r1_r7_Exit cmp r0 bne 
Test_r1_r7_Exit
cmp r0 bne Test_r1_r7_Exit cmp
r0 bne Test_r1_r7_Exit cmp r0
bne Test_r1_r7_Exit cmp r0 bne
Test_r1_r7_Exit cmp r0 bne
Test_r1_r7_Exit cmp r0 bne
Test_r1_r7_Exit cmp r0 bne
Test_r1_r7_Exit 
Test_r1_r7_pass
bx lr
 ASMCPUregTestHIGH
 Test_r8_r12
ldr orr r7 str str ldr mov r0 mov r9
ldr orr r7 str str ldr mov r0
mov r0 mov 
r10
ldr orr r7 str str ldr mov r0
mov r0 mov r0 mov 
r11
ldr orr r7 str str ldr mov r0
mov r0 mov r0 mov r0 mov 
r12
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne 
Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit
cmp r0 bne Test_r8_r12_Exit 
Test_r8_r12_pass
 ASMCPUregTestSP
 Test_MSP
mov msr PRIMASK
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
ldr b Test_PSP
mrs PSP
mrs PSP cmp r5 bne Test_PSP_Exit
cmp r0 bne Test_PSP_Exit Test_PSP_pass
msr r4 msr r3 Test_SP_Exit
 Test_LR
mov r14
cmp r0 bne Test_LR_Exit
cmp r0 bne Test_LR_Exit Test_LR_pass
mov r3Test_CPU_SFR_fail
 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 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

Detailed Description

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

; * ; *

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_bist_arm.s.


Variable Documentation

msr APSR

Definition at line 540 of file iec60335_class_b_cpureg_test_bist_arm.s.

thumb_func ASMCPUregTestHIGH
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 ASMCPUregTestLOW
thumb_func ASMCPUregTestSP
thumb_func ASMCPUregTestSPEC
msr BASEPRI

Definition at line 693 of file iec60335_class_b_cpureg_test_bist_arm.s.

AREA CODE

Definition at line 30 of file iec60335_class_b_cpureg_test_bist_arm.s.

msr r4 msr CONTROL

Definition at line 322 of file iec60335_class_b_cpureg_test_bist_arm.s.

msr FAULTMASK

Definition at line 642 of file iec60335_class_b_cpureg_test_bist_arm.s.

bx lr

Definition at line 225 of file iec60335_class_b_cpureg_test_bist_arm.s.

ldr r0 mrs MSP

Definition at line 361 of file iec60335_class_b_cpureg_test_bist_arm.s.

msr PRIMASK

Definition at line 317 of file iec60335_class_b_cpureg_test_bist_arm.s.

msr PSP

Definition at line 409 of file iec60335_class_b_cpureg_test_bist_arm.s.

ldr r0

Definition at line 82 of file iec60335_class_b_cpureg_test_bist_arm.s.

mrs BASEPRI cmp r1 = pattern1

Definition at line 164 of file iec60335_class_b_cpureg_test_bist_arm.s.

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

Definition at line 253 of file iec60335_class_b_cpureg_test_bist_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 253 of file iec60335_class_b_cpureg_test_bist_arm.s.

mov r12

Definition at line 253 of file iec60335_class_b_cpureg_test_bist_arm.s.

cmp r13

Definition at line 338 of file iec60335_class_b_cpureg_test_bist_arm.s.

mov r14

Definition at line 490 of file iec60335_class_b_cpureg_test_bist_arm.s.

cmp r0 bne w Test_r1_r7_Exit cmp r2

Definition at line 164 of file iec60335_class_b_cpureg_test_bist_arm.s.

msr r3

Definition at line 164 of file iec60335_class_b_cpureg_test_bist_arm.s.

mrs PSP cmp r4

Definition at line 164 of file iec60335_class_b_cpureg_test_bist_arm.s.

mrs r5

Definition at line 164 of file iec60335_class_b_cpureg_test_bist_arm.s.

ldr orr r10 str mov msr r6

Definition at line 164 of file iec60335_class_b_cpureg_test_bist_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 164 of file iec60335_class_b_cpureg_test_bist_arm.s.

ldr orr r10 str r8 = pattern1

Definition at line 88 of file iec60335_class_b_cpureg_test_bist_arm.s.

cmp r0 bne w Test_r8_r12_Exit cmp r9

Definition at line 253 of file iec60335_class_b_cpureg_test_bist_arm.s.

Definition at line 77 of file iec60335_class_b_cpureg_test_bist_arm.s.

movw cmp bne w Test_r0_Exit

Definition at line 88 of file iec60335_class_b_cpureg_test_bist_arm.s.

msr r4 msr r3 Test_SP_Exit

Definition at line 462 of file iec60335_class_b_cpureg_test_bist_arm.s.

AREA text

Definition at line 30 of file iec60335_class_b_cpureg_test_bist_arm.s.

Definition at line 30 of file iec60335_class_b_cpureg_test_bist_arm.s.