You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2339 lines
332 KiB
Plaintext

Target voltage: 3.3V
Available Targets:
No. Att Driver
1 Microchip SAME54N19A (rev A) M3/M4
Cannot write the dashboard
Traceback (most recent call last):
File "<string>", line 511, in render
File "<string>", line 601, in get_term_size
IOError: [Errno 25] Inappropriate ioctl for device
0x000119d6 in ?? ()
Breakpoint 1 at 0x330: file ../../../src/main.c, line 7.
Loading section .text, size 0x39c lma 0x0
Start address 0x0, load size 924
Transfer rate: 18 KB/sec, 924 bytes/write.
Traceback (most recent call last):
File "<string>", line 417, in on_continue
File "<string>", line 601, in get_term_size
IOError: [Errno 25] Inappropriate ioctl for device
Note: automatically using hardware breakpoints for read-only addresses.
Cannot write the dashboard
Traceback (most recent call last):
File "<string>", line 511, in render
File "<string>", line 601, in get_term_size
IOError: [Errno 25] Inappropriate ioctl for device
Breakpoint 1, main () at ../../../src/main.c:7
7 }
Target voltage: 3.3V
Available Targets:
No. Att Driver
1 Microchip SAME54N19A (rev A) M3/M4
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000002e8 Reset_Handler+22 ldr r2, [pc, #60] ; (0x328 <Reset_Handler+86>)
0x000002ea Reset_Handler+24 bic.w r3, r3, #127 ; 0x7f
0x000002ee Reset_Handler+28 str r3, [r2, #8]
0x000002f0 Reset_Handler+30 bl 0x334 <__libc_init_array>
0x000002f4 Reset_Handler+34 bl 0x330 <main>
0x000002f8 Reset_Handler+38 b.n 0x2f8 <Reset_Handler+38>
0x000002fa Reset_Handler+40 ldr r1, [pc, #48] ; (0x32c <Reset_Handler+90>)
0x000002fc Reset_Handler+42 subs r2, #4
0x000002fe Reset_Handler+44 cmp r3, r1
0x00000300 Reset_Handler+46 bcs.n 0x2dc <Reset_Handler+10>
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000000 r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x000002f8 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
523 /* Enable FPU */
524 SCB->CPACR |= (0xFu << 20);
525 __DSB();
526 __ISB();
527 #endif
528
529 /* Initialize the C library */
530 __libc_init_array();
531
532 /* Branch to main function */
533 main(); 
534
535 /* Infinite loop */
536 while (1);
537 }
538
539 /**
540 * \brief Default interrupt handler for unused IRQs.
541 */
542 void Dummy_Handler(void)
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x000002f8 in Reset_Handler+38 at ../../../ESF/mcu/src/startup_same54.c:533
[1] from 0xfffffffe
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id 0 from 0x000002f8 in Reset_Handler+38 at ../../../ESF/mcu/src/startup_same54.c:533
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
loc pDest = <optimized out>
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000002f8 in Reset_Handler () at ../../../ESF/mcu/src/startup_same54.c:533
533 main();
Breakpoint 1 at 0x330: file ../../../src/main.c, line 7.
Loading section .text, size 0x39c lma 0x0
Start address 0x0, load size 924
Transfer rate: 17 KB/sec, 924 bytes/write.
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: automatically using hardware breakpoints for read-only addresses.
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
!0x00000330 main+0 movs r0, #0
0x00000332 main+2 bx lr
~
~
~
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:7 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x0000039c r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000330 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
1 #include "igloo.h"
2
3
4 int main()
5 {
6 return 0;
!7 }
~
~
~
~
~
~
~
~
~
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000330 in main+0 at ../../../src/main.c:7
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000330 in main+0 at ../../../src/main.c:7
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Breakpoint 1, main () at ../../../src/main.c:7
7 }
Target voltage: 3.3V
Available Targets:
No. Att Driver
1 Microchip SAME54N19A (rev A) M3/M4
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000002e8 Reset_Handler+22 ldr r2, [pc, #60] ; (0x328 <Reset_Handler+86>)
0x000002ea Reset_Handler+24 bic.w r3, r3, #127 ; 0x7f
0x000002ee Reset_Handler+28 str r3, [r2, #8]
0x000002f0 Reset_Handler+30 bl 0x334 <__libc_init_array>
0x000002f4 Reset_Handler+34 bl 0x330 <main>
0x000002f8 Reset_Handler+38 b.n 0x2f8 <Reset_Handler+38>
0x000002fa Reset_Handler+40 ldr r1, [pc, #48] ; (0x32c <Reset_Handler+90>)
0x000002fc Reset_Handler+42 subs r2, #4
0x000002fe Reset_Handler+44 cmp r3, r1
0x00000300 Reset_Handler+46 bcs.n 0x2dc <Reset_Handler+10>
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000000 r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x000002f8 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
523 /* Enable FPU */
524 SCB->CPACR |= (0xFu << 20);
525 __DSB();
526 __ISB();
527 #endif
528
529 /* Initialize the C library */
530 __libc_init_array();
531
532 /* Branch to main function */
533 main(); 
534
535 /* Infinite loop */
536 while (1);
537 }
538
539 /**
540 * \brief Default interrupt handler for unused IRQs.
541 */
542 void Dummy_Handler(void)
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x000002f8 in Reset_Handler+38 at ../../../ESF/mcu/src/startup_same54.c:533
[1] from 0xfffffffe
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id 0 from 0x000002f8 in Reset_Handler+38 at ../../../ESF/mcu/src/startup_same54.c:533
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
loc pDest = <optimized out>
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000002f8 in Reset_Handler () at ../../../ESF/mcu/src/startup_same54.c:533
533 main();
Breakpoint 1 at 0x332
Loading section .text, size 0x39c lma 0x0
Start address 0x0, load size 924
Transfer rate: 18 KB/sec, 924 bytes/write.
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: automatically using hardware breakpoints for read-only addresses.
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
!0x00000330 main+0 b.n 0x330 <main>
~
~
~
~
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:5 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x0000039c r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000330 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
~
 1 #include "igloo.h"
 2
 3
 4 int main()
! 5 {
 6 for(;;)
 7 {
 8
 9 }
10 return 0;
11 }
~
~
~
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000330 in main+0 at ../../../src/main.c:5
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000330 in main+0 at ../../../src/main.c:5
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Breakpoint 1, main () at ../../../src/main.c:5
5 {
Target voltage: 3.3V
Available Targets:
No. Att Driver
1 Microchip SAME54N19A (rev A) M3/M4
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
0x00000330 main+0 b.n 0x330 <main>
0x00000332 main+2 movs r0, r0
0x00000334 main+4 push {r4, r5, r6, lr}
0x00000336 main+6 ldr r6, [pc, #52] ; (0x36c <main+60>)
0x00000338 main+8 ldr r4, [pc, #52] ; (0x370 <__libc_init_array>)
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x0000039c r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000330 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 1 #include "igloo.h"
 2
 3
 4 int main()
 5 {
 6 // Run with 12mhz external crystal on XOSC0
 7
 8 // Automatic Loop Control
 9 // 0 - disable
10 // 1 - enable
11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000330 in main+0 at ../../../src/main.c:11
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id 0 from 0x00000330 in main+0 at ../../../src/main.c:11
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
main () at ../../../src/main.c:11
11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
Breakpoint 1 at 0x330: file ../../../src/main.c, line 11.
Loading section .text, size 0x3d8 lma 0x0
Start address 0x0, load size 984
Transfer rate: 19 KB/sec, 984 bytes/write.
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: automatically using hardware breakpoints for read-only addresses.
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
!0x00000330 main+0 b.n 0x330 <main>
0x00000332 main+2 movs r0, r0
0x00000334 main+4 push {r4, r5, r6, lr}
0x00000336 main+6 ldr r6, [pc, #52] ; (0x36c <main+60>)
0x00000338 main+8 ldr r4, [pc, #52] ; (0x370 <__libc_init_array>)
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000330 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 1 #include "igloo.h"
 2
 3
 4 int main()
 5 {
 6 // Run with 12mhz external crystal on XOSC0
 7
 8 // Automatic Loop Control
 9 // 0 - disable
10 // 1 - enable
!11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000330 in main+0 at ../../../src/main.c:11
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000330 in main+0 at ../../../src/main.c:11
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Breakpoint 1, main () at ../../../src/main.c:11
11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
!0x00000330 main+0  b.n 0x330 <main>
0x00000332 main+2  movs r0, r0
0x00000334 main+4  push {r4, r5, r6, lr}
0x00000336 main+6  ldr r6, [pc, #52] ; (0x36c <main+60>)
0x00000338 main+8  ldr r4, [pc, #52] ; (0x370 <__libc_init_array>)
0x0000033a main+10 subs r4, r4, r6
0x0000033c main+12 asrs r4, r4, #2
0x0000033e main+14 movs r5, #0
0x00000340 main+16 cmp r5, r4
0x00000342 main+18 bne.n 0x358 <main+40>
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000000 r2 0x00008080 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000033a xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 7
 8 // Automatic Loop Control
 9 // 0 - disable
10 // 1 - enable
!11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000033a in main+10 at ../../../src/main.c:17
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000033a in main+10 at ../../../src/main.c:17
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000033a main+10 subs r4, r4, r6
0x0000033c main+12 asrs r4, r4, #2
0x0000033e main+14 movs r5, #0
0x00000340 main+16 cmp r5, r4
0x00000342 main+18 bne.n 0x358 <main+40>
0x00000344 main+20 ldr r6, [pc, #44] ; (0x374 <__libc_init_array+4>)
0x00000346 main+22 ldr r4, [pc, #48] ; (0x378 <__libc_init_array+8>)
0x00000348 main+24 bl 0x37c <__libc_init_array+12>
0x0000034c main+28 subs r4, r4, r6
0x0000034e main+30 asrs r4, r4, #2
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a080 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000344 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000344 in main+20 at ../../../src/main.c:22
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000344 in main+20 at ../../../src/main.c:22
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000340 main+16 cmp r5, r4
0x00000342 main+18 bne.n 0x358 <main+40>
0x00000344 main+20 ldr r6, [pc, #44] ; (0x374 <__libc_init_array+4>)
0x00000346 main+22 ldr r4, [pc, #48] ; (0x378 <__libc_init_array+8>)
0x00000348 main+24 bl 0x37c <__libc_init_array+12>
0x0000034c main+28 subs r4, r4, r6
0x0000034e main+30 asrs r4, r4, #2
0x00000350 main+32 movs r5, #0
0x00000352 main+34 cmp r5, r4
0x00000354 main+36 bne.n 0x362 <main+50>
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a680 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000034c xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000034c in main+28 at ../../../src/main.c:23
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000034c in main+28 at ../../../src/main.c:23
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000348 main+24 bl 0x37c <__libc_init_array+12>
0x0000034c main+28 subs r4, r4, r6
0x0000034e main+30 asrs r4, r4, #2
0x00000350 main+32 movs r5, #0
0x00000352 main+34 cmp r5, r4
0x00000354 main+36 bne.n 0x362 <main+50>
0x00000356 main+38 pop {r4, r5, r6, pc}
0x00000358 main+40 ldr.w r3, [r6, r5, lsl #2]
0x0000035c main+44 blx r3
0x0000035e main+46 adds r5, #1
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a600 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000354 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000354 in main+36 at ../../../src/main.c:24
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000354 in main+36 at ../../../src/main.c:24
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a604 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000035a xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000035a in main+42 at ../../../src/main.c:25
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000035a in main+42 at ../../../src/main.c:25
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000356 main+38 orrs r2, r1
0x00000358 main+40 str r2, [r3, #20]
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a606 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000362 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
35 return 0;
36 }
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000362 in main+50 at ../../../src/main.c:27
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000362 in main+50 at ../../../src/main.c:27
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
~
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x80000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000368 xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
35 return 0;
36 }
~
~
~
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000368 in main+56 at ../../../src/main.c:30
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000368 in main+56 at ../../../src/main.c:30
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
30 asm volatile("nop");
Cannot access memory at address 0x40001010
$1 = {
bit = {
XOSCRDY0 = 1,
XOSCRDY1 = 0,
XOSCFAIL0 = 0,
XOSCFAIL1 = 0,
XOSCCKSW0 = 0,
XOSCCKSW1 = 0,
DFLLRDY = 1,
DFLLOOB = 0,
DFLLLCKF = 0,
DFLLLCKC = 0,
DFLLRCS = 0,
DPLL0LCKR = 0,
DPLL0LCKF = 0,
DPLL0TO = 0,
DPLL0LDRTO = 0,
DPLL1LCKR = 0,
DPLL1LCKF = 0,
DPLL1TO = 0,
DPLL1LDRTO = 0
},
vec = {
XOSCRDY = 1,
XOSCFAIL = 0,
XOSCCKSW = 0
},
reg = 257
}
$2 = 1
Target voltage: 3.3V
Available Targets:
No. Att Driver
1 Microchip SAME54N19A (rev A) M3/M4
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
~
~
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x80000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000036a xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
35 return 0;
36 }
~
~
~
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000036a in main+58 at ../../../src/main.c:30
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id 0 from 0x0000036a in main+58 at ../../../src/main.c:30
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000036a in main () at ../../../src/main.c:30
30 asm volatile("nop");
Breakpoint 1 at 0x330: file ../../../src/main.c, line 11.
Loading section .text, size 0x3d8 lma 0x0
Start address 0x0, load size 984
Transfer rate: 19 KB/sec, 984 bytes/write.
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: automatically using hardware breakpoints for read-only addresses.
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
!0x00000330 main+0  ldr r3, [pc, #56] ; (0x36c <main+60>)
0x00000332 main+2  ldr r2, [r3, #20]
0x00000334 main+4  orr.w r2, r2, #32768 ; 0x8000
0x00000338 main+8  str r2, [r3, #20]
0x0000033a main+10 ldr r2, [r3, #20]
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000330 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 1 #include "igloo.h"
 2
 3
 4 int main()
 5 {
 6 // Run with 12mhz external crystal on XOSC0
 7
 8 // Automatic Loop Control
 9 // 0 - disable
10 // 1 - enable
!11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000330 in main+0 at ../../../src/main.c:11
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000330 in main+0 at ../../../src/main.c:11
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Breakpoint 1, main () at ../../../src/main.c:11
11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
$1 = (Oscctrl *) 0x40001000
Cannot access memory at address 0x40001014
Target voltage: 3.3V
Available Targets:
No. Att Driver
1 Microchip SAME54N19A (rev A) M3/M4
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
~
~
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x80000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000036a xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
35 return 0;
36 }
~
~
~
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000036a in main+58 at ../../../src/main.c:30
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id 0 from 0x0000036a in main+58 at ../../../src/main.c:30
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000036a in main () at ../../../src/main.c:30
30 asm volatile("nop");
Breakpoint 1 at 0x330: file ../../../src/main.c, line 11.
Loading section .text, size 0x3d8 lma 0x0
Start address 0x0, load size 984
Transfer rate: 19 KB/sec, 984 bytes/write.
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: automatically using hardware breakpoints for read-only addresses.
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
!0x00000330 main+0  ldr r3, [pc, #56] ; (0x36c <main+60>)
0x00000332 main+2  ldr r2, [r3, #20]
0x00000334 main+4  orr.w r2, r2, #32768 ; 0x8000
0x00000338 main+8  str r2, [r3, #20]
0x0000033a main+10 ldr r2, [r3, #20]
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000330 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 1 #include "igloo.h"
 2
 3
 4 int main()
 5 {
 6 // Run with 12mhz external crystal on XOSC0
 7
 8 // Automatic Loop Control
 9 // 0 - disable
10 // 1 - enable
!11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000330 in main+0 at ../../../src/main.c:11
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000330 in main+0 at ../../../src/main.c:11
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Breakpoint 1, main () at ../../../src/main.c:11
11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
$1 = {
bit = {
ENABLE = 0,
XTALEN = 0,
RUNSTDBY = 0,
ONDEMAND = 1,
LOWBUFGAIN = 0,
IPTAT = 0,
IMULT = 0,
ENALC = 0,
CFDEN = 0,
SWBEN = 0,
STARTUP = 0,
CFDPRESC = 0
},
reg = 128
}
Quit
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
!0x00000330 main+0  ldr r3, [pc, #56] ; (0x36c <main+60>)
0x00000332 main+2  ldr r2, [r3, #20]
0x00000334 main+4  orr.w r2, r2, #32768 ; 0x8000
0x00000338 main+8  str r2, [r3, #20]
0x0000033a main+10 ldr r2, [r3, #20]
0x0000033c main+12 movs r1, #4
0x0000033e main+14 bfi r2, r1, #11, #4
0x00000342 main+18 str r2, [r3, #20]
0x00000344 main+20 ldr r2, [r3, #20]
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$$0 = {bit = {ENABLE = 0, XTALEN = 0, RUNSTDBY = 0, ONDEMAND = 1, LOWBUFGAIN = 0, IPTAT = 0, IMULT = 0, EN…
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000000 r2 0x00008080 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000033a xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 7
 8 // Automatic Loop Control
 9 // 0 - disable
10 // 1 - enable
!11 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000033a in main+10 at ../../../src/main.c:17
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000033a in main+10 at ../../../src/main.c:17
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000338 main+8  str r2, [r3, #20]
0x0000033a main+10 ldr r2, [r3, #20]
0x0000033c main+12 movs r1, #4
0x0000033e main+14 bfi r2, r1, #11, #4
0x00000342 main+18 str r2, [r3, #20]
0x00000344 main+20 ldr r2, [r3, #20]
0x00000346 main+22 orr.w r2, r2, #1536 ; 0x600
0x0000034a main+26 str r2, [r3, #20]
0x0000034c main+28 ldr r2, [r3, #20]
0x0000034e main+30 bfc r2, #7, #1
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$$0 = {bit = {ENABLE = 0, XTALEN = 0, RUNSTDBY = 0, ONDEMAND = 1, LOWBUFGAIN = 0, IPTAT = 0, IMULT = 0, EN…
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a080 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000344 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
12 // Current Multiplier
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000344 in main+20 at ../../../src/main.c:22
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000344 in main+20 at ../../../src/main.c:22
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000033e main+14 bfi r2, r1, #11, #4
0x00000342 main+18 str r2, [r3, #20]
0x00000344 main+20 ldr r2, [r3, #20]
0x00000346 main+22 orr.w r2, r2, #1536 ; 0x600
0x0000034a main+26 str r2, [r3, #20]
0x0000034c main+28 ldr r2, [r3, #20]
0x0000034e main+30 bfc r2, #7, #1
0x00000352 main+34 str r2, [r3, #20]
0x00000354 main+36 ldr r2, [r3, #20]
0x00000356 main+38 orrs r2, r1
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$$0 = {bit = {ENABLE = 0, XTALEN = 0, RUNSTDBY = 0, ONDEMAND = 1, LOWBUFGAIN = 0, IPTAT = 0, IMULT = 0, EN…
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a680 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000034c xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
13 // 6 - >24MHz to 48MHz
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000034c in main+28 at ../../../src/main.c:23
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000034c in main+28 at ../../../src/main.c:23
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000346 main+22 orr.w r2, r2, #1536 ; 0x600
0x0000034a main+26 str r2, [r3, #20]
0x0000034c main+28 ldr r2, [r3, #20]
0x0000034e main+30 bfc r2, #7, #1
0x00000352 main+34 str r2, [r3, #20]
0x00000354 main+36 ldr r2, [r3, #20]
0x00000356 main+38 orrs r2, r1
0x00000358 main+40 str r2, [r3, #20]
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$$0 = {bit = {ENABLE = 0, XTALEN = 0, RUNSTDBY = 0, ONDEMAND = 1, LOWBUFGAIN = 0, IPTAT = 0, IMULT = 0, EN…
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a600 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000354 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
14 // 5 - >16MHz to 24MHz
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000354 in main+36 at ../../../src/main.c:24
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000354 in main+36 at ../../../src/main.c:24
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000034e main+30 bfc r2, #7, #1
0x00000352 main+34 str r2, [r3, #20]
0x00000354 main+36 ldr r2, [r3, #20]
0x00000356 main+38 orrs r2, r1
0x00000358 main+40 str r2, [r3, #20]
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$$0 = {bit = {ENABLE = 0, XTALEN = 0, RUNSTDBY = 0, ONDEMAND = 1, LOWBUFGAIN = 0, IPTAT = 0, IMULT = 0, EN…
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a604 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000035a xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
15 // 4 - >8MHz to 16MHz
16 // 3 - 8MHz
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000035a in main+42 at ../../../src/main.c:25
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000035a in main+42 at ../../../src/main.c:25
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000356 main+38 orrs r2, r1
0x00000358 main+40 str r2, [r3, #20]
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$$0 = {bit = {ENABLE = 0, XTALEN = 0, RUNSTDBY = 0, ONDEMAND = 1, LOWBUFGAIN = 0, IPTAT = 0, IMULT = 0, EN…
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x0000a606 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000362 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
17 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
18 // 3 - >24MHz to 48MHz
19 // 3 - >16MHz to 24MHz
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
35 return 0;
36 }
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000362 in main+50 at ../../../src/main.c:27
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000362 in main+50 at ../../../src/main.c:27
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
~
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:11 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$$0 = {bit = {ENABLE = 0, XTALEN = 0, RUNSTDBY = 0, ONDEMAND = 1, LOWBUFGAIN = 0, IPTAT = 0, IMULT = 0, EN…
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x80000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000368 xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
20 // 3 - >8MHz to 16MHz
21 // 2 - 8MHz
22 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
23 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
24 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
25 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
26
27 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
28
29
30 asm volatile("nop");
31 for(;;)
32 {
33
34 }
35 return 0;
36 }
~
~
~
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000368 in main+56 at ../../../src/main.c:30
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000368 in main+56 at ../../../src/main.c:30
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
30 asm volatile("nop");
$2 = {
bit = {
ENABLE = 1,
XTALEN = 1,
RUNSTDBY = 0,
ONDEMAND = 0,
LOWBUFGAIN = 0,
IPTAT = 3,
IMULT = 4,
ENALC = 1,
CFDEN = 0,
SWBEN = 0,
STARTUP = 0,
CFDPRESC = 0
},
reg = 42502
}
Quit
Target voltage: 3.3V
Available Targets:
No. Att Driver
1 Microchip SAME54N19A (rev A) M3/M4
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
0x00000370 main+64 push {r4, r5, r6, lr}
0x00000372 main+66 ldr r6, [pc, #52] ; (0x3a8 <main+120>)
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x000003d8 r1 0x00000004 r2 0x80000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000036a xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000036a in main+58 at ../../../src/main.c:56
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id 0 from 0x0000036a in main+58 at ../../../src/main.c:56
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000036a in main () at ../../../src/main.c:56
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
Breakpoint 1 at 0x330: file ../../../src/main.c, line 38.
Loading section .text, size 0x438 lma 0x0
Start address 0x0, load size 1080
Transfer rate: 19 KB/sec, 540 bytes/write.
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: automatically using hardware breakpoints for read-only addresses.
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
~
~
~
~
!0x00000330 main+0  ldr r3, [pc, #56] ; (0x36c <main+60>)
0x00000332 main+2  ldr r2, [r3, #20]
0x00000334 main+4  orr.w r2, r2, #32768 ; 0x8000
0x00000338 main+8  str r2, [r3, #20]
0x0000033a main+10 ldr r2, [r3, #20]
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000000 r2 0xe000ed00 r3 0x00000000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000330 xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
28 // cache init
29 // endif
30
31
32
33 // Run with 12mhz external crystal on XOSC0
34
35 // Automatic Loop Control
36 // 0 - disable
37 // 1 - enable
!38 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
39 // Current Multiplier
40 // 6 - >24MHz to 48MHz
41 // 5 - >16MHz to 24MHz
42 // 4 - >8MHz to 16MHz
43 // 3 - 8MHz
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
45 // 3 - >24MHz to 48MHz
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000330 in main+0 at ../../../src/main.c:38
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000330 in main+0 at ../../../src/main.c:38
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Breakpoint 1, main () at ../../../src/main.c:38
38 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~
!0x00000330 main+0  ldr r3, [pc, #56] ; (0x36c <main+60>)
0x00000332 main+2  ldr r2, [r3, #20]
0x00000334 main+4  orr.w r2, r2, #32768 ; 0x8000
0x00000338 main+8  str r2, [r3, #20]
0x0000033a main+10 ldr r2, [r3, #20]
0x0000033c main+12 movs r1, #4
0x0000033e main+14 bfi r2, r1, #11, #4
0x00000342 main+18 str r2, [r3, #20]
0x00000344 main+20 ldr r2, [r3, #20]
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000000 r2 0x00008080 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000033a xpsr 0x61000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34
35 // Automatic Loop Control
36 // 0 - disable
37 // 1 - enable
!38 OSCCTRL->XOSCCTRL[0].bit.ENALC = 1;
39 // Current Multiplier
40 // 6 - >24MHz to 48MHz
41 // 5 - >16MHz to 24MHz
42 // 4 - >8MHz to 16MHz
43 // 3 - 8MHz
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
45 // 3 - >24MHz to 48MHz
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000033a in main+10 at ../../../src/main.c:44
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000033a in main+10 at ../../../src/main.c:44
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000338 main+8  str r2, [r3, #20]
0x0000033a main+10 ldr r2, [r3, #20]
0x0000033c main+12 movs r1, #4
0x0000033e main+14 bfi r2, r1, #11, #4
0x00000342 main+18 str r2, [r3, #20]
0x00000344 main+20 ldr r2, [r3, #20]
0x00000346 main+22 orr.w r2, r2, #1536 ; 0x600
0x0000034a main+26 str r2, [r3, #20]
0x0000034c main+28 ldr r2, [r3, #20]
0x0000034e main+30 bfc r2, #7, #1
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000004 r2 0x0000a080 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000344 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
39 // Current Multiplier
40 // 6 - >24MHz to 48MHz
41 // 5 - >16MHz to 24MHz
42 // 4 - >8MHz to 16MHz
43 // 3 - 8MHz
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
45 // 3 - >24MHz to 48MHz
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000344 in main+20 at ../../../src/main.c:49
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000344 in main+20 at ../../../src/main.c:49
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000033e main+14 bfi r2, r1, #11, #4
0x00000342 main+18 str r2, [r3, #20]
0x00000344 main+20 ldr r2, [r3, #20]
0x00000346 main+22 orr.w r2, r2, #1536 ; 0x600
0x0000034a main+26 str r2, [r3, #20]
0x0000034c main+28 ldr r2, [r3, #20]
0x0000034e main+30 bfc r2, #7, #1
0x00000352 main+34 str r2, [r3, #20]
0x00000354 main+36 ldr r2, [r3, #20]
0x00000356 main+38 orrs r2, r1
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000004 r2 0x0000a680 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000034c xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
40 // 6 - >24MHz to 48MHz
41 // 5 - >16MHz to 24MHz
42 // 4 - >8MHz to 16MHz
43 // 3 - 8MHz
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
45 // 3 - >24MHz to 48MHz
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000034c in main+28 at ../../../src/main.c:50
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000034c in main+28 at ../../../src/main.c:50
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000346 main+22 orr.w r2, r2, #1536 ; 0x600
0x0000034a main+26 str r2, [r3, #20]
0x0000034c main+28 ldr r2, [r3, #20]
0x0000034e main+30 bfc r2, #7, #1
0x00000352 main+34 str r2, [r3, #20]
0x00000354 main+36 ldr r2, [r3, #20]
0x00000356 main+38 orrs r2, r1
0x00000358 main+40 str r2, [r3, #20]
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000004 r2 0x0000a600 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000354 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
41 // 5 - >16MHz to 24MHz
42 // 4 - >8MHz to 16MHz
43 // 3 - 8MHz
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
45 // 3 - >24MHz to 48MHz
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000354 in main+36 at ../../../src/main.c:51
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000354 in main+36 at ../../../src/main.c:51
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000034e main+30 bfc r2, #7, #1
0x00000352 main+34 str r2, [r3, #20]
0x00000354 main+36 ldr r2, [r3, #20]
0x00000356 main+38 orrs r2, r1
0x00000358 main+40 str r2, [r3, #20]
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000004 r2 0x0000a604 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000035a xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
42 // 4 - >8MHz to 16MHz
43 // 3 - 8MHz
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
45 // 3 - >24MHz to 48MHz
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000035a in main+42 at ../../../src/main.c:52
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000035a in main+42 at ../../../src/main.c:52
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000356 main+38 orrs r2, r1
0x00000358 main+40 str r2, [r3, #20]
0x0000035a main+42 ldr r2, [r3, #20]
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000004 r2 0x0000a606 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000362 xpsr 0x21000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
44 OSCCTRL->XOSCCTRL[0].bit.IMULT = 4;
45 // 3 - >24MHz to 48MHz
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000362 in main+50 at ../../../src/main.c:54
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000362 in main+50 at ../../../src/main.c:54
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000035c main+44 orr.w r2, r2, #2
0x00000360 main+48 str r2, [r3, #20]
0x00000362 main+50 ldr r2, [r3, #16]
0x00000364 main+52 lsls r2, r2, #31
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
0x00000370 main+64 push {r4, r5, r6, lr}
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000004 r2 0x80000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000368 xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
46 // 3 - >16MHz to 24MHz
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000368 in main+56 at ../../../src/main.c:56
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000368 in main+56 at ../../../src/main.c:56
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000366 main+54 bpl.n 0x362 <main+50>
0x00000368 main+56 nop
0x0000036a main+58 b.n 0x36a <main+58>
0x0000036c main+60 asrs r0, r0, #32
0x0000036e main+62 ands r0, r0
0x00000370 main+64 push {r4, r5, r6, lr}
0x00000372 main+66 ldr r6, [pc, #52] ; (0x3a8 <main+120>)
0x00000374 main+68 ldr r4, [pc, #52] ; (0x3ac <main+124>)
0x00000376 main+70 subs r4, r4, r6
0x00000378 main+72 asrs r4, r4, #2
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000004 r2 0x00000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000370 xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
47 // 3 - >8MHz to 16MHz
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000370 in main+64 at ../../../src/main.c:57
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000370 in main+64 at ../../../src/main.c:57
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000370 main+64 push {r4, r5, r6, lr}
0x00000372 main+66 ldr r6, [pc, #52] ; (0x3a8 <main+120>)
0x00000374 main+68 ldr r4, [pc, #52] ; (0x3ac <main+124>)
0x00000376 main+70 subs r4, r4, r6
0x00000378 main+72 asrs r4, r4, #2
0x0000037a main+74 movs r5, #0
0x0000037c main+76 cmp r5, r4
0x0000037e main+78 bne.n 0x394 <main+100>
0x00000380 main+80 ldr r6, [pc, #44] ; (0x3b0 <main+128>)
0x00000382 main+82 ldr r4, [pc, #48] ; (0x3b4 <main+132>)
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000077 r2 0x00000077 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000037a xpsr 0x01000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
48 // 2 - 8MHz
49 OSCCTRL->XOSCCTRL[0].bit.IPTAT = 3;
50 OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = 0;
51 OSCCTRL->XOSCCTRL[0].bit.XTALEN = 1;
52 OSCCTRL->XOSCCTRL[0].bit.ENABLE = 1;
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000037a in main+74 at ../../../src/main.c:58
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000037a in main+74 at ../../../src/main.c:58
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000037a main+74 movs r5, #0
0x0000037c main+76 cmp r5, r4
0x0000037e main+78 bne.n 0x394 <main+100>
0x00000380 main+80 ldr r6, [pc, #44] ; (0x3b0 <main+128>)
0x00000382 main+82 ldr r4, [pc, #48] ; (0x3b4 <main+132>)
0x00000384 main+84 bl 0x3b8 <main+136>
0x00000388 main+88 subs r4, r4, r6
0x0000038a main+90 asrs r4, r4, #2
0x0000038c main+92 movs r5, #0
0x0000038e main+94 cmp r5, r4
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000005 r2 0x00050020 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x00000384 xpsr 0x01000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
53
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00000384 in main+84 at ../../../src/main.c:63
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x00000384 in main+84 at ../../../src/main.c:63
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000382 main+82  ldr r4, [pc, #48] ; (0x3b4 <main+132>)
0x00000384 main+84  bl 0x3b8 <main+136>
0x00000388 main+88  subs r4, r4, r6
0x0000038a main+90  asrs r4, r4, #2
0x0000038c main+92  movs r5, #0
0x0000038e main+94  cmp r5, r4
0x00000390 main+96  bne.n 0x39e <main+110>
0x00000392 main+98  pop {r4, r5, r6, pc}
0x00000394 main+100 ldr.w r3, [r6, r5, lsl #2]
0x00000398 main+104 blx r3
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000002 r2 0x00050040 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000038e xpsr 0x01000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
54 while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000038e in main+94 at ../../../src/main.c:64
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000038e in main+94 at ../../../src/main.c:64
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x0000038e main+94  cmp r5, r4
0x00000390 main+96  bne.n 0x39e <main+110>
0x00000392 main+98  pop {r4, r5, r6, pc}
0x00000394 main+100 ldr.w r3, [r6, r5, lsl #2]
0x00000398 main+104 blx r3
0x0000039a main+106 adds r5, #1
0x0000039c main+108 b.n 0x37c <main+76>
0x0000039e main+110 ldr.w r3, [r6, r5, lsl #2]
0x000003a2 main+114 blx r3
0x000003a4 main+116 adds r5, #1
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000002 r2 0x00000000 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x0000039a xpsr 0x01000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
55
56 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDRFRAC = 0;
57 OSCCTRL->Dpll[0].DPLLRATIO.bit.LDR = 119;
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
74
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x0000039a in main+106 at ../../../src/main.c:65
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x0000039a in main+106 at ../../../src/main.c:65
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00000398 main+104 blx r3
0x0000039a main+106 adds r5, #1
0x0000039c main+108 b.n 0x37c <main+76>
0x0000039e main+110 ldr.w r3, [r6, r5, lsl #2]
0x000003a2 main+114 blx r3
0x000003a4 main+116 adds r5, #1
0x000003a6 main+118 b.n 0x38e <main+94>
0x000003a8 main+120 lsls r4, r0, #15
0x000003aa main+122 movs r0, r0
0x000003ac main+124 lsls r4, r0, #15
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x00000438 r1 0x00000002 r2 0x00000002 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x000003a4 xpsr 0x01000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
58 OSCCTRL->Dpll[0].DPLLCTRLB.bit.DIV = 5;
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
74
75
76
77 asm volatile("nop");
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x000003a4 in main+116 at ../../../src/main.c:68
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x000003a4 in main+116 at ../../../src/main.c:68
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000003a2 main+114 blx r3
0x000003a4 main+116 adds r5, #1
0x000003a6 main+118 b.n 0x38e <main+94>
0x000003a8 main+120 lsls r4, r0, #15
0x000003aa main+122 movs r0, r0
0x000003ac main+124 lsls r4, r0, #15
0x000003ae main+126 movs r0, r0
0x000003b0 main+128 lsls r4, r0, #15
0x000003b2 main+130 movs r0, r0
0x000003b4 main+132 lsls r0, r1, #15
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x80000000 r1 0x00000002 r2 0x00000003 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x000003ac xpsr 0xa1000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
59 // 0 - GCLK
60 // 1 - XOSC32
61 // 2 - XOSC0
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
74
75
76
77 asm volatile("nop");
78 for(;;)
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x000003ac in main+124 at ../../../src/main.c:69
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x000003ac in main+124 at ../../../src/main.c:69
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000003a8 main+120 lsls r4, r0, #15
0x000003aa main+122 movs r0, r0
0x000003ac main+124 lsls r4, r0, #15
0x000003ae main+126 movs r0, r0
0x000003b0 main+128 lsls r4, r0, #15
0x000003b2 main+130 movs r0, r0
0x000003b4 main+132 lsls r0, r1, #15
0x000003b6 main+134 movs r0, r0
0x000003b8 main+136 push {r3, r4, r5, r6, r7, lr}
0x000003ba main+138 nop
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x80000000 r1 0xc0000000 r2 0x00000003 r3 0x40001000 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x000003b2 xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
62 // 3 - XOSC1
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
74
75
76
77 asm volatile("nop");
78 for(;;)
79 {
80
81 }
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x000003b2 in main+130 at ../../../src/main.c:72
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x000003b2 in main+130 at ../../../src/main.c:72
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000003ae main+126 movs r0, r0
0x000003b0 main+128 lsls r4, r0, #15
0x000003b2 main+130 movs r0, r0
0x000003b4 main+132 lsls r0, r1, #15
0x000003b6 main+134 movs r0, r0
0x000003b8 main+136 push {r3, r4, r5, r6, r7, lr}
0x000003ba main+138 nop
0x000003bc main+140 pop {r3, r4, r5, r6, r7}
0x000003be main+142 pop {r3}
0x000003c0 main+144 mov lr, r3
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x80000000 r1 0xc0000000 r2 0x00010107 r3 0x40001c00 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x000003b8 xpsr 0x81000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
63 OSCCTRL->Dpll[0].DPLLCTRLB.bit.REFCLK = 2;
64 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ONDEMAND = 0;
65 OSCCTRL->Dpll[0].DPLLCTRLA.bit.ENABLE = 1;
66
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
74
75
76
77 asm volatile("nop");
78 for(;;)
79 {
80
81 }
82 return 0;
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x000003b8 in main+136 at ../../../src/main.c:73
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x000003b8 in main+136 at ../../../src/main.c:73
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
─── Output/messages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x000003b4 main+132 lsls r0, r1, #15
0x000003b6 main+134 movs r0, r0
0x000003b8 main+136 push {r3, r4, r5, r6, r7, lr}
0x000003ba main+138 nop
0x000003bc main+140 pop {r3, r4, r5, r6, r7}
0x000003be main+142 pop {r3}
0x000003c0 main+144 mov lr, r3
0x000003c2 main+146 bx lr
0x000003c4 main+148 lsls r1, r1, #10
0x000003c6 main+150 movs r0, r0
─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] break at 0x00000330 in ../../../src/main.c:38 for main hit 1 time
─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
r0 0x80000000 r1 0xc0000000 r2 0x00000000 r3 0x40001c00 r4 0x000119d5 r5 0x20008abc
r6 0x200059d8 r7 0x000125c1 r8 0x000125b5 r9 0x200059d8 r10 0x20005a48 r11 0x2000db94
r12 0x00000000 sp 0x20010018 lr 0x000002f9 pc 0x000003be xpsr 0x41000000 fpscr 0x00000000
msp 0x20010018 psp 0xfdff277c primask 0x00 basepri 0x00 faultmask 0x00 control 0x00
─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
67 // wait for pll to be locked and ready
68 while(0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.LOCK
69 || 0 == OSCCTRL->Dpll[0].DPLLSTATUS.bit.CLKRDY);
70
71 // Connect DPLL0 to clock generator 0 (120mhz) - frequency used by CPU, AHB, APBA, APBB
72 GCLK->GENCTRL[0].reg = GCLK_GENCTRL_SRC_DPLL0 | GCLK_GENCTRL_DIV(1) | GCLK_GENCTRL_GENEN;
73 while(1 == GCLK->SYNCBUSY.bit.GENCTRL0);
74
75
76
77 asm volatile("nop");
78 for(;;)
79 {
80
81 }
82 return 0;
83 }
~
~
~
─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x000003be in main+142 at ../../../src/main.c:77
─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[1] id -1 from 0x000003be in main+142 at ../../../src/main.c:77
─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
77 asm volatile("nop");
$1 = {
bit = {
SWRST = 0,
GENCTRL0 = 0,
GENCTRL1 = 0,
GENCTRL2 = 0,
GENCTRL3 = 0,
GENCTRL4 = 0,
GENCTRL5 = 0,
GENCTRL6 = 0,
GENCTRL7 = 0,
GENCTRL8 = 0,
GENCTRL9 = 0,
GENCTRL10 = 0,
GENCTRL11 = 0
},
vec = {
GENCTRL = 0
},
reg = 0
}