0x0001702a in memset ()
### Assembly ###################################################################
0x0001702a ? adds r2, #16
0x0001702c ? cmp r2, lr
0x0001702e ? bne.n 0x17022 <memset+34>
0x00017030 ? add.w r2, r12, #1
0x00017034 ? tst.w r4, #12
0x00017038 ? add.w r2, r3, r2, lsl #4
0x0001703c ? and.w r12, r4, #15
0x00017040 ? beq.n 0x1706a <memset+106>
0x00017042 ? sub.w r3, r12, #4
0x00017046 ? bic.w r3, r3, #3
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x20018f30 r8 0x0000158d xpsr 0x810b0000
r1 0x00000000 r9 0x20019070 fpscr 0x00000000
r2 0x20019020 r10 0x200184e1 msp 0x20018f14
r3 0x20018f30 r11 0x00000002 psp 0xfdff277c
r4 0x00000100 r12 0x0000000f primask 0x00
r5 0x00000000 sp 0x20018f14 basepri 0x00
r6 0x0000004a lr 0x20019040 faultmask 0x00
r7 0x0002bd69 pc 0x0001702a control 0x04
### Source #####################################################################
### Stack ######################################################################
[0] from 0x0001702a in memset
[1] from 0x20019040 in _sstack
### Threads ####################################################################
[1] id 0 from 0x0001702a in memset
### Variables ##################################################################
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c700 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c700
Loading section .relocate, size 0xa04 lma 0x2c708
Start address 0x00000000, load size 184588
Transfer rate: 57 KB/sec, 971 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #16] ; (0xaa0 <main+20>)
0x00000a90 main+4 ldr r4, [pc, #16] ; (0xaa4 <main+24>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 ldr r0, [pc, #16] ; (0xaa8 <main+28>)
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c708 r8 0x0000158d xpsr 0x61000000
r1 0x00000000 r9 0x20019070 fpscr 0x00000000
r2 0x00f00000 r10 0x200184e1 msp 0x200191d0
r3 0x00000a8d r11 0x00000002 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200191d0 basepri 0x00
r6 0x0000004a lr 0x00000a5d faultmask 0x00
r7 0x0002bd69 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 PDEBUG("Hello world\n");
9 for(;;)
10 {
11 oracle_service();
12 }
13 }
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
0x0000145e in hri_gclk_write_PCHCTRL_reg (data=67, index=3 '\003', hw=0x40001c00) at ../hri/hri_gclk_e54.h:777
777 ((Gclk *)hw)->PCHCTRL[index].reg = data;
### Assembly ###################################################################
~
~
~
0x0000145a hri_gclk_write_PCHCTRL_reg+0 blx r3
0x0000145c hri_gclk_write_PCHCTRL_reg+2 ldrb r3, [r4, #0]
0x0000145e hri_gclk_write_PCHCTRL_reg+4 cmp r3, #0
~
~
~
~
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x00000065 r8 0x000015b1 xpsr 0x61010000
r1 0x0001de2a r9 0x20019070 fpscr 0x00000000
r2 0x00000001 r10 0x200184e1 msp 0x20018f18
r3 0x00000000 r11 0x00000002 psp 0xfdff277c
r4 0x20000000 r12 0xffffffff primask 0x00
r5 0x00018989 sp 0x20018f18 basepri 0x00
r6 0x0000004a lr 0x00000b8d faultmask 0x00
r7 0x0002bd69 pc 0x0000145e control 0x04
### Source #####################################################################
767 {
768 uint32_t tmp;
769 tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
770 tmp &= mask;
771 return tmp;
772 }
773
774 static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data)
775 {
776 GCLK_CRITICAL_SECTION_ENTER();
777 ((Gclk *)hw)->PCHCTRL[index].reg = data;
778 GCLK_CRITICAL_SECTION_LEAVE();
779 }
780
781 static inline void hri_gclk_clear_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask)
782 {
783 GCLK_CRITICAL_SECTION_ENTER();
784 ((Gclk *)hw)->PCHCTRL[index].reg &= ~mask;
785 GCLK_CRITICAL_SECTION_LEAVE();
786 }
### Stack ######################################################################
[0] from 0x0000145e in hri_gclk_write_PCHCTRL_reg+4 at ../hri/hri_gclk_e54.h:777
[1] from 0x0000145e in p_usart_init+14 at ../shared/drivers/p_usart.c:43
[2] from 0x20019044 in _sstack
### Threads ####################################################################
[1] id 0 from 0x0000145e in hri_gclk_write_PCHCTRL_reg+4 at ../hri/hri_gclk_e54.h:777
### Variables ##################################################################
arg data = 67, index = 3 '\003', hw = 0x40001c00
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c498 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c498
Loading section .relocate, size 0xa04 lma 0x2c4a0
Start address 0x00000000, load size 183972
Transfer rate: 57 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #16] ; (0xaa0 <main+20>)
0x00000a90 main+4 ldr r4, [pc, #16] ; (0xaa4 <main+24>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 ldr r0, [pc, #16] ; (0xaa8 <main+28>)
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c4a0 r8 0x000015b1 xpsr 0x61000000
r1 0x00000000 r9 0x20019070 fpscr 0x00000000
r2 0x00f00000 r10 0x200184e1 msp 0x200191d0
r3 0x00000a8d r11 0x00000002 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200191d0 basepri 0x00
r6 0x0000004a lr 0x00000a5d faultmask 0x00
r7 0x0002bd69 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 PDEBUG("Hello world\n");
9 for(;;)
10 {
11 oracle_service();
12 }
13 }
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
0x0000fd4e in lv_task_time_remaining (task=0x200099d4 <work_mem_int+2212>) at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:426
426 return task->period - elp;
### Assembly ###################################################################
0x0000fd44 lv_task_time_remaining+0 ldr r4, [r5, #0]
0x0000fd46 lv_task_time_remaining+2 b.n 0xfc78 <lv_task_handler+68>
0x0000fd48 lv_task_time_remaining+4 movs r4, #0
0x0000fd4a lv_task_time_remaining+6 str r6, [r5, #0]
0x0000fd4c lv_task_time_remaining+8 b.n 0xfc8c <lv_task_handler+88>
0x0000fd4e lv_task_time_remaining+10 ldrb r2, [r5, #20]
0x0000fd50 lv_task_time_remaining+12 lsls r3, r2, #29
0x0000fd52 lv_task_time_remaining+14 beq.n 0xfd70 <lv_task_handler+316>
0x0000fd54 lv_task_time_remaining+16 ldr r0, [r5, #4]
0x0000fd56 lv_task_time_remaining+18 blx r4
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x200099d4 r8 0x0000dc85 xpsr 0x81010000
r1 0x00000001 r9 0x0000e8e5 fpscr 0x00000000
r2 0xffffffff r10 0x20008f9c msp 0x200191a0
r3 0x20008f88 r11 0x2000d150 psp 0xfdff277c
r4 0x0000dc99 r12 0x00000004 primask 0x00
r5 0x200099d4 sp 0x200191a0 basepri 0x00
r6 0x20008f9c lr 0x0000fd0d faultmask 0x00
r7 0x0000e8f1 pc 0x0000fd4e control 0x04
### Source #####################################################################
416 * Find out how much time remains before a task must be run.
417 * @param task pointer to lv_task
418 * @return the time remaining, or 0 if it needs to be run again
419 */
420 static uint32_t lv_task_time_remaining(lv_task_t * task)
421 {
422 /*Check if at least 'period' time elapsed*/
423 uint32_t elp = lv_tick_elaps(task->last_run);
424 if(elp >= task->period)
425 return 0;
426 return task->period - elp;
427 }
~
~
~
~
~
~
~
~
### Stack ######################################################################
[0] from 0x0000fd4e in lv_task_time_remaining+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:426
[1] from 0x0000fd4e in lv_task_handler+282 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:182
[2] from 0x00000a9c in main+16 at ../main.c:8
### Threads ####################################################################
[1] id 0 from 0x0000fd4e in lv_task_time_remaining+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:426
### Variables ##################################################################
arg task = 0x200099d4 <work_mem_int+2212>: {period = 30,last_run = 917,task_cb = 0x5231 <_lv_disp_refr…
loc elp = 536910292, delay = <optimized out>, already_running = true, idle_period_start = 41608, handler_start = 41957, busy_time = 94, time_till_next = 4294967295, task_interrupter = <optimized out>, next = 0x200099d4 <work_mem_int+2212>: {period = 30,last_run = 917,task_cb = 0x5231 <_lv_disp_refr…, end_flag = true, idle_period_time = <optimized out>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c488 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c488
Loading section .relocate, size 0xa04 lma 0x2c490
Start address 0x00000000, load size 183956
Transfer rate: 57 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c490 r8 0x0000dc85 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8e5 fpscr 0x00000000
r2 0x00f00000 r10 0x20008f9c msp 0x200191d0
r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200191d0 basepri 0x00
r6 0x20008f9c lr 0x00000a5d faultmask 0x00
r7 0x0000e8f1 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
lv_tick_get () at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:57
57 {
### Assembly ###################################################################
~
~
~
~
~
0x0000dc74 lv_tick_get+0 ldr r3, [pc, #12] ; (0xdc84 <lv_tick_get+16>)
0x0000dc76 lv_tick_get+2 ldr r0, [r3, #4]
0x0000dc78 lv_tick_get+4 movs r1, #1
0x0000dc7a lv_tick_get+6 strb r1, [r3, #0]
0x0000dc7c lv_tick_get+8 ldrb r2, [r3, #0]
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x00004aa3 r8 0x0000dc75 xpsr 0x61010000
r1 0x00000001 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00000015 r10 0x20008f9c msp 0x20019198
r3 0x0000dc75 r11 0x2000d150 psp 0xfdff277c
r4 0x00004aa3 r12 0x00000004 primask 0x00
r5 0x2000900c sp 0x20019198 basepri 0x00
r6 0x20009134 lr 0x0000dc91 faultmask 0x00
r7 0x0000fbd9 pc 0x0000dc74 control 0x04
### Source #####################################################################
47 {
48 tick_irq_flag = 0;
49 sys_time += tick_period;
50 }
51
52 /**
53 * Get the elapsed milliseconds since start up
54 * @return the elapsed milliseconds
55 */
56 uint32_t lv_tick_get(void)
57 {
58 #if LV_TICK_CUSTOM == 0
59 uint32_t result;
60 do {
61 tick_irq_flag = 1;
62 result = sys_time;
63 } while(!tick_irq_flag); /*'lv_tick_inc()' clears this flag which can be in an interrupt.
64 Continue until make a non interrupted cycle */
65
66 return result;
### Stack ######################################################################
[0] from 0x0000dc74 in lv_tick_get+0 at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:57
[1] from 0x0000dc90 in lv_tick_elaps+8 at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:79
[2] from 0x0000fcbc in lv_task_handler+136 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:169
[3] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43
[4] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[5] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000dc74 in lv_tick_get+0 at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:57
### Variables ##################################################################
loc result = <optimized out>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c488 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c488
Loading section .relocate, size 0xa04 lma 0x2c490
Start address 0x00000000, load size 183956
Transfer rate: 57 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00f00000 r10 0x20008f9c msp 0x200191d0
r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200191d0 basepri 0x00
r6 0x20009134 lr 0x00000a5d faultmask 0x00
r7 0x0000fbd9 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
_lv_ll_get_next (ll_p=ll_p@entry=0x20008f9c <_lv_task_ll>, n_act=n_act@entry=0x200099d4 <work_mem_int+2212>) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:300
300 if(ll_p != NULL) {
### Assembly ###################################################################
~
~
0x0000e8e0 _lv_ll_get_next+0 push {r0, r1, r2, lr}
0x0000e8e2 _lv_ll_get_next+2 movs r3, #0
0x0000e8e4 _lv_ll_get_next+4 str r3, [sp, #4]
0x0000e8e6 _lv_ll_get_next+6 cbz r0, 0xe8f4 <_lv_ll_get_next+20>
0x0000e8e8 _lv_ll_get_next+8 ldr r3, [r0, #0]
0x0000e8ea _lv_ll_get_next+10 adds r3, #4
0x0000e8ec _lv_ll_get_next+12 add r1, r3
0x0000e8ee _lv_ll_get_next+14 add r0, sp, #4
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x20008f9c r8 0x0000dc75 xpsr 0x61010000
r1 0x200099d4 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00000028 r10 0x20008f9c msp 0x20019190
r3 0x00000000 r11 0x2000d150 psp 0xfdff277c
r4 0x0000dc89 r12 0x00000004 primask 0x00
r5 0x200099d4 sp 0x20019190 basepri 0x00
r6 0x20008f9c lr 0x0000fd67 faultmask 0x00
r7 0x0000e8e1 pc 0x0000e8e6 control 0x04
### Source #####################################################################
290 /**
291 * Return with the pointer of the next node after 'n_act'
292 * @param ll_p pointer to linked list
293 * @param n_act pointer a node
294 * @return pointer to the next node
295 */
296 void * _lv_ll_get_next(const lv_ll_t * ll_p, const void * n_act)
297 {
298 void * next = NULL;
299
300 if(ll_p != NULL) {
301 const lv_ll_node_t * n_act_d = n_act;
302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *));
303 }
304
305 return next;
306 }
307
308 /**
309 * Return with the pointer of the previous node after 'n_act'
### Stack ######################################################################
[0] from 0x0000e8e6 in _lv_ll_get_next+6 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:300
[1] from 0x0000fd66 in lv_task_handler+306 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:187
[2] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43
[3] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[4] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000e8e6 in _lv_ll_get_next+6 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:300
### Variables ##################################################################
arg ll_p = 0x20008f9c <_lv_task_ll>: {n_size = 24,head = 0x200099d4 <work_mem_int+2212> "\036",tail = …, n_act = 0x200099d4 <work_mem_int+2212>
loc next = 0x0 <io_read>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c488 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c488
Loading section .relocate, size 0xa04 lma 0x2c490
Start address 0x00000000, load size 183956
Transfer rate: 57 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00f00000 r10 0x20008f9c msp 0x200191d0
r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200191d0 basepri 0x00
r6 0x20008f9c lr 0x00000a5d faultmask 0x00
r7 0x0000e8e1 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:91
91 handler_start = lv_tick_get();
### Assembly ###################################################################
0x0000fc42 lv_task_handler+18 cbnz r4, 0xfc52 <lv_task_handler+34>
0x0000fc44 lv_task_handler+20 ldrb.w r2, [r11, #1]
0x0000fc48 lv_task_handler+24 strb.w r0, [r11, #4]
0x0000fc4c lv_task_handler+28 cbnz r2, 0xfc56 <lv_task_handler+38>
0x0000fc4e lv_task_handler+30 strb.w r2, [r11, #4]
0x0000fc52 lv_task_handler+34 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc}
0x0000fc56 lv_task_handler+38 ldr.w r8, [pc, #324] ; 0xfd9c <lv_task_handler+364>
0x0000fc5a lv_task_handler+42 ldr.w r10, [pc, #312] ; 0xfd94 <lv_task_handler+356>
0x0000fc5e lv_task_handler+46 ldr.w r9, [pc, #320] ; 0xfda0 <lv_task_set_prio>
0x0000fc62 lv_task_handler+50 blx r8
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0xffffffff r8 0x0000dc75 xpsr 0x61010000
r1 0x20009153 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00000000 r10 0x20008f9c msp 0x200191a0
r3 0x20019198 r11 0x2000d150 psp 0xfdff277c
r4 0x0000dc89 r12 0x00000004 primask 0x00
r5 0x00000000 sp 0x200191a0 basepri 0x00
r6 0x20008f9c lr 0x0000e8f5 faultmask 0x00
r7 0x0000e8e1 pc 0x0000fc52 control 0x04
### Source #####################################################################
81 static uint32_t idle_period_start = 0;
82 static uint32_t handler_start = 0;
83 static uint32_t busy_time = 0;
84 static uint32_t time_till_next;
85
86 if(lv_task_run == false) {
87 already_running = false; /*Release mutex*/
88 return 1;
89 }
90
91 handler_start = lv_tick_get();
92
93 /* Run all task from the highest to the lowest priority
94 * If a lower priority task is executed check task again from the highest priority
95 * but on the priority of executed tasks don't run tasks before the executed*/
96 lv_task_t * task_interrupter = NULL;
97 lv_task_t * next;
98 bool end_flag;
99 do {
100 end_flag = true;
### Stack ######################################################################
[0] from 0x0000fc52 in lv_task_handler+34 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:91
[1] from 0x0000167c in p_screen_service+4 at ../shared/devices/p_screen.c:43
[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[3] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000fc52 in lv_task_handler+34 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:91
### Variables ##################################################################
loc already_running = false, idle_period_start = 470607, handler_start = 470690, busy_time = 20, time_till_next = 4294967295, task_interrupter = <optimized out>, next = <optimized out>, end_flag = <optimized out>, idle_period_time = <optimized out>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c488 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c488
Loading section .relocate, size 0xa04 lma 0x2c490
Start address 0x00000000, load size 183956
Transfer rate: 57 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00f00000 r10 0x20008f9c msp 0x200191d0
r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200191d0 basepri 0x00
r6 0x20008f9c lr 0x00000a5d faultmask 0x00
r7 0x0000e8e1 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
0x0000e8ee in _lv_ll_get_next (ll_p=ll_p@entry=0x20008f9c <_lv_task_ll>, n_act=n_act@entry=0x200099d4 <work_mem_int+2212>) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302
302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *));
### Assembly ###################################################################
0x0000e8e4 _lv_ll_get_next+8 ldr r3, [r0, #0]
0x0000e8e6 _lv_ll_get_next+10 adds r3, #4
0x0000e8e8 _lv_ll_get_next+12 add r1, r3
0x0000e8ea _lv_ll_get_next+14 add r0, sp, #4
0x0000e8ec _lv_ll_get_next+16 ldr r3, [pc, #8] ; (0xe8f8 <_lv_ll_get_next+28>)
0x0000e8ee _lv_ll_get_next+18 blx r3
0x0000e8f0 _lv_ll_get_next+20 ldr r0, [sp, #4]
0x0000e8f2 _lv_ll_get_next+22 add sp, #12
0x0000e8f4 _lv_ll_get_next+24 ldr.w pc, [sp], #4
0x0000e8f8 _lv_ll_get_next+28 b.n 0xe886 <_lv_ll_ins_head+70>
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x20019194 r8 0x0000dc71 xpsr 0x01010000
r1 0x200099f0 r9 0x0000e8d1 fpscr 0x00000000
r2 0x00000028 r10 0x20008f9c msp 0x20019190
r3 0x0000e7c5 r11 0x2000d150 psp 0xfdff277c
r4 0x0000dc85 r12 0x00000004 primask 0x00
r5 0x200099d4 sp 0x20019190 basepri 0x00
r6 0x20008f9c lr 0x0000fd63 faultmask 0x00
r7 0x0000e8dd pc 0x0000e8ee control 0x04
### Source #####################################################################
292 * @param ll_p pointer to linked list
293 * @param n_act pointer a node
294 * @return pointer to the next node
295 */
296 void * _lv_ll_get_next(const lv_ll_t * ll_p, const void * n_act)
297 {
298 void * next = NULL;
299
300 if(ll_p != NULL) {
301 const lv_ll_node_t * n_act_d = n_act;
302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *));
303 }
304
305 return next;
306 }
307
308 /**
309 * Return with the pointer of the previous node after 'n_act'
310 * @param ll_p pointer to linked list
311 * @param n_act pointer a node
### Stack ######################################################################
[0] from 0x0000e8ee in _lv_ll_get_next+18 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302
[1] from 0x0000fd62 in lv_task_handler+306 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:187
[2] from 0x0000167c in p_screen_service+4 at ../shared/devices/p_screen.c:43
[3] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[4] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000e8ee in _lv_ll_get_next+18 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302
### Variables ##################################################################
arg ll_p = 0x20008f9c <_lv_task_ll>: {n_size = 24,head = 0x200099d4 <work_mem_int+2212> "\036",tail = …, n_act = 0x200099d4 <work_mem_int+2212>
loc n_act_d = 0x200099d4 <work_mem_int+2212> "\036": 30 '\036', next = 0x0 <io_read>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c488 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c488
Loading section .relocate, size 0xa04 lma 0x2c490
Start address 0x00000000, load size 183956
Transfer rate: 57 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c490 r8 0x0000dc71 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8d1 fpscr 0x00000000
r2 0x00f00000 r10 0x20008f9c msp 0x200191d0
r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200191d0 basepri 0x00
r6 0x20008f9c lr 0x00000a5d faultmask 0x00
r7 0x0000e8dd pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
../scripts/push.gdb:6: Error in sourced command file:
Attaching to Remote target failed
quit
../scripts/push.gdb:5: Error in sourced command file:
/dev/ttyBmpGdb: No such file or directory.
Quit
quit
../scripts/push.gdb:6: Error in sourced command file:
Attaching to Remote target failed
quit
0x0000fcac in lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168
168 busy_time += lv_tick_elaps(handler_start);
### Assembly ###################################################################
0x0000fca0 lv_task_handler+108 cmp r2, #0
0x0000fca2 lv_task_handler+110 beq.n 0xfd6a <lv_task_handler+310>
0x0000fca4 lv_task_handler+112 ldr r4, [pc, #232] ; (0xfd90 <lv_task_handler+348>)
0x0000fca6 lv_task_handler+114 ldr.w r0, [r11, #8]
0x0000fcaa lv_task_handler+118 blx r4
0x0000fcac lv_task_handler+120 ldr.w r2, [r11, #12]
0x0000fcb0 lv_task_handler+124 add r0, r2
0x0000fcb2 lv_task_handler+126 str.w r0, [r11, #12]
0x0000fcb6 lv_task_handler+130 ldr.w r0, [r11, #20]
0x0000fcba lv_task_handler+134 blx r4
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x00000000 r8 0x0000dc75 xpsr 0x61010000
r1 0x00000001 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00000001 r10 0x2000359c msp 0x200137a0
r3 0x20003588 r11 0x20007750 psp 0xfdff277c
r4 0x0000dc89 r12 0x00000004 primask 0x00
r5 0x2000360c sp 0x200137a0 basepri 0x00
r6 0x20003734 lr 0x0000dc91 faultmask 0x00
r7 0x0000fbd9 pc 0x0000fcac control 0x04
### Source #####################################################################
158 task_interrupter = NULL;
159 end_flag = false;
160 task_list_changed = false;
161 break;
162 }
163
164 LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/
165 }
166 } while(!end_flag);
167
168 busy_time += lv_tick_elaps(handler_start);
169 uint32_t idle_period_time = lv_tick_elaps(idle_period_start);
170 if(idle_period_time >= IDLE_MEAS_PERIOD) {
171
172 idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/
173 idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/
174 busy_time = 0;
175 idle_period_start = lv_tick_get();
176 }
177
### Stack ######################################################################
[0] from 0x0000fcac in lv_task_handler+120 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168
[1] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43
[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[3] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000fcac in lv_task_handler+120 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168
### Variables ##################################################################
loc already_running = false, idle_period_start = 0, handler_start = 0, busy_time = 0, time_till_next = 0, task_interrupter = <optimized out>, next = <optimized out>, end_flag = true, idle_period_time = <optimized out>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c488 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c488
Loading section .relocate, size 0xa04 lma 0x2c490
Start address 0x00000000, load size 183956
Transfer rate: 56 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00f00000 r10 0x2000359c msp 0x200117d0
r3 0x00000a8d r11 0x20007750 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200117d0 basepri 0x00
r6 0x20003734 lr 0x00000a5d faultmask 0x00
r7 0x0000fbd9 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168
168 busy_time += lv_tick_elaps(handler_start);
### Assembly ###################################################################
0x0000fc98 lv_task_handler+100 bne.n 0xfd0e <lv_task_handler+218>
0x0000fc9a lv_task_handler+102 blx r7
0x0000fc9c lv_task_handler+104 ldrb.w r2, [r11, #2]
0x0000fca0 lv_task_handler+108 cmp r2, #0
0x0000fca2 lv_task_handler+110 beq.n 0xfd6a <lv_task_handler+310>
0x0000fca4 lv_task_handler+112 ldr r4, [pc, #232] ; (0xfd90 <lv_task_handler+348>)
0x0000fca6 lv_task_handler+114 ldr.w r0, [r11, #8]
0x0000fcaa lv_task_handler+118 blx r4
0x0000fcac lv_task_handler+120 ldr.w r2, [r11, #12]
0x0000fcb0 lv_task_handler+124 add r0, r2
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x20003fd4 r8 0x0000dc75 xpsr 0x61010000
r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00000028 r10 0x2000359c msp 0x200117a0
r3 0x20011798 r11 0x20005750 psp 0xfdff277c
r4 0x00000000 r12 0x00000004 primask 0x00
r5 0x2000360c sp 0x200117a0 basepri 0x00
r6 0x20003734 lr 0x0000e8f5 faultmask 0x00
r7 0x0000fbd9 pc 0x0000fca4 control 0x04
### Source #####################################################################
158 task_interrupter = NULL;
159 end_flag = false;
160 task_list_changed = false;
161 break;
162 }
163
164 LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/
165 }
166 } while(!end_flag);
167
168 busy_time += lv_tick_elaps(handler_start);
169 uint32_t idle_period_time = lv_tick_elaps(idle_period_start);
170 if(idle_period_time >= IDLE_MEAS_PERIOD) {
171
172 idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/
173 idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/
174 busy_time = 0;
175 idle_period_start = lv_tick_get();
176 }
177
### Stack ######################################################################
[0] from 0x0000fca4 in lv_task_handler+112 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168
[1] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43
[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[3] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000fca4 in lv_task_handler+112 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168
### Variables ##################################################################
loc already_running = true, idle_period_start = 104116, handler_start = 104206, busy_time = 20, time_till_next = 4294967295, task_interrupter = <optimized out>, next = <optimized out>, end_flag = true, idle_period_time = <optimized out>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c488 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c488
Loading section .relocate, size 0xa04 lma 0x2c490
Start address 0x00000000, load size 183956
Transfer rate: 56 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00f00000 r10 0x2000359c msp 0x200117d0
r3 0x00000a8d r11 0x20005750 psp 0xfdff277c
r4 0x1ffffffd r12 0x0000000c primask 0x00
r5 0x00000000 sp 0x200117d0 basepri 0x00
r6 0x20003734 lr 0x00000a5d faultmask 0x00
r7 0x0000fbd9 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
_lv_ll_ins_head (ll_p=0x0 <io_read>) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:84
84 node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/
### Assembly ###################################################################
0x0000e8dc _lv_ll_ins_head+16 ldr r0, [r0, #8]
0x0000e8de _lv_ll_ins_head+18 bx lr
0x0000e8e0 _lv_ll_ins_head+20 push {r0, r1, r2, lr}
0x0000e8e2 _lv_ll_ins_head+22 movs r3, #0
0x0000e8e4 _lv_ll_ins_head+24 str r3, [sp, #4]
0x0000e8e6 _lv_ll_ins_head+26 cbz r0, 0xe8f4 <_lv_ll_ins_head+40>
0x0000e8e8 _lv_ll_ins_head+28 ldr r3, [r0, #0]
0x0000e8ea _lv_ll_ins_head+30 adds r3, #4
0x0000e8ec _lv_ll_ins_head+32 add r1, r3
0x0000e8ee _lv_ll_ins_head+34 add r0, sp, #4
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x2000359c r8 0x0000dc75 xpsr 0x61010000
r1 0x20003fd4 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00000000 r10 0x2000359c msp 0x20011790
r3 0x00000000 r11 0x20005750 psp 0xfdff277c
r4 0x00000000 r12 0x00000004 primask 0x00
r5 0x2000360c sp 0x20011790 basepri 0x00
r6 0x20003734 lr 0x0000fc87 faultmask 0x00
r7 0x0000fbd9 pc 0x0000e8e6 control 0x04
### Source #####################################################################
74 * @return pointer to the new head
75 */
76 void * _lv_ll_ins_head(lv_ll_t * ll_p)
77 {
78 lv_ll_node_t * n_new;
79
80 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE);
81
82 if(n_new != NULL) {
83 node_set_prev(ll_p, n_new, NULL); /*No prev. before the new head*/
84 node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/
85
86 if(ll_p->head != NULL) { /*If there is old head then before it goes the new*/
87 node_set_prev(ll_p, ll_p->head, n_new);
88 }
89
90 ll_p->head = n_new; /*Set the new head in the dsc.*/
91 if(ll_p->tail == NULL) { /*If there is no tail (1. node) set the tail too*/
92 ll_p->tail = n_new;
93 }
### Stack ######################################################################
[0] from 0x0000e8e6 in _lv_ll_ins_head+26 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:84
[1] from 0x0000fc86 in lv_task_exec+4 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:402
[2] from 0x0000fc86 in lv_task_exec+38 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:390
[3] from 0x20003734 in _lv_draw_mask_list
### Threads ####################################################################
[1] id 0 from 0x0000e8e6 in _lv_ll_ins_head+26 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:84
### Variables ##################################################################
arg ll_p = 0x0 <io_read>: {n_size = 536942552,head = 0x9fd <Reset_Handler> "I\031H\201B\020\265\n\320\…
loc n_new = 0x2000360c <_lv_anim_ll> "\324?": 212 '\324'
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c590 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c590
Loading section .relocate, size 0xa04 lma 0x2c598
Start address 0x00000000, load size 184220
Transfer rate: 57 KB/sec, 969 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c598 r8 0x0000dc75 xpsr 0x61000000
r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000
r2 0x00f00000 r10 0x2000359c msp 0x20011800
r3 0x00000a8d r11 0x20005750 psp 0xfdff277c
r4 0x1ffffffd r12 0x00000004 primask 0x00
r5 0x00000000 sp 0x20011800 basepri 0x00
r6 0x20003734 lr 0x00000a5d faultmask 0x00
r7 0x0000fbd9 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
0x0000dd10 in lv_anim_path_linear (path=<optimized out>, a=0x0 <io_read>) at ../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c:246
246 }
### Assembly ###################################################################
0x0000dd06 lv_anim_path_linear+22 cmp r2, #0
0x0000dd08 lv_anim_path_linear+24 beq.n 0xdd02 <lv_anim_path_linear+18>
0x0000dd0a lv_anim_path_linear+26 bx lr
0x0000dd0c lv_anim_path_linear+28 adds r5, #188 ; 0xbc
0x0000dd0e lv_anim_path_linear+30 movs r0, #0
0x0000dd10 lv_anim_path_linear+32 push {r4, lr}
0x0000dd12 lv_anim_path_linear+34 ldr r3, [pc, #8] ; (0xdd1c <anim_mark_list_change+8>)
~
~
~
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x000380a0 r8 0x0000dcfd xpsr 0x61010000
r1 0x00000000 r9 0x0000e95d fpscr 0x00000000
r2 0x00000028 r10 0x200035d0 msp 0x200117d0
r3 0x200117c8 r11 0x20005784 psp 0xfdff277c
r4 0x0000dd11 r12 0x00000004 primask 0x00
r5 0x20003640 sp 0x200117d0 basepri 0x00
r6 0x20003768 lr 0x0000fd35 faultmask 0x00
r7 0x0000fc61 pc 0x0000dd10 control 0x04
### Source #####################################################################
236 }
237
238 /* Get the new value which will be proportional to `step`
239 * and the `start` and `end` values*/
240 int32_t new_value;
241 new_value = (int32_t)step * (a->end - a->start);
242 new_value = new_value >> LV_ANIM_RES_SHIFT;
243 new_value += a->start;
244
245 return (lv_anim_value_t)new_value;
246 }
247
248 /**
249 * Calculate the current value of an animation slowing down the start phase
250 * @param a pointer to an animation
251 * @return the current value to set
252 */
253 lv_anim_value_t lv_anim_path_ease_in(const lv_anim_path_t * path, const lv_anim_t * a)
254 {
255 LV_UNUSED(path);
### Stack ######################################################################
[0] from 0x0000dd10 in lv_anim_path_linear+32 at ../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c:246
[1] from 0x0000fd34 in lv_task_handler+168 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:173
[2] from 0x000016d8 in p_screen_service+4 at ../shared/devices/p_screen.c:43
[3] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[4] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000dd10 in lv_anim_path_linear+32 at ../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c:246
### Variables ##################################################################
arg path = <optimized out>, a = 0x0 <io_read>: {var = 0x20011808,exec_cb = 0x9fd <Reset_Handler>,start_cb = 0x9f9 <Dummy_Ha…
loc step = <optimized out>, new_value = 229536
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c590 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c590
Loading section .relocate, size 0xa04 lma 0x2c598
Start address 0x00000000, load size 184220
Transfer rate: 57 KB/sec, 969 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c598 r8 0x0000dcfd xpsr 0x61000000
r1 0x00000000 r9 0x0000e95d fpscr 0x00000000
r2 0x00f00000 r10 0x200035d0 msp 0x20011800
r3 0x00000a8d r11 0x20005784 psp 0xfdff277c
r4 0x1ffffffd r12 0x00000004 primask 0x00
r5 0x00000000 sp 0x20011800 basepri 0x00
r6 0x20003768 lr 0x00000a5d faultmask 0x00
r7 0x0000fc61 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:104
104 while(LV_GC_ROOT(_lv_task_act)) {
### Assembly ###################################################################
0x0000fcc8 lv_task_handler+60 strb.w r2, [r11, #2]
0x0000fccc lv_task_handler+64 blx r9
0x0000fcce lv_task_handler+66 ldr r5, [pc, #268] ; (0xfddc <lv_task_handler+336>)
0x0000fcd0 lv_task_handler+68 ldr r7, [pc, #268] ; (0xfde0 <lv_task_handler+340>)
0x0000fcd2 lv_task_handler+70 str r0, [r5, #0]
0x0000fcd4 lv_task_handler+72 ldr r1, [r5, #0]
0x0000fcd6 lv_task_handler+74 cbz r1, 0xfcfc <lv_task_handler+112>
0x0000fcd8 lv_task_handler+76 ldr r3, [pc, #264] ; (0xfde4 <lv_task_handler+344>)
0x0000fcda lv_task_handler+78 mov r0, r10
0x0000fcdc lv_task_handler+80 blx r3
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x20004008 r8 0x0000dccd xpsr 0x61010000
r1 0x00000001 r9 0x0000e92d fpscr 0x00000000
r2 0x00000000 r10 0x200035d0 msp 0x200117d0
r3 0x200035bc r11 0x20005784 psp 0xfdff277c
r4 0x00000000 r12 0x00000004 primask 0x00
r5 0x20003640 sp 0x200117d0 basepri 0x00
r6 0x20003768 lr 0x0000fccf faultmask 0x00
r7 0x0000fc31 pc 0x0000fcd4 control 0x04
### Source #####################################################################
94 * If a lower priority task is executed check task again from the highest priority
95 * but on the priority of executed tasks don't run tasks before the executed*/
96 lv_task_t * task_interrupter = NULL;
97 lv_task_t * next;
98 bool end_flag;
99 do {
100 end_flag = true;
101 task_deleted = false;
102 task_created = false;
103 LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll));
104 while(LV_GC_ROOT(_lv_task_act)) {
105 /* The task might be deleted if it runs only once ('once = 1')
106 * So get next element until the current is surely valid*/
107 next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act));
108
109 /*We reach priority of the turned off task. There is nothing more to do.*/
110 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_OFF) {
111 break;
112 }
113
### Stack ######################################################################
[0] from 0x0000fcd4 in lv_task_handler+72 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:104
[1] from 0x000016d8 in p_screen_service+4 at ../shared/devices/p_screen.c:43
[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35
[3] from 0x00000a96 in main+10 at ../main.c:10
### Threads ####################################################################
[1] id 0 from 0x0000fcd4 in lv_task_handler+72 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:104
### Variables ##################################################################
loc already_running = true, idle_period_start = 43067, handler_start = 43169, busy_time = 30, time_till_next = 4294967295, task_interrupter = 0x0 <io_read>: {period = 536942600,last_run = 2557,task_cb = 0x9f9 <Dummy_Handler>,user_dat…, next = <optimized out>, end_flag = true, idle_period_time = <optimized out>
################################################################################
Breakpoint 1 at 0xa8c: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2c590 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2c590
Loading section .relocate, size 0xa04 lma 0x2c598
Start address 0x00000000, load size 184220
Transfer rate: 57 KB/sec, 969 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000a8c main+0 push {r3, lr}
0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 <main+12>)
0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c <main+16>)
0x00000a92 main+6 blx r3
0x00000a94 main+8 blx r4
### Breakpoints ################################################################
[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002c598 r8 0x0000dccd xpsr 0x61000000
r1 0x00000000 r9 0x0000e92d fpscr 0x00000000
r2 0x00f00000 r10 0x200035d0 msp 0x20011800
r3 0x00000a8d r11 0x20005784 psp 0xfdff277c
r4 0x1ffffffd r12 0x00000004 primask 0x00
r5 0x00000000 sp 0x20011800 basepri 0x00
r6 0x20003768 lr 0x00000a5d faultmask 0x00
r7 0x0000fc31 pc 0x00000a8c control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3
4
5 int main(void)
6 {
! 7 oracle_init();
8 for(;;)
9 {
10 oracle_service();
11 }
12 }
~
~
~
~
### Stack ######################################################################
[0] from 0x00000a8c in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000a8c in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
../scripts/push.gdb:6: Error in sourced command file:
Attaching to Remote target failed
quit
0x0000ef92 in _lv_ll_get_next (ll_p=ll_p@entry=0x200035f0 <_lv_task_ll>, n_act=0x20004028 <work_mem_int+2212>) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302
302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *));
### Assembly ###################################################################
0x0000ef88 _lv_ll_get_next+0 push {r0, r1, r2, lr}
0x0000ef8a _lv_ll_get_next+2 movs r3, #0
0x0000ef8c _lv_ll_get_next+4 str r3, [sp, #4]
0x0000ef8e _lv_ll_get_next+6 cbz r0, 0xef9c <_lv_ll_get_next+20>
0x0000ef90 _lv_ll_get_next+8 ldr r3, [r0, #0]
0x0000ef92 _lv_ll_get_next+10 adds r3, #4
0x0000ef94 _lv_ll_get_next+12 add r1, r3
0x0000ef96 _lv_ll_get_next+14 add r0, sp, #4
0x0000ef98 _lv_ll_get_next+16 ldr r3, [pc, #8] ; (0xefa4 <_lv_ll_get_next+28>)
0x0000ef9a _lv_ll_get_next+18 blx r3
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x200035f0 r8 0x0000e31d xpsr 0x61010000
r1 0x20004028 r9 0x0000ef7d fpscr 0x00000000
r2 0x00000000 r10 0x200035f0 msp 0x200117e0
r3 0x00000018 r11 0x200057a4 psp 0xfdff277c
r4 0x00000000 r12 0x00000004 primask 0x00
r5 0x20003660 sp 0x200117e0 basepri 0x00
r6 0x200035f0 lr 0x0001032f faultmask 0x00
r7 0x00010281 pc 0x0000ef92 control 0x04
### Source #####################################################################
292 * @param ll_p pointer to linked list
293 * @param n_act pointer a node
294 * @return pointer to the next node
295 */
296 void * _lv_ll_get_next(const lv_ll_t * ll_p, const void * n_act)
297 {
298 void * next = NULL;
299
300 if(ll_p != NULL) {
301 const lv_ll_node_t * n_act_d = n_act;
302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *));
303 }
304
305 return next;
306 }
307
308 /**
309 * Return with the pointer of the previous node after 'n_act'
310 * @param ll_p pointer to linked list
311 * @param n_act pointer a node
### Stack ######################################################################
[0] from 0x0000ef92 in _lv_ll_get_next+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302
[1] from 0x0001032e in lv_task_handler+82 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:107
[2] from 0x00001d28 in p_screen_service+4 at ../shared/devices/p_screen.c:43
[3] from 0x00000fec in oracle_service+4 at ../oracle.c:35
[4] from 0x00000fa2 in main+14 at ../main.c:12
### Threads ####################################################################
[1] id -1 from 0x0000ef92 in _lv_ll_get_next+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302
### Variables ##################################################################
arg ll_p = 0x200035f0 <_lv_task_ll>: {n_size = 24,head = 0x20004028 <work_mem_int+2212> "\036",tail = …, n_act = 0x20004028 <work_mem_int+2212>
loc n_act_d = 0x20004028 <work_mem_int+2212> "\036": 30 '\036', next = 0x0 <io_read>
################################################################################
A program is being debugged already. Kill it? (y or n) [answered Y; input not from terminal]
0x000175ea in memset ()
### Assembly ###################################################################
0x000175ea ? strd r5, r5, [r2, #-8]
0x000175ee ? adds r2, #16
0x000175f0 ? cmp r2, lr
0x000175f2 ? bne.n 0x175e6 <memset+70>
0x000175f4 ? add.w r2, r12, #1
0x000175f8 ? tst.w r4, #12
0x000175fc ? add.w r2, r3, r2, lsl #4
0x00017600 ? and.w r12, r4, #15
0x00017604 ? beq.n 0x1762e <memset+142>
0x00017606 ? sub.w r3, r12, #4
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x20000a04 r8 0x0000e31d xpsr 0x81000000
r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000
r2 0x200027e4 r10 0x200035f0 msp 0x20011814
r3 0x20000a04 r11 0x200057a4 psp 0xfdff277c
r4 0x00004e24 r12 0x000004e1 primask 0x00
r5 0x00000000 sp 0x20011814 basepri 0x00
r6 0x200035f0 lr 0x20005834 faultmask 0x00
r7 0x00010281 pc 0x000175ea control 0x00
### Source #####################################################################
### Stack ######################################################################
[0] from 0x000175ea in memset
[1] from 0x00000f3e in Reset_Handler+58 at ../gcc/gcc/startup_same54.c:646
[2] from 0xfffffffe
### Threads ####################################################################
[1] id 0 from 0x000175ea in memset
### Variables ##################################################################
################################################################################
Breakpoint 1 at 0xf94: file ../main.c, line 8.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x2cc00 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x2cc00
Loading section .relocate, size 0xa04 lma 0x2cc08
Start address 0x00000000, load size 185868
Transfer rate: 56 KB/sec, 968 bytes/write.
[H [J [3J### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:8
8 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000f94 main+0 push {r3, lr}
0x00000f96 main+2 ldr r3, [pc, #12] ; (0xfa4 <main+16>)
0x00000f98 main+4 ldr r4, [pc, #12] ; (0xfa8 <main+20>)
0x00000f9a main+6 blx r3
0x00000f9c main+8 ldr r3, [pc, #12] ; (0xfac <main+24>)
### Breakpoints ################################################################
[1] break at 0x00000f94 in ../main.c:8 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x0002cc08 r8 0x0000e31d xpsr 0x61000000
r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000
r2 0x00f00000 r10 0x200035f0 msp 0x20011820
r3 0x00000f95 r11 0x200057a4 psp 0xfdff277c
r4 0x1ffffffd r12 0x00000004 primask 0x00
r5 0x00000000 sp 0x20011820 basepri 0x00
r6 0x200035f0 lr 0x00000f65 faultmask 0x00
r7 0x00010281 pc 0x00000f94 control 0x00
### Source #####################################################################
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3 #include "p_i2c.h"
4
5
6 int main(void)
7 {
! 8 oracle_init();
9 p_i2c_detect();
10 for(;;)
11 {
12 oracle_service();
13 }
14 }
~
~
~
### Stack ######################################################################
[0] from 0x00000f94 in main+0 at ../main.c:8
### Threads ####################################################################
[1] id -1 from 0x00000f94 in main+0 at ../main.c:8
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]