mbed-os for GR-LYCHEE

Dependents:   mbed-os-example-blinky-gr-lychee GR-Boads_Camera_sample GR-Boards_Audio_Recoder GR-Boads_Camera_DisplayApp ... more

Committer:
dkato
Date:
Fri Feb 02 05:42:23 2018 +0000
Revision:
0:f782d9c66c49
mbed-os for GR-LYCHEE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dkato 0:f782d9c66c49 1 /**************************************************
dkato 0:f782d9c66c49 2 *
dkato 0:f782d9c66c49 3 * Part two of the system initialization code, contains C-level
dkato 0:f782d9c66c49 4 * initialization, thumb-2 only variant.
dkato 0:f782d9c66c49 5 *
dkato 0:f782d9c66c49 6 * Copyright 2006 IAR Systems. All rights reserved.
dkato 0:f782d9c66c49 7 *
dkato 0:f782d9c66c49 8 * $Revision: 59783 $
dkato 0:f782d9c66c49 9 *
dkato 0:f782d9c66c49 10 **************************************************/
dkato 0:f782d9c66c49 11
dkato 0:f782d9c66c49 12
dkato 0:f782d9c66c49 13 ; --------------------------------------------------
dkato 0:f782d9c66c49 14 ; Module ?cmain, C-level initialization.
dkato 0:f782d9c66c49 15 ;
dkato 0:f782d9c66c49 16
dkato 0:f782d9c66c49 17
dkato 0:f782d9c66c49 18 SECTION SHT$$PREINIT_ARRAY:CONST:NOROOT(2)
dkato 0:f782d9c66c49 19 SECTION SHT$$INIT_ARRAY:CONST:NOROOT(2)
dkato 0:f782d9c66c49 20
dkato 0:f782d9c66c49 21 SECTION .text:CODE:NOROOT(2)
dkato 0:f782d9c66c49 22
dkato 0:f782d9c66c49 23 PUBLIC __cmain
dkato 0:f782d9c66c49 24 ;; Keep ?main for legacy reasons, it is accessed in countless instances of cstartup.s around the world...
dkato 0:f782d9c66c49 25 PUBLIC ?main
dkato 0:f782d9c66c49 26 EXTWEAK __iar_data_init3
dkato 0:f782d9c66c49 27 EXTWEAK __iar_argc_argv
dkato 0:f782d9c66c49 28 EXTERN __low_level_init
dkato 0:f782d9c66c49 29 EXTERN __call_ctors
dkato 0:f782d9c66c49 30 EXTERN main
dkato 0:f782d9c66c49 31 EXTERN exit
dkato 0:f782d9c66c49 32 EXTERN __iar_dynamic_initialization
dkato 0:f782d9c66c49 33 EXTERN mbed_sdk_init
dkato 0:f782d9c66c49 34 EXTERN SystemInit
dkato 0:f782d9c66c49 35
dkato 0:f782d9c66c49 36 THUMB
dkato 0:f782d9c66c49 37 __cmain:
dkato 0:f782d9c66c49 38 ?main:
dkato 0:f782d9c66c49 39
dkato 0:f782d9c66c49 40 ; Initialize segments.
dkato 0:f782d9c66c49 41 ; __segment_init and __low_level_init are assumed to use the same
dkato 0:f782d9c66c49 42 ; instruction set and to be reachable by BL from the ICODE segment
dkato 0:f782d9c66c49 43 ; (it is safest to link them in segment ICODE).
dkato 0:f782d9c66c49 44
dkato 0:f782d9c66c49 45 FUNCALL __cmain, __low_level_init
dkato 0:f782d9c66c49 46 bl __low_level_init
dkato 0:f782d9c66c49 47 cmp r0,#0
dkato 0:f782d9c66c49 48 beq ?l1
dkato 0:f782d9c66c49 49 FUNCALL __cmain, __iar_data_init3
dkato 0:f782d9c66c49 50 bl __iar_data_init3
dkato 0:f782d9c66c49 51 MOVS r0,#0 ; No parameters
dkato 0:f782d9c66c49 52 FUNCALL __cmain, mbed_sdk_init
dkato 0:f782d9c66c49 53 BL mbed_sdk_init
dkato 0:f782d9c66c49 54 MOVS r0,#0 ; No parameters
dkato 0:f782d9c66c49 55 FUNCALL __cmain, __iar_dynamic_initialization
dkato 0:f782d9c66c49 56 BL __iar_dynamic_initialization ; C++ dynamic initialization
dkato 0:f782d9c66c49 57
dkato 0:f782d9c66c49 58 ?l1:
dkato 0:f782d9c66c49 59 REQUIRE ?l3
dkato 0:f782d9c66c49 60
dkato 0:f782d9c66c49 61 SECTION .text:CODE:NOROOT(2)
dkato 0:f782d9c66c49 62
dkato 0:f782d9c66c49 63 PUBLIC _main
dkato 0:f782d9c66c49 64 PUBLIC _call_main
dkato 0:f782d9c66c49 65 THUMB
dkato 0:f782d9c66c49 66
dkato 0:f782d9c66c49 67 __iar_init$$done: ; Copy initialization is done
dkato 0:f782d9c66c49 68
dkato 0:f782d9c66c49 69 ?l3:
dkato 0:f782d9c66c49 70 _call_main:
dkato 0:f782d9c66c49 71 MOVS r0,#0 ; No parameters
dkato 0:f782d9c66c49 72 FUNCALL __cmain, __iar_argc_argv
dkato 0:f782d9c66c49 73 BL __iar_argc_argv ; Maybe setup command line
dkato 0:f782d9c66c49 74
dkato 0:f782d9c66c49 75 FUNCALL __cmain, main
dkato 0:f782d9c66c49 76 BL main
dkato 0:f782d9c66c49 77 _main:
dkato 0:f782d9c66c49 78 FUNCALL __cmain, exit
dkato 0:f782d9c66c49 79 BL exit
dkato 0:f782d9c66c49 80
dkato 0:f782d9c66c49 81 END