Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AtmelStart.elf: file format elf32-littlearm
- Sections:
- Idx Name Size VMA LMA File off Algn
- 0 .text 00000324 00000000 00000000 00010000 2**2
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 1 .relocate 00000000 20000000 20000000 00010324 2**0
- CONTENTS
- 2 .lpram 00000000 30000000 30000000 00010324 2**0
- CONTENTS
- 3 .bss 0000001c 20000000 20000000 00020000 2**2
- ALLOC
- 4 .stack 00002004 2000001c 2000001c 00020000 2**0
- ALLOC
- 5 .ARM.attributes 00000028 00000000 00000000 00010324 2**0
- CONTENTS, READONLY
- 6 .comment 00000059 00000000 00000000 0001034c 2**0
- CONTENTS, READONLY
- 7 .debug_info 00004c12 00000000 00000000 000103a5 2**0
- CONTENTS, READONLY, DEBUGGING
- 8 .debug_abbrev 000010cb 00000000 00000000 00014fb7 2**0
- CONTENTS, READONLY, DEBUGGING
- 9 .debug_loc 000004c3 00000000 00000000 00016082 2**0
- CONTENTS, READONLY, DEBUGGING
- 10 .debug_aranges 00000168 00000000 00000000 00016545 2**0
- CONTENTS, READONLY, DEBUGGING
- 11 .debug_ranges 00000178 00000000 00000000 000166ad 2**0
- CONTENTS, READONLY, DEBUGGING
- 12 .debug_macro 00003dbe 00000000 00000000 00016825 2**0
- CONTENTS, READONLY, DEBUGGING
- 13 .debug_line 00005406 00000000 00000000 0001a5e3 2**0
- CONTENTS, READONLY, DEBUGGING
- 14 .debug_str 00080c48 00000000 00000000 0001f9e9 2**0
- CONTENTS, READONLY, DEBUGGING
- 15 .debug_frame 000001f0 00000000 00000000 000a0634 2**2
- CONTENTS, READONLY, DEBUGGING
- Disassembly of section .text:
- 00000000 <exception_table>:
- 0: 20 20 00 20 41 02 00 00 3d 02 00 00 3d 02 00 00 . A...=...=...
- ...
- 2c: 3d 02 00 00 00 00 00 00 00 00 00 00 3d 02 00 00 =...........=...
- 3c: 3d 02 00 00 3d 02 00 00 3d 02 00 00 3d 02 00 00 =...=...=...=...
- 4c: 3d 02 00 00 3d 02 00 00 3d 02 00 00 3d 02 00 00 =...=...=...=...
- 5c: 3d 02 00 00 3d 02 00 00 3d 02 00 00 3d 02 00 00 =...=...=...=...
- 6c: 3d 02 00 00 3d 02 00 00 3d 02 00 00 3d 02 00 00 =...=...=...=...
- 7c: 3d 02 00 00 3d 02 00 00 3d 02 00 00 3d 02 00 00 =...=...=...=...
- ...
- 94: 3d 02 00 00 3d 02 00 00 3d 02 00 00 3d 02 00 00 =...=...=...=...
- a4: 3d 02 00 00 3d 02 00 00 3d 02 00 00 00 00 00 00 =...=...=.......
- 000000b4 <__do_global_dtors_aux>:
- b4: b510 push {r4, lr}
- b6: 4c06 ldr r4, [pc, #24] ; (d0 <__do_global_dtors_aux+0x1c>)
- b8: 7823 ldrb r3, [r4, #0]
- ba: 2b00 cmp r3, #0
- bc: d107 bne.n ce <__do_global_dtors_aux+0x1a>
- be: 4b05 ldr r3, [pc, #20] ; (d4 <__do_global_dtors_aux+0x20>)
- c0: 2b00 cmp r3, #0
- c2: d002 beq.n ca <__do_global_dtors_aux+0x16>
- c4: 4804 ldr r0, [pc, #16] ; (d8 <__do_global_dtors_aux+0x24>)
- c6: e000 b.n ca <__do_global_dtors_aux+0x16>
- c8: bf00 nop
- ca: 2301 movs r3, #1
- cc: 7023 strb r3, [r4, #0]
- ce: bd10 pop {r4, pc}
- d0: 20000000 .word 0x20000000
- d4: 00000000 .word 0x00000000
- d8: 00000324 .word 0x00000324
- 000000dc <frame_dummy>:
- dc: 4b08 ldr r3, [pc, #32] ; (100 <frame_dummy+0x24>)
- de: b510 push {r4, lr}
- e0: 2b00 cmp r3, #0
- e2: d003 beq.n ec <frame_dummy+0x10>
- e4: 4907 ldr r1, [pc, #28] ; (104 <frame_dummy+0x28>)
- e6: 4808 ldr r0, [pc, #32] ; (108 <frame_dummy+0x2c>)
- e8: e000 b.n ec <frame_dummy+0x10>
- ea: bf00 nop
- ec: 4807 ldr r0, [pc, #28] ; (10c <frame_dummy+0x30>)
- ee: 6803 ldr r3, [r0, #0]
- f0: 2b00 cmp r3, #0
- f2: d100 bne.n f6 <frame_dummy+0x1a>
- f4: bd10 pop {r4, pc}
- f6: 4b06 ldr r3, [pc, #24] ; (110 <frame_dummy+0x34>)
- f8: 2b00 cmp r3, #0
- fa: d0fb beq.n f4 <frame_dummy+0x18>
- fc: 4798 blx r3
- fe: e7f9 b.n f4 <frame_dummy+0x18>
- 100: 00000000 .word 0x00000000
- 104: 20000004 .word 0x20000004
- 108: 00000324 .word 0x00000324
- 10c: 00000324 .word 0x00000324
- 110: 00000000 .word 0x00000000
- 00000114 <_oscctrl_init_sources>:
- }
- static inline void hri_oscctrl_write_OSC16MCTRL_reg(const void *const hw, hri_oscctrl_osc16mctrl_reg_t data)
- {
- OSCCTRL_CRITICAL_SECTION_ENTER();
- ((Oscctrl *)hw)->OSC16MCTRL.reg = data;
- 114: 2282 movs r2, #130 ; 0x82
- 116: 4b0b ldr r3, [pc, #44] ; (144 <_oscctrl_init_sources+0x30>)
- /**
- * \brief Initialize clock sources
- */
- void _oscctrl_init_sources(void)
- {
- 118: b510 push {r4, lr}
- 11a: 751a strb r2, [r3, #20]
- while (((Oscctrl *)hw)->DPLLSYNCBUSY.reg & reg) {
- 11c: 4a0a ldr r2, [pc, #40] ; (148 <_oscctrl_init_sources+0x34>)
- 11e: 2002 movs r0, #2
- 120: 0011 movs r1, r2
- 122: 7814 ldrb r4, [r2, #0]
- 124: 4204 tst r4, r0
- 126: d1fc bne.n 122 <_oscctrl_init_sources+0xe>
- #endif
- #endif
- #if CONF_OSC16M_CONFIG == 1
- #if CONF_OSC16M_ENABLE == 1
- while (!hri_oscctrl_get_STATUS_OSC16MRDY_bit(hw))
- 128: 2210 movs r2, #16
- return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_OSC16MRDY) >> OSCCTRL_STATUS_OSC16MRDY_Pos;
- 12a: 68d8 ldr r0, [r3, #12]
- 12c: 4210 tst r0, r2
- 12e: d0fc beq.n 12a <_oscctrl_init_sources+0x16>
- ((Oscctrl *)hw)->OSC16MCTRL.reg |= OSCCTRL_OSC16MCTRL_ONDEMAND;
- 130: 2080 movs r0, #128 ; 0x80
- 132: 7d1a ldrb r2, [r3, #20]
- 134: 4302 orrs r2, r0
- 136: 751a strb r2, [r3, #20]
- while (((Oscctrl *)hw)->DPLLSYNCBUSY.reg & reg) {
- 138: 230e movs r3, #14
- 13a: 780a ldrb r2, [r1, #0]
- 13c: 421a tst r2, r3
- 13e: d1fc bne.n 13a <_oscctrl_init_sources+0x26>
- #if CONF_OSC16M_ONDEMAND == 1
- hri_oscctrl_set_OSC16MCTRL_ONDEMAND_bit(hw);
- #endif
- #endif
- (void)hw;
- }
- 140: bd10 pop {r4, pc}
- 142: 46c0 nop ; (mov r8, r8)
- 144: 40000c00 .word 0x40000c00
- 148: 40000c38 .word 0x40000c38
- 0000014c <_oscctrl_init_referenced_generators>:
- #if CONF_DFLL_CONFIG == 1
- while (hri_gclk_read_SYNCBUSY_reg(GCLK))
- ;
- #endif
- (void)hw, (void)tmp;
- }
- 14c: 4770 bx lr
- ...
- 00000150 <_init_chip>:
- }
- static inline void hri_nvmctrl_set_CTRLB_RWS_bf(const void *const hw, hri_nvmctrl_ctrlb_reg_t mask)
- {
- NVMCTRL_CRITICAL_SECTION_ENTER();
- ((Nvmctrl *)hw)->CTRLB.reg |= NVMCTRL_CTRLB_RWS(mask);
- 150: 2002 movs r0, #2
- /**
- * \brief Initialize the hardware abstraction layer
- */
- void _init_chip(void)
- {
- 152: b510 push {r4, lr}
- 154: 4a08 ldr r2, [pc, #32] ; (178 <_init_chip+0x28>)
- 156: 6853 ldr r3, [r2, #4]
- 158: 4303 orrs r3, r0
- 15a: 6053 str r3, [r2, #4]
- hri_nvmctrl_set_CTRLB_RWS_bf(NVMCTRL, CONF_NVM_WAIT_STATE);
- _set_performance_level(2);
- 15c: 4b07 ldr r3, [pc, #28] ; (17c <_init_chip+0x2c>)
- 15e: 4798 blx r3
- _osc32kctrl_init_sources();
- 160: 4b07 ldr r3, [pc, #28] ; (180 <_init_chip+0x30>)
- 162: 4798 blx r3
- _oscctrl_init_sources();
- 164: 4b07 ldr r3, [pc, #28] ; (184 <_init_chip+0x34>)
- 166: 4798 blx r3
- _mclk_init();
- 168: 4b07 ldr r3, [pc, #28] ; (188 <_init_chip+0x38>)
- 16a: 4798 blx r3
- #if _GCLK_INIT_1ST
- _gclk_init_generators_by_fref(_GCLK_INIT_1ST);
- #endif
- _oscctrl_init_referenced_generators();
- 16c: 4b07 ldr r3, [pc, #28] ; (18c <_init_chip+0x3c>)
- 16e: 4798 blx r3
- _gclk_init_generators_by_fref(_GCLK_INIT_LAST);
- 170: 20ff movs r0, #255 ; 0xff
- 172: 4b07 ldr r3, [pc, #28] ; (190 <_init_chip+0x40>)
- 174: 4798 blx r3
- #endif
- #if (CONF_PORT_EVCTRL_PORT_0 | CONF_PORT_EVCTRL_PORT_1 | CONF_PORT_EVCTRL_PORT_2 | CONF_PORT_EVCTRL_PORT_3)
- _port_event_init();
- #endif
- }
- 176: bd10 pop {r4, pc}
- 178: 41004000 .word 0x41004000
- 17c: 00000195 .word 0x00000195
- 180: 00000219 .word 0x00000219
- 184: 00000115 .word 0x00000115
- 188: 000001b9 .word 0x000001b9
- 18c: 0000014d .word 0x0000014d
- 190: 000001cd .word 0x000001cd
- 00000194 <_set_performance_level>:
- }
- static inline hri_pm_plcfg_reg_t hri_pm_get_PLCFG_PLSEL_bf(const void *const hw, hri_pm_plcfg_reg_t mask)
- {
- uint8_t tmp;
- tmp = ((Pm *)hw)->PLCFG.reg;
- 194: 2380 movs r3, #128 ; 0x80
- tmp = (tmp & PM_PLCFG_PLSEL(mask)) >> PM_PLCFG_PLSEL_Pos;
- 196: 2103 movs r1, #3
- tmp = ((Pm *)hw)->PLCFG.reg;
- 198: 05db lsls r3, r3, #23
- 19a: 789a ldrb r2, [r3, #2]
- /**
- * \brief Set performance level
- */
- void _set_performance_level(const uint8_t level)
- {
- if (hri_pm_get_PLCFG_PLSEL_bf(PM, PM_PLCFG_PLSEL_Msk) != level) {
- 19c: 400a ands r2, r1
- 19e: 4290 cmp r0, r2
- 1a0: d009 beq.n 1b6 <_set_performance_level+0x22>
- ((Pm *)hw)->INTFLAG.reg = mask;
- 1a2: 22ff movs r2, #255 ; 0xff
- 1a4: 719a strb r2, [r3, #6]
- static inline void hri_pm_write_PLCFG_PLSEL_bf(const void *const hw, hri_pm_plcfg_reg_t data)
- {
- uint8_t tmp;
- PM_CRITICAL_SECTION_ENTER();
- tmp = ((Pm *)hw)->PLCFG.reg;
- 1a6: 789a ldrb r2, [r3, #2]
- tmp &= ~PM_PLCFG_PLSEL_Msk;
- tmp |= PM_PLCFG_PLSEL(data);
- 1a8: 4008 ands r0, r1
- tmp &= ~PM_PLCFG_PLSEL_Msk;
- 1aa: 438a bics r2, r1
- tmp |= PM_PLCFG_PLSEL(data);
- 1ac: 4310 orrs r0, r2
- ((Pm *)hw)->PLCFG.reg = tmp;
- 1ae: 7098 strb r0, [r3, #2]
- return ((Pm *)hw)->INTFLAG.reg;
- 1b0: 799a ldrb r2, [r3, #6]
- hri_pm_clear_INTFLAG_reg(PM, 0xFF);
- hri_pm_write_PLCFG_PLSEL_bf(PM, level);
- while (!hri_pm_read_INTFLAG_reg(PM))
- 1b2: 2a00 cmp r2, #0
- 1b4: d0fc beq.n 1b0 <_set_performance_level+0x1c>
- ;
- }
- }
- 1b6: 4770 bx lr
- 000001b8 <_mclk_init>:
- }
- static inline void hri_mclk_write_BUPDIV_reg(const void *const hw, hri_mclk_bupdiv_reg_t data)
- {
- MCLK_CRITICAL_SECTION_ENTER();
- ((Mclk *)hw)->BUPDIV.reg = data;
- 1b8: 2208 movs r2, #8
- 1ba: 4b03 ldr r3, [pc, #12] ; (1c8 <_mclk_init+0x10>)
- 1bc: 719a strb r2, [r3, #6]
- ((Mclk *)hw)->LPDIV.reg = data;
- 1be: 3a04 subs r2, #4
- 1c0: 715a strb r2, [r3, #5]
- ((Mclk *)hw)->CPUDIV.reg = data;
- 1c2: 3a03 subs r2, #3
- 1c4: 711a strb r2, [r3, #4]
- {
- void *hw = (void *)MCLK;
- hri_mclk_write_BUPDIV_reg(hw, MCLK_BUPDIV_BUPDIV(CONF_MCLK_BUPDIV));
- hri_mclk_write_LPDIV_reg(hw, MCLK_LPDIV_LPDIV(CONF_MCLK_LPDIV));
- hri_mclk_write_CPUDIV_reg(hw, MCLK_CPUDIV_CPUDIV(CONF_MCLK_CPUDIV));
- }
- 1c6: 4770 bx lr
- 1c8: 40000400 .word 0x40000400
- 000001cc <_gclk_init_generators_by_fref>:
- void _gclk_init_generators_by_fref(uint32_t bm)
- {
- #if CONF_GCLK_GENERATOR_0_CONFIG == 1
- if (bm & (1ul << 0)) {
- 1cc: 07c3 lsls r3, r0, #31
- 1ce: d506 bpl.n 1de <_gclk_init_generators_by_fref+0x12>
- }
- static inline void hri_gclk_write_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t data)
- {
- GCLK_CRITICAL_SECTION_ENTER();
- ((Gclk *)hw)->GENCTRL[index].reg = data;
- 1d0: 4a03 ldr r2, [pc, #12] ; (1e0 <_gclk_init_generators_by_fref+0x14>)
- 1d2: 4b04 ldr r3, [pc, #16] ; (1e4 <_gclk_init_generators_by_fref+0x18>)
- 1d4: 621a str r2, [r3, #32]
- while (((Gclk *)hw)->SYNCBUSY.reg & reg) {
- 1d6: 4a04 ldr r2, [pc, #16] ; (1e8 <_gclk_init_generators_by_fref+0x1c>)
- 1d8: 6859 ldr r1, [r3, #4]
- 1da: 4211 tst r1, r2
- 1dc: d1fc bne.n 1d8 <_gclk_init_generators_by_fref+0xc>
- | (CONF_GCLK_GEN_8_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_8_OE << GCLK_GENCTRL_OE_Pos)
- | (CONF_GCLK_GEN_8_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_8_IDC << GCLK_GENCTRL_IDC_Pos)
- | (CONF_GCLK_GENERATOR_8_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_8_SOURCE);
- }
- #endif
- }
- 1de: 4770 bx lr
- 1e0: 00010106 .word 0x00010106
- 1e4: 40001800 .word 0x40001800
- 1e8: 000007fd .word 0x000007fd
- 000001ec <main>:
- #include <atmel_start.h>
- int main(void)
- {
- /* Initializes MCU, drivers and middleware */
- atmel_start_init();
- 1ec: 4b07 ldr r3, [pc, #28] ; (20c <main+0x20>)
- {
- 1ee: b510 push {r4, lr}
- atmel_start_init();
- 1f0: 4798 blx r3
- ((Port *)hw)->Group[submodule_index].DIRTGL.reg = PORT_DIR_DIR(mask);
- }
- static inline void hri_port_set_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask)
- {
- ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
- 1f2: 23c0 movs r3, #192 ; 0xc0
- 1f4: 22f0 movs r2, #240 ; 0xf0
- static inline void hri_port_write_WRCONFIG_reg(const void *const hw, uint8_t submodule_index,
- hri_port_wrconfig_reg_t data)
- {
- PORT_CRITICAL_SECTION_ENTER();
- ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
- 1f6: 4906 ldr r1, [pc, #24] ; (210 <main+0x24>)
- 1f8: 4806 ldr r0, [pc, #24] ; (214 <main+0x28>)
- ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
- 1fa: 05db lsls r3, r3, #23
- 1fc: 609a str r2, [r3, #8]
- ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
- 1fe: 6288 str r0, [r1, #40] ; 0x28
- 200: 20c0 movs r0, #192 ; 0xc0
- 202: 0600 lsls r0, r0, #24
- 204: 6288 str r0, [r1, #40] ; 0x28
- ((Port *)hw)->Group[submodule_index].OUTTGL.reg = mask;
- 206: 61da str r2, [r3, #28]
- 208: e7fd b.n 206 <main+0x1a>
- 20a: 46c0 nop ; (mov r8, r8)
- 20c: 000002b1 .word 0x000002b1
- 210: 40002800 .word 0x40002800
- 214: 400000f0 .word 0x400000f0
- 00000218 <_osc32kctrl_init_sources>:
- calib = hri_osc32kctrl_read_OSCULP32K_CALIB_bf(hw);
- hri_osc32kctrl_write_OSCULP32K_reg(hw,
- #if CONF_OSC32K_CALIB_ENABLE == 1
- OSC32KCTRL_OSCULP32K_CALIB(CONF_OSC32K_CALIB)
- #else
- OSC32KCTRL_OSCULP32K_CALIB(calib)
- 218: 21f8 movs r1, #248 ; 0xf8
- }
- static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_CALIB_bf(const void *const hw)
- {
- uint32_t tmp;
- tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
- 21a: 4b04 ldr r3, [pc, #16] ; (22c <_osc32kctrl_init_sources+0x14>)
- 21c: 0149 lsls r1, r1, #5
- 21e: 69da ldr r2, [r3, #28]
- 220: 400a ands r2, r1
- }
- static inline void hri_osc32kctrl_write_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data)
- {
- OSC32KCTRL_CRITICAL_SECTION_ENTER();
- ((Osc32kctrl *)hw)->OSCULP32K.reg = data;
- 222: 61da str r2, [r3, #28]
- ((Osc32kctrl *)hw)->RTCCTRL.reg = data;
- 224: 2201 movs r2, #1
- 226: 611a str r2, [r3, #16]
- ;
- #endif
- #endif
- hri_osc32kctrl_write_RTCCTRL_reg(hw, OSC32KCTRL_RTCCTRL_RTCSEL(CONF_RTCCTRL));
- (void)calib;
- }
- 228: 4770 bx lr
- 22a: 46c0 nop ; (mov r8, r8)
- 22c: 40001000 .word 0x40001000
- 00000230 <system_init>:
- #include <peripheral_clk_config.h>
- #include <utils.h>
- #include <hal_init.h>
- void system_init(void)
- {
- 230: b510 push {r4, lr}
- * Currently the following initialization functions are supported:
- * - System clock initialization
- */
- static inline void init_mcu(void)
- {
- _init_chip();
- 232: 4b01 ldr r3, [pc, #4] ; (238 <system_init+0x8>)
- 234: 4798 blx r3
- init_mcu();
- }
- 236: bd10 pop {r4, pc}
- 238: 00000151 .word 0x00000151
- 0000023c <Dummy_Handler>:
- /**
- * \brief Default interrupt handler for unused IRQs.
- */
- void Dummy_Handler(void)
- {
- 23c: e7fe b.n 23c <Dummy_Handler>
- ...
- 00000240 <Reset_Handler>:
- if (pSrc != pDest) {
- 240: 4811 ldr r0, [pc, #68] ; (288 <Reset_Handler+0x48>)
- 242: 4912 ldr r1, [pc, #72] ; (28c <Reset_Handler+0x4c>)
- {
- 244: b570 push {r4, r5, r6, lr}
- if (pSrc != pDest) {
- 246: 4288 cmp r0, r1
- 248: d004 beq.n 254 <Reset_Handler+0x14>
- 24a: 2300 movs r3, #0
- for (; pDest < &_erelocate;) {
- 24c: 4c10 ldr r4, [pc, #64] ; (290 <Reset_Handler+0x50>)
- 24e: 18ca adds r2, r1, r3
- 250: 42a2 cmp r2, r4
- 252: d313 bcc.n 27c <Reset_Handler+0x3c>
- *pDest++ = 0;
- 254: 2100 movs r1, #0
- 256: 4b0f ldr r3, [pc, #60] ; (294 <Reset_Handler+0x54>)
- for (pDest = &_szero; pDest < &_ezero;) {
- 258: 4a0f ldr r2, [pc, #60] ; (298 <Reset_Handler+0x58>)
- 25a: 4293 cmp r3, r2
- 25c: d312 bcc.n 284 <Reset_Handler+0x44>
- SCB->VTOR = ((uint32_t)pSrc & SCB_VTOR_TBLOFF_Msk);
- 25e: 21ff movs r1, #255 ; 0xff
- 260: 4b0e ldr r3, [pc, #56] ; (29c <Reset_Handler+0x5c>)
- 262: 4a0f ldr r2, [pc, #60] ; (2a0 <Reset_Handler+0x60>)
- 264: 438b bics r3, r1
- 266: 6093 str r3, [r2, #8]
- NVMCTRL->CTRLB.bit.MANW = 1;
- 268: 2380 movs r3, #128 ; 0x80
- 26a: 4a0e ldr r2, [pc, #56] ; (2a4 <Reset_Handler+0x64>)
- 26c: 6851 ldr r1, [r2, #4]
- 26e: 430b orrs r3, r1
- 270: 6053 str r3, [r2, #4]
- __libc_init_array();
- 272: 4b0d ldr r3, [pc, #52] ; (2a8 <Reset_Handler+0x68>)
- 274: 4798 blx r3
- main();
- 276: 4b0d ldr r3, [pc, #52] ; (2ac <Reset_Handler+0x6c>)
- 278: 4798 blx r3
- 27a: e7fe b.n 27a <Reset_Handler+0x3a>
- *pDest++ = *pSrc++;
- 27c: 58c5 ldr r5, [r0, r3]
- 27e: 3304 adds r3, #4
- 280: 6015 str r5, [r2, #0]
- 282: e7e4 b.n 24e <Reset_Handler+0xe>
- *pDest++ = 0;
- 284: c302 stmia r3!, {r1}
- 286: e7e8 b.n 25a <Reset_Handler+0x1a>
- 288: 00000324 .word 0x00000324
- 28c: 20000000 .word 0x20000000
- 290: 20000000 .word 0x20000000
- 294: 20000000 .word 0x20000000
- 298: 2000001c .word 0x2000001c
- 29c: 00000000 .word 0x00000000
- 2a0: e000ed00 .word 0xe000ed00
- 2a4: 41004000 .word 0x41004000
- 2a8: 000002bd .word 0x000002bd
- 2ac: 000001ed .word 0x000001ed
- 000002b0 <atmel_start_init>:
- /**
- * Initializes MCU, drivers and middleware in the project
- **/
- void atmel_start_init(void)
- {
- 2b0: b510 push {r4, lr}
- system_init();
- 2b2: 4b01 ldr r3, [pc, #4] ; (2b8 <atmel_start_init+0x8>)
- 2b4: 4798 blx r3
- }
- 2b6: bd10 pop {r4, pc}
- 2b8: 00000231 .word 0x00000231
- 000002bc <__libc_init_array>:
- 2bc: b570 push {r4, r5, r6, lr}
- 2be: 2600 movs r6, #0
- 2c0: 4d0c ldr r5, [pc, #48] ; (2f4 <__libc_init_array+0x38>)
- 2c2: 4c0d ldr r4, [pc, #52] ; (2f8 <__libc_init_array+0x3c>)
- 2c4: 1b64 subs r4, r4, r5
- 2c6: 10a4 asrs r4, r4, #2
- 2c8: 42a6 cmp r6, r4
- 2ca: d109 bne.n 2e0 <__libc_init_array+0x24>
- 2cc: 2600 movs r6, #0
- 2ce: f000 f819 bl 304 <_init>
- 2d2: 4d0a ldr r5, [pc, #40] ; (2fc <__libc_init_array+0x40>)
- 2d4: 4c0a ldr r4, [pc, #40] ; (300 <__libc_init_array+0x44>)
- 2d6: 1b64 subs r4, r4, r5
- 2d8: 10a4 asrs r4, r4, #2
- 2da: 42a6 cmp r6, r4
- 2dc: d105 bne.n 2ea <__libc_init_array+0x2e>
- 2de: bd70 pop {r4, r5, r6, pc}
- 2e0: 00b3 lsls r3, r6, #2
- 2e2: 58eb ldr r3, [r5, r3]
- 2e4: 4798 blx r3
- 2e6: 3601 adds r6, #1
- 2e8: e7ee b.n 2c8 <__libc_init_array+0xc>
- 2ea: 00b3 lsls r3, r6, #2
- 2ec: 58eb ldr r3, [r5, r3]
- 2ee: 4798 blx r3
- 2f0: 3601 adds r6, #1
- 2f2: e7f2 b.n 2da <__libc_init_array+0x1e>
- 2f4: 00000310 .word 0x00000310
- 2f8: 00000310 .word 0x00000310
- 2fc: 00000310 .word 0x00000310
- 300: 00000314 .word 0x00000314
- 00000304 <_init>:
- 304: b5f8 push {r3, r4, r5, r6, r7, lr}
- 306: 46c0 nop ; (mov r8, r8)
- 308: bcf8 pop {r3, r4, r5, r6, r7}
- 30a: bc08 pop {r3}
- 30c: 469e mov lr, r3
- 30e: 4770 bx lr
- 00000310 <__init_array_start>:
- 310: 000000dd .word 0x000000dd
- 00000314 <_fini>:
- 314: b5f8 push {r3, r4, r5, r6, r7, lr}
- 316: 46c0 nop ; (mov r8, r8)
- 318: bcf8 pop {r3, r4, r5, r6, r7}
- 31a: bc08 pop {r3}
- 31c: 469e mov lr, r3
- 31e: 4770 bx lr
- 00000320 <__fini_array_start>:
- 320: 000000b5 .word 0x000000b5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement