Quit ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x00000808 main+0  push {r3, lr} 0x0000080a main+2  ldr r3, [pc, #8] ; (0x814 ) 0x0000080c main+4  blx r3 0x0000080e main+6  ldr r3, [pc, #8] ; (0x818 ) 0x00000810 main+8  blx r3 0x00000812 main+10 b.n 0x812  0x00000814 main+12 lsrs r5, r4, #30 0x00000816 main+14 movs r0, r0 0x00000818 main+16 asrs r5, r4, #32 0x0000081a main+18 movs r0, r0 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x00000000 r1 0x0000000a r2 0x000000f1 r3 0x000005cd r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010158 lr 0x0000103d pc 0x00000812 xpsr 0x61000000 fpscr 0x00000000 msp 0x20010158 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────  2 #include "pdebug.h"  3  4 int main(void)  5 {  6 /* Initializes MCU, drivers and middleware */  7 atmel_start_init();  8 pdebug_init();  9 10 /* Replace with your application code */ 11 while (1) { 12 } 13 } ~ ~ ~ ~ ~ ~ ~ ~ ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000812 in main+10 at ../main.c:12 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x00000812 in main+10 at ../main.c:12 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── main () at ../main.c:12 12 } A program is being debugged already. Kill it? (y or n) [answered Y; input not from terminal] ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x00000552 _oscctrl_init_referenced_generators+34 ldr r3, [pc, #16] ; (0x564 <_oscctrl_init_referenced_generators+52>) 0x00000554 _oscctrl_init_referenced_generators+36 ldr r2, [r3, #64] ; 0x40 0x00000556 _oscctrl_init_referenced_generators+38 lsls r1, r2, #31 0x00000558 _oscctrl_init_referenced_generators+40 bmi.n 0x560 <_oscctrl_init_referenced_generators+48> 0x0000055a _oscctrl_init_referenced_generators+42 ldr r2, [r3, #64] ; 0x40 0x0000055c _oscctrl_init_referenced_generators+44 lsls r2, r2, #30 0x0000055e _oscctrl_init_referenced_generators+46 bpl.n 0x554 <_oscctrl_init_referenced_generators+36> 0x00000560 _oscctrl_init_referenced_generators+48 bx lr 0x00000562 _oscctrl_init_referenced_generators+50 nop 0x00000564 _oscctrl_init_referenced_generators+52 asrs r0, r0, #32 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x00000000 r1 0x00000000 r2 0x00000000 r3 0x40001000 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010140 lr 0x000004cb pc 0x0000055c xpsr 0x41000000 fpscr 0x00000000 msp 0x20010140 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 914 } 915 916 static inline bool hri_oscctrl_get_DPLLSTATUS_LOCK_bit(const void *const hw, uint8_t submodule_index) 917 { 918 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) 919 >> OSCCTRL_DPLLSTATUS_LOCK_Pos; 920 } 921 922 static inline bool hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(const void *const hw, uint8_t submodule_index) 923 { 924 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) 925 >> OSCCTRL_DPLLSTATUS_CLKRDY_Pos; 926 } 927 928 static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrl_get_DPLLSTATUS_reg(const void *const hw, uint8_t submodule_index, 929 hri_oscctrl_dpllstatus_reg_t mask) 930 { 931 uint32_t tmp; 932 tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg; 933 tmp &= mask; ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x0000055c in _oscctrl_init_referenced_generators+44 at ../hri/hri_oscctrl_e54.h:924 [1] from 0x000004ca in _init_chip+30 at ../hpl/core/hpl_init.c:63 [2] from 0x00000c16 in init_mcu+4 at ../hal/include/hal_init.h:58 [3] from 0x00000c16 in system_init+6 at ../driver_init.c:407 [4] from 0x00000faa in atmel_start_init+6 at ../atmel_start.c:8 [5] from 0x0000080e in main+6 at ../main.c:7 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id 0 from 0x0000055c in _oscctrl_init_referenced_generators+44 at ../hri/hri_oscctrl_e54.h:924 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x0000055c in _oscctrl_init_referenced_generators () at ../hri/hri_oscctrl_e54.h:924 924 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) Breakpoint 1 at 0x808: file ../main.c, line 7. Loading section .text, size 0x1bc0 lma 0x0 Loading section .relocate, size 0x6c lma 0x1bc0 Start address 0x0, load size 7212 Transfer rate: 53 KB/sec, 801 bytes/write. ─── Output/messages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Note: automatically using hardware breakpoints for read-only addresses. ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~ ~ !0x00000808 main+0 push {r3, lr} 0x0000080a main+2 ldr r3, [pc, #8] ; (0x814 ) 0x0000080c main+4 blx r3 0x0000080e main+6 ldr r3, [pc, #8] ; (0x818 ) 0x00000810 main+8 blx r3 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] break at 0x00000808 in ../main.c:7 for main hit 1 time ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x20000070 r1 0x00000000 r2 0x00f00000 r3 0x00000809 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010160 lr 0x000007d9 pc 0x00000808 xpsr 0x61000000 fpscr 0x00000000 msp 0x20010160 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~  1 #include  2 #include "pdebug.h"  3  4 int main(void)  5 {  6 /* Initializes MCU, drivers and middleware */ ! 7 atmel_start_init();  8 pdebug_init();  9 10 /* Replace with your application code */ 11 while (1) { 12 } 13 } ~ ~ ~ ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000808 in main+0 at ../main.c:7 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x00000808 in main+0 at ../main.c:7 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Breakpoint 1, main () at ../main.c:7 7 atmel_start_init(); ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x00000808 main+0  push {r3, lr} 0x0000080a main+2  ldr r3, [pc, #8] ; (0x814 ) 0x0000080c main+4  blx r3 0x0000080e main+6  ldr r3, [pc, #8] ; (0x818 ) 0x00000810 main+8  blx r3 0x00000812 main+10 b.n 0x812  0x00000814 main+12 lsrs r5, r4, #30 0x00000816 main+14 movs r0, r0 0x00000818 main+16 asrs r5, r4, #32 0x0000081a main+18 movs r0, r0 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x00000000 r1 0x0000000a r2 0x000000f1 r3 0x000005cd r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010158 lr 0x0000103d pc 0x00000812 xpsr 0x61000000 fpscr 0x00000000 msp 0x20010158 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────  2 #include "pdebug.h"  3  4 int main(void)  5 {  6 /* Initializes MCU, drivers and middleware */  7 atmel_start_init();  8 pdebug_init();  9 10 /* Replace with your application code */ 11 while (1) { 12 } 13 } ~ ~ ~ ~ ~ ~ ~ ~ ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000812 in main+10 at ../main.c:12 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x00000812 in main+10 at ../main.c:12 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── main () at ../main.c:12 12 } A program is being debugged already. Kill it? (y or n) [answered Y; input not from terminal] ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~ 0x00000552 hri_oscctrl_get_DPLLSTATUS_LOCK_bit+0 ldr r3, [pc, #16] ; (0x564 <_oscctrl_init_referenced_generators+52>) 0x00000554 hri_oscctrl_get_DPLLSTATUS_LOCK_bit+2 ldr r2, [r3, #64] ; 0x40 ~ ~ ~ ~ ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x00000000 r1 0x00000000 r2 0x00000000 r3 0x40001000 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010140 lr 0x000004cb pc 0x00000554 xpsr 0x41000000 fpscr 0x00000000 msp 0x20010140 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 908 } 909 910 static inline hri_oscctrl_dpllsyncbusy_reg_t hri_oscctrl_read_DPLLSYNCBUSY_reg(const void *const hw, 911 uint8_t submodule_index) 912 { 913 return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg; 914 } 915 916 static inline bool hri_oscctrl_get_DPLLSTATUS_LOCK_bit(const void *const hw, uint8_t submodule_index) 917 { 918 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) 919 >> OSCCTRL_DPLLSTATUS_LOCK_Pos; 920 } 921 922 static inline bool hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(const void *const hw, uint8_t submodule_index) 923 { 924 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) 925 >> OSCCTRL_DPLLSTATUS_CLKRDY_Pos; 926 } 927 ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000554 in hri_oscctrl_get_DPLLSTATUS_LOCK_bit+2 at ../hri/hri_oscctrl_e54.h:918 [1] from 0x00000554 in _oscctrl_init_referenced_generators+36 at ../hpl/oscctrl/hpl_oscctrl.c:204 [2] from 0x000004ca in _init_chip+30 at ../hpl/core/hpl_init.c:63 [3] from 0x00000c16 in init_mcu+4 at ../hal/include/hal_init.h:58 [4] from 0x00000c16 in system_init+6 at ../driver_init.c:407 [5] from 0x00000faa in atmel_start_init+6 at ../atmel_start.c:8 [6] from 0x0000080e in main+6 at ../main.c:7 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id 0 from 0x00000554 in hri_oscctrl_get_DPLLSTATUS_LOCK_bit+2 at ../hri/hri_oscctrl_e54.h:918 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── arg submodule_index = 0 '\000', hw = 0x40001000 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── hri_oscctrl_get_DPLLSTATUS_LOCK_bit (submodule_index=0 '\000', hw=0x40001000) at ../hri/hri_oscctrl_e54.h:918 918 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) Breakpoint 1 at 0x808: file ../main.c, line 7. Loading section .text, size 0x1bc0 lma 0x0 Loading section .relocate, size 0x6c lma 0x1bc0 Start address 0x0, load size 7212 Transfer rate: 54 KB/sec, 801 bytes/write. ─── Output/messages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Note: automatically using hardware breakpoints for read-only addresses. ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~ ~ !0x00000808 main+0 push {r3, lr} 0x0000080a main+2 ldr r3, [pc, #8] ; (0x814 ) 0x0000080c main+4 blx r3 0x0000080e main+6 ldr r3, [pc, #8] ; (0x818 ) 0x00000810 main+8 blx r3 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] break at 0x00000808 in ../main.c:7 for main hit 1 time ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x20000070 r1 0x00000000 r2 0x00f00000 r3 0x00000809 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010160 lr 0x000007d9 pc 0x00000808 xpsr 0x61000000 fpscr 0x00000000 msp 0x20010160 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~  1 #include  2 #include "pdebug.h"  3  4 int main(void)  5 {  6 /* Initializes MCU, drivers and middleware */ ! 7 atmel_start_init();  8 pdebug_init();  9 10 /* Replace with your application code */ 11 while (1) { 12 } 13 } ~ ~ ~ ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000808 in main+0 at ../main.c:7 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x00000808 in main+0 at ../main.c:7 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Breakpoint 1, main () at ../main.c:7 7 atmel_start_init(); ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x00000808 main+0  push {r3, lr} 0x0000080a main+2  ldr r3, [pc, #8] ; (0x814 ) 0x0000080c main+4  blx r3 0x0000080e main+6  ldr r3, [pc, #8] ; (0x818 ) 0x00000810 main+8  blx r3 0x00000812 main+10 b.n 0x812  0x00000814 main+12 lsrs r5, r4, #30 0x00000816 main+14 movs r0, r0 0x00000818 main+16 asrs r5, r4, #32 0x0000081a main+18 movs r0, r0 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x00000000 r1 0x0000000a r2 0x000000f1 r3 0x000005cd r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010158 lr 0x0000103d pc 0x00000812 xpsr 0x61000000 fpscr 0x00000000 msp 0x20010158 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~  1 #include  2 #include "pdebug.h"  3  4 int main(void)  5 {  6 /* Initializes MCU, drivers and middleware */  7 atmel_start_init();  8 pdebug_init();  9 printf("Hello world\n"); 10 11 /* Replace with your application code */ 12 while (1) { 13 } 14 } ~ ~ ~ ~ ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000812 in main+10 at ../main.c:9 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x00000812 in main+10 at ../main.c:9 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── main () at ../main.c:9 9 printf("Hello world\n"); A program is being debugged already. Kill it? (y or n) [answered Y; input not from terminal] ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x00000552 _oscctrl_init_referenced_generators+34 ldr r3, [pc, #16] ; (0x564 <_oscctrl_init_referenced_generators+52>) 0x00000554 _oscctrl_init_referenced_generators+36 ldr r2, [r3, #64] ; 0x40 0x00000556 _oscctrl_init_referenced_generators+38 lsls r1, r2, #31 0x00000558 _oscctrl_init_referenced_generators+40 bmi.n 0x560 <_oscctrl_init_referenced_generators+48> 0x0000055a _oscctrl_init_referenced_generators+42 ldr r2, [r3, #64] ; 0x40 0x0000055c _oscctrl_init_referenced_generators+44 lsls r2, r2, #30 0x0000055e _oscctrl_init_referenced_generators+46 bpl.n 0x554 <_oscctrl_init_referenced_generators+36> 0x00000560 _oscctrl_init_referenced_generators+48 bx lr 0x00000562 _oscctrl_init_referenced_generators+50 nop 0x00000564 _oscctrl_init_referenced_generators+52 asrs r0, r0, #32 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x00000000 r1 0x00000000 r2 0x00000000 r3 0x40001000 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010140 lr 0x000004cb pc 0x0000055c xpsr 0x41000000 fpscr 0x00000000 msp 0x20010140 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 914 } 915 916 static inline bool hri_oscctrl_get_DPLLSTATUS_LOCK_bit(const void *const hw, uint8_t submodule_index) 917 { 918 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) 919 >> OSCCTRL_DPLLSTATUS_LOCK_Pos; 920 } 921 922 static inline bool hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(const void *const hw, uint8_t submodule_index) 923 { 924 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) 925 >> OSCCTRL_DPLLSTATUS_CLKRDY_Pos; 926 } 927 928 static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrl_get_DPLLSTATUS_reg(const void *const hw, uint8_t submodule_index, 929 hri_oscctrl_dpllstatus_reg_t mask) 930 { 931 uint32_t tmp; 932 tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg; 933 tmp &= mask; ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x0000055c in _oscctrl_init_referenced_generators+44 at ../hri/hri_oscctrl_e54.h:924 [1] from 0x000004ca in _init_chip+30 at ../hpl/core/hpl_init.c:63 [2] from 0x00000c16 in delay_driver_init+6 at ../driver_init.c:402 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id 0 from 0x0000055c in _oscctrl_init_referenced_generators+44 at ../hri/hri_oscctrl_e54.h:924 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x0000055c in _oscctrl_init_referenced_generators () at ../hri/hri_oscctrl_e54.h:924 924 return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) Breakpoint 1 at 0x808: file ../main.c, line 7. Loading section .text, size 0x1bdc lma 0x0 Loading section .relocate, size 0x6c lma 0x1bdc Start address 0x0, load size 7240 Transfer rate: 53 KB/sec, 804 bytes/write. ─── Output/messages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Note: automatically using hardware breakpoints for read-only addresses. ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~ ~ !0x00000808 main+0 push {r3, lr} 0x0000080a main+2 ldr r3, [pc, #16] ; (0x81c ) 0x0000080c main+4 blx r3 0x0000080e main+6 ldr r3, [pc, #16] ; (0x820 ) 0x00000810 main+8 blx r3 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] break at 0x00000808 in ../main.c:7 for main hit 1 time ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x20000070 r1 0x00000000 r2 0x00f00000 r3 0x00000809 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010160 lr 0x000007d9 pc 0x00000808 xpsr 0x61000000 fpscr 0x00000000 msp 0x20010160 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~  1 #include  2 #include "pdebug.h"  3  4 int main(void)  5 {  6 /* Initializes MCU, drivers and middleware */ ! 7 atmel_start_init();  8 pdebug_init();  9 printf("Hello world\n"); 10 11 /* Replace with your application code */ 12 while (1) { 13 } 14 } ~ ~ ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000808 in main+0 at ../main.c:7 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x00000808 in main+0 at ../main.c:7 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Breakpoint 1, main () at ../main.c:7 7 atmel_start_init(); ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~ 0x00000816 mmc_spi_op_cond+0  blx r3 0x00000818 mmc_spi_op_cond+2  b.n 0x818  0x0000081a mmc_spi_op_cond+4  nop 0x0000081c mmc_spi_op_cond+6  lsrs r5, r6, #30 0x0000081e mmc_spi_op_cond+8  movs r0, r0 0x00000820 mmc_spi_op_cond+10 asrs r5, r6, #32 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x0000000c r1 0x0000000a r2 0x000000f1 r3 0x000005cd r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010158 lr 0x00000819 pc 0x00000818 xpsr 0x21000000 fpscr 0x00000000 msp 0x20010158 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 432 * process, then it sets the SD/MMC card in transfer state. 433 * At last, it will automaticly enable maximum bus width and transfer speed. 434 * 435 * \return true if success, otherwise false 436 */ 437 static bool sd_mmc_spi_install_mmc(void) 438 { 439 uint8_t b_authorize_high_speed; 440 441 // CMD0 - Reset all cards to idle state. 442 if (!driver_send_cmd(sd_mmc_hal, SDMMC_SPI_CMD0_GO_IDLE_STATE, 0)) { 443 return false; 444 } 445 446 if (!mmc_spi_op_cond()) { 447 return false; 448 } 449 450 // Disable CRC check for SPI mode 451 if (!driver_send_cmd(sd_mmc_hal, SDMMC_SPI_CMD59_CRC_ON_OFF, 0)) { ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x00000818 in mmc_spi_op_cond+2 at ../sd_mmc/sd_mmc.c:442 [1] from 0x00000818 in sd_mmc_spi_install_mmc+20 at ../sd_mmc/sd_mmc.c:446 [2] from 0x00000818 in sd_mmc_spi_card_init+220 at ../sd_mmc/sd_mmc.c:379 [3] from 0x00000818 in sd_mmc_check+248 at ../sd_mmc/sd_mmc.c:1633 [4] from 0xcf1f4f30 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x00000818 in mmc_spi_op_cond+2 at ../sd_mmc/sd_mmc.c:442 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── loc retry = , resp = , __func__ = '\377' , b_authorize_high_speed = , v2 = , sd_mmc_err = ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x00000818 in mmc_spi_op_cond () at ../sd_mmc/sd_mmc.c:442 442 if (!driver_send_cmd(sd_mmc_hal, SDMMC_SPI_CMD0_GO_IDLE_STATE, 0)) { A program is being debugged already. Kill it? (y or n) [answered Y; input not from terminal] ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x00000550 sd_mmc_select_slot+136 bmi.n 0x54c  0x00000552 sd_mmc_select_slot+138 ldr r3, [pc, #16] ; (0x564 ) 0x00000554 sd_mmc_select_slot+140 ldr r2, [r3, #64] ; 0x40 0x00000556 sd_mmc_select_slot+142 lsls r1, r2, #31 0x00000558 sd_mmc_select_slot+144 bmi.n 0x560  0x0000055a sd_mmc_select_slot+146 ldr r2, [r3, #64] ; 0x40 0x0000055c sd_mmc_select_slot+148 lsls r2, r2, #30 0x0000055e sd_mmc_select_slot+150 bpl.n 0x554  0x00000560 sd_mmc_select_slot+152 bx lr 0x00000562 sd_mmc_select_slot+154 nop ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x00000000 r1 0x00000000 r2 0x00000000 r3 0x40001000 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010140 lr 0x000004cb pc 0x0000055a xpsr 0x41000000 fpscr 0x00000000 msp 0x20010140 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 1303 /* Set 1-bit bus width and low clock for initialization */ 1304 sd_mmc_cards[slot].clock = SDMMC_CLOCK_INIT; 1305 sd_mmc_cards[slot].bus_width = 1; 1306 sd_mmc_cards[slot].high_speed = 0; 1307 } 1308 if (sd_mmc_cards[slot].state == SD_MMC_CARD_STATE_UNUSABLE) { 1309 return SD_MMC_ERR_UNUSABLE; 1310 } 1311 } else { 1312 /* No pin card detection, then always try to install it */ 1313 if ((sd_mmc_cards[slot].state == SD_MMC_CARD_STATE_NO_CARD) 1314 || (sd_mmc_cards[slot].state == SD_MMC_CARD_STATE_UNUSABLE)) { 1315 /* Card is not initialized */ 1316 sd_mmc_cards[slot].state = SD_MMC_CARD_STATE_INIT; 1317 /* Set 1-bit bus width and low clock for initialization */ 1318 sd_mmc_cards[slot].clock = SDMMC_CLOCK_INIT; 1319 sd_mmc_cards[slot].bus_width = 1; 1320 sd_mmc_cards[slot].high_speed = 0; 1321 } 1322 } ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x0000055a in sd_mmc_select_slot+146 at ../sd_mmc/sd_mmc.c:1313 [1] from 0x00000fba in spi_m_sync_start_read_block+46 at ../sd_mmc/sd_mmc_spi.c:179 [2] from 0x2b3af61e ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id 0 from 0x0000055a in sd_mmc_select_slot+146 at ../sd_mmc/sd_mmc.c:1313 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── arg slot = ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x0000055a in sd_mmc_select_slot (slot=) at ../sd_mmc/sd_mmc.c:1313 1313 if ((sd_mmc_cards[slot].state == SD_MMC_CARD_STATE_NO_CARD) Breakpoint 1 at 0x18e4: file ../main.c, line 8. Loading section .text, size 0x31c0 lma 0x0 Loading section .relocate, size 0x6c lma 0x31c0 Start address 0x0, load size 12844 Transfer rate: 52 KB/sec, 856 bytes/write. ─── Output/messages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Note: automatically using hardware breakpoints for read-only addresses. ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~ ~ ~ !0x000018e4 main+0 push {r3, lr} 0x000018e6 main+2 ldr r3, [pc, #20] ; (0x18fc ) 0x000018e8 main+4 blx r3 0x000018ea main+6 ldr r3, [pc, #20] ; (0x1900 ) 0x000018ec main+8 blx r3 ─── Breakpoints ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] break at 0x000018e4 in ../main.c:8 for main hit 1 time ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── r0 0x20000070 r1 0x00000000 r2 0x00f00000 r3 0x000018e5 r4 0x1ffffffd r5 0x00000000 r6 0x000002a5 r7 0xa0000000 r8 0xf7e2f6ef r9 0xffffff7d r10 0xfff7e7cf r11 0xbf9faffe r12 0x0000000a sp 0x20010368 lr 0x000018b5 pc 0x000018e4 xpsr 0x61000000 fpscr 0x00000000 msp 0x20010368 psp 0xfff7df7c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ~ ~ ~  1 #include  2 #include "pdebug.h"  3 #include "sd_mmc_start.h"  4  5 int main(void)  6 {  7 /* Initializes MCU, drivers and middleware */ ! 8 atmel_start_init();  9 pdebug_init(); 10 printf("Hello world\n"); 11 12 SDMMC_example(); 13 /* Replace with your application code */ 14 while (1) { 15 } 16 } ~ ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x000018e4 in main+0 at ../main.c:8 ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id -1 from 0x000018e4 in main+0 at ../main.c:8 ─── Variables ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Breakpoint 1, main () at ../main.c:8 8 atmel_start_init();