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