This is the final version of Mini Gateway for Automation and Security desgined for Renesas GR Peach Design Contest

Dependencies:   GR-PEACH_video GraphicsFramework HTTPServer R_BSP mbed-rpc mbed-rtos Socket lwip-eth lwip-sys lwip FATFileSystem

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Committer:
vipinranka
Date:
Wed Jan 11 11:41:30 2017 +0000
Revision:
12:9a20164dcc47
This is the final version MGAS Project for Renesas GR Peach Design Contest

Who changed what in which revision?

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