|
|
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]
|