|
|
0x00000000 in exception_table ()
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00000000 ? ldmia r0!, {}
|
|
|
0x00000002 ? movs r0, #1
|
|
|
0x00000004 ? asrs r1, r6, #32
|
|
|
0x00000006 ? movs r0, r0
|
|
|
0x00000008 ? asrs r5, r5, #32
|
|
|
0x0000000a ? movs r0, r0
|
|
|
0x0000000c ? asrs r5, r5, #32
|
|
|
0x0000000e ? movs r0, r0
|
|
|
0x00000010 ? asrs r5, r5, #32
|
|
|
0x00000012 ? movs r0, r0
|
|
|
### Breakpoints #####################################################################################################
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0002180b r5 0x00011065 r10 0xfffdfdff pc 0x00000000 primask 0x00
|
|
|
r1 0x00000001 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x01000000 basepri 0x00
|
|
|
r2 0x20008e4c r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x20008570 r8 0x2000c67c sp 0x2001c800 msp 0x2001c800 control 0x00
|
|
|
r4 0x0002180b r9 0x00011fb1 lr 0xffffffff psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00000000 in exception_table
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00000000 in exception_table
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
target halted due to debug-request, current mode: Thread
|
|
|
xPSR: 0x01000000 pc: 0x00001030 msp: 0x2001c800
|
|
|
Loading section .text, size 0x29a28 lma 0x0
|
|
|
Loading section .ARM.exidx, size 0x8 lma 0x29a28
|
|
|
Loading section .relocate, size 0x74 lma 0x29a30
|
|
|
Start address 0x00000000, load size 170660
|
|
|
Transfer rate: 46 KB/sec, 13127 bytes/write.
|
|
|
Breakpoint 1 at 0x2252: file .././main.c, line 6.
|
|
|
Note: automatically using hardware breakpoints for read-only addresses.
|
|
|
Starting program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
|
|
|
Breakpoint 1, main () at .././main.c:6
|
|
|
warning: Source file is more recent than executable.
|
|
|
6 oracle_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002250 main+0 push {r3, lr}
|
|
|
!0x00002252 main+2 ldr r3, [pc, #8] ; (0x225c <main+12>)
|
|
|
0x00002254 main+4 blx r3
|
|
|
0x00002256 main+6 ldr r4, [pc, #8] ; (0x2260 <main+16>)
|
|
|
0x00002258 main+8 blx r4
|
|
|
0x0000225a main+10 b.n 0x2258 <main+8>
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x00011065 r10 0xfffdfdff pc 0x00002252 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002251 r8 0x2000c67c sp 0x2001c7f0 msp 0x2001c7f0 control 0x00
|
|
|
r4 0x0002180b r9 0x00011fb1 lr 0x000010a1 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
1 #include "oracle.h"
|
|
|
2
|
|
|
3
|
|
|
4 int main(void)
|
|
|
5 {
|
|
|
! 6 oracle_init();
|
|
|
7
|
|
|
8 for(;;)
|
|
|
9 {
|
|
|
10 oracle_service();
|
|
|
11 }
|
|
|
12 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
oracle_init () at .././oracle.c:20
|
|
|
warning: Source file is more recent than executable.
|
|
|
20 init_mcu();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x00011065 r10 0xfffdfdff pc 0x00002266 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002265 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x0002180b r9 0x00011fb1 lr 0x00002257 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
10 #include "p_i2c.h"
|
|
|
11 #include "p_tcc.h"
|
|
|
12 #include "lvgl/lvgl.h"
|
|
|
13 #include "p_ssd1963.h"
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
Continuing.
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
|
|
|
Program received signal SIGINT, Interrupt.
|
|
|
lv_task_handler () at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
warning: Source file is more recent than executable.
|
|
|
78 if(already_running) return 1;
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x000137c0 lv_task_handler+0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
|
0x000137c4 lv_task_handler+4 ldr r3, [pc, #352] ; (0x13928 <lv_task_handler+360>)
|
|
|
0x000137c6 lv_task_handler+6 ldrb r3, [r3, #4]
|
|
|
0x000137c8 lv_task_handler+8 cmp r3, #0
|
|
|
0x000137ca lv_task_handler+10 bne.w 0x13920 <lv_task_handler+352>
|
|
|
0x000137ce lv_task_handler+14 ldr r3, [pc, #344] ; (0x13928 <lv_task_handler+360>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0xffffffff r5 0x00011065 r10 0xfffdfdff pc 0x000137c4 primask 0x00
|
|
|
r1 0x20008590 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x000137c1 r8 0x2000c67c sp 0x2001c7c0 msp 0x2001c7c0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00001027 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
68 * @return the time after which it must be called again
|
|
|
69 */
|
|
|
70 LV_ATTRIBUTE_TASK_HANDLER uint32_t lv_task_handler(void)
|
|
|
71 {
|
|
|
72
|
|
|
73
|
|
|
74 LV_LOG_TRACE("lv_task_handler started");
|
|
|
75
|
|
|
76 /*Avoid concurrent running of the task handler*/
|
|
|
77 static bool already_running = false;
|
|
|
78 if(already_running) return 1;
|
|
|
79 already_running = true;
|
|
|
80
|
|
|
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*/
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000137c4 in lv_task_handler+4 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
[1] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[2] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[3] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000137c4 in lv_task_handler+4 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
### Variables #######################################################################################################
|
|
|
loc already_running = false, idle_period_start = 66000, handler_start = 66088, busy_time = 31, time_till_next = 4294967295, task_interrupter = <optimized out>, next = <optimized out>, end_flag = <optimized out>, idle_period_time = <optimized out>
|
|
|
#####################################################################################################################
|
|
|
Quit
|
|
|
Detaching from program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf, Remote target
|
|
|
[Inferior 1 (Remote target) detached]
|
|
|
lv_task_handler () at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
warning: Source file is more recent than executable.
|
|
|
78 if(already_running) return 1;
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x000137c0 lv_task_handler+0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
|
0x000137c4 lv_task_handler+4 ldr r3, [pc, #352] ; (0x13928 <lv_task_handler+360>)
|
|
|
0x000137c6 lv_task_handler+6 ldrb r3, [r3, #4]
|
|
|
0x000137c8 lv_task_handler+8 cmp r3, #0
|
|
|
0x000137ca lv_task_handler+10 bne.w 0x13920 <lv_task_handler+352>
|
|
|
0x000137ce lv_task_handler+14 ldr r3, [pc, #344] ; (0x13928 <lv_task_handler+360>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0xffffffff r5 0x00011065 r10 0xfffdfdff pc 0x000137c4 primask 0x00
|
|
|
r1 0x20008590 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x000137c1 r8 0x2000c67c sp 0x2001c7c0 msp 0x2001c7c0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00001027 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
68 * @return the time after which it must be called again
|
|
|
69 */
|
|
|
70 LV_ATTRIBUTE_TASK_HANDLER uint32_t lv_task_handler(void)
|
|
|
71 {
|
|
|
72
|
|
|
73
|
|
|
74 LV_LOG_TRACE("lv_task_handler started");
|
|
|
75
|
|
|
76 /*Avoid concurrent running of the task handler*/
|
|
|
77 static bool already_running = false;
|
|
|
78 if(already_running) return 1;
|
|
|
79 already_running = true;
|
|
|
80
|
|
|
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*/
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000137c4 in lv_task_handler+4 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
[1] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[2] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[3] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000137c4 in lv_task_handler+4 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
### Variables #######################################################################################################
|
|
|
loc already_running = false, idle_period_start = 66000, handler_start = 66088, busy_time = 31, time_till_next = 4294967295, task_interrupter = <optimized out>, next = <optimized out>, end_flag = <optimized out>, idle_period_time = <optimized out>
|
|
|
#####################################################################################################################
|
|
|
target halted due to debug-request, current mode: Thread
|
|
|
xPSR: 0x01000000 pc: 0x00001030 msp: 0x2001c800
|
|
|
Loading section .text, size 0x29a28 lma 0x0
|
|
|
Loading section .ARM.exidx, size 0x8 lma 0x29a28
|
|
|
Loading section .relocate, size 0x74 lma 0x29a30
|
|
|
Start address 0x00000000, load size 170660
|
|
|
Transfer rate: 46 KB/sec, 13127 bytes/write.
|
|
|
Function "main]" not defined.
|
|
|
Quit
|
|
|
Breakpoint 1 at 0x2252: file .././main.c, line 6.
|
|
|
Note: automatically using hardware breakpoints for read-only addresses.
|
|
|
Starting program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
|
|
|
Breakpoint 1, main () at .././main.c:6
|
|
|
warning: Source file is more recent than executable.
|
|
|
6 oracle_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002250 main+0 push {r3, lr}
|
|
|
!0x00002252 main+2 ldr r3, [pc, #8] ; (0x225c <main+12>)
|
|
|
0x00002254 main+4 blx r3
|
|
|
0x00002256 main+6 ldr r4, [pc, #8] ; (0x2260 <main+16>)
|
|
|
0x00002258 main+8 blx r4
|
|
|
0x0000225a main+10 b.n 0x2258 <main+8>
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x00011065 r10 0xfffdfdff pc 0x00002252 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002251 r8 0x2000c67c sp 0x2001c7f0 msp 0x2001c7f0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x000010a1 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
1 #include "oracle.h"
|
|
|
2
|
|
|
3
|
|
|
4 int main(void)
|
|
|
5 {
|
|
|
! 6 oracle_init();
|
|
|
7
|
|
|
8 for(;;)
|
|
|
9 {
|
|
|
10 oracle_service();
|
|
|
11 }
|
|
|
12 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
oracle_init () at .././oracle.c:20
|
|
|
warning: Source file is more recent than executable.
|
|
|
20 init_mcu();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x00011065 r10 0xfffdfdff pc 0x00002266 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002265 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00002257 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
10 #include "p_i2c.h"
|
|
|
11 #include "p_tcc.h"
|
|
|
12 #include "lvgl/lvgl.h"
|
|
|
13 #include "p_ssd1963.h"
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
22 p_usart_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000fff r5 0x00011065 r10 0xfffdfdff pc 0x0000226a primask 0x00
|
|
|
r1 0x40001c00 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00003ffd r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00001c39 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00001c5f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
12 #include "lvgl/lvgl.h"
|
|
|
13 #include "p_ssd1963.h"
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000226a in oracle_init+6 at .././oracle.c:22
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000226a in oracle_init+6 at .././oracle.c:22
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
24 p_i2c_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0000000c r5 0x00011065 r10 0xfffdfdff pc 0x0000226e primask 0x00
|
|
|
r1 0x00023ae0 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x00000001 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x41012000 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000188d psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000226e in oracle_init+10 at .././oracle.c:24
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000226e in oracle_init+10 at .././oracle.c:24
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
26 p_gpio_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
0x00002278 oracle_init+20 blx r3
|
|
|
0x0000227a oracle_init+22 ldr r3, [pc, #24] ; (0x2294 <oracle_init+48>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0000000c r5 0x00011065 r10 0xfffdfdff pc 0x00002272 primask 0x00
|
|
|
r1 0x00023ae0 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x00000001 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00001425 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00002273 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
34 {
|
|
|
35 p_screen_service();
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002272 in oracle_init+14 at .././oracle.c:26
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002272 in oracle_init+14 at .././oracle.c:26
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
28 p_tcc_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
0x00002278 oracle_init+20 blx r3
|
|
|
0x0000227a oracle_init+22 ldr r3, [pc, #24] ; (0x2294 <oracle_init+48>)
|
|
|
0x0000227c oracle_init+24 blx r3
|
|
|
0x0000227e oracle_init+26 pop {r3, pc}
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000080 r5 0x00011065 r10 0xfffdfdff pc 0x00002276 primask 0x00
|
|
|
r1 0x00000006 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x01000000 basepri 0x00
|
|
|
r2 0x00000006 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x41008000 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000130f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
34 {
|
|
|
35 p_screen_service();
|
|
|
36 }
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002276 in oracle_init+18 at .././oracle.c:28
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002276 in oracle_init+18 at .././oracle.c:28
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
30 p_screen_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
0x00002278 oracle_init+20 blx r3
|
|
|
0x0000227a oracle_init+22 ldr r3, [pc, #24] ; (0x2294 <oracle_init+48>)
|
|
|
0x0000227c oracle_init+24 blx r3
|
|
|
0x0000227e oracle_init+26 pop {r3, pc}
|
|
|
0x00002280 oracle_init+28 adds r1, r7, #0
|
|
|
0x00002282 oracle_init+30 movs r0, r0
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000000 r5 0x00011065 r10 0xfffdfdff pc 0x0000227a primask 0x00
|
|
|
r1 0x00023ac8 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x40003800 r7 0x20008590 r12 0x2000c614 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00000000 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00001745 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
34 {
|
|
|
35 p_screen_service();
|
|
|
36 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000227a in oracle_init+22 at .././oracle.c:30
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000227a in oracle_init+22 at .././oracle.c:30
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
main () at .././main.c:10
|
|
|
10 oracle_service();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
0x00002250 main+0 push {r3, lr}
|
|
|
!0x00002252 main+2 ldr r3, [pc, #8] ; (0x225c <main+12>)
|
|
|
0x00002254 main+4 blx r3
|
|
|
0x00002256 main+6 ldr r4, [pc, #8] ; (0x2260 <main+16>)
|
|
|
0x00002258 main+8 blx r4
|
|
|
0x0000225a main+10 b.n 0x2258 <main+8>
|
|
|
0x0000225c main+12 movs r2, #101 ; 0x65
|
|
|
0x0000225e main+14 movs r0, r0
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000001 r5 0x00011065 r10 0xfffdfdff pc 0x00002256 primask 0x00
|
|
|
r1 0x20008fe8 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x81000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002265 r8 0x2000c67c sp 0x2001c7f0 msp 0x2001c7f0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00005eb5 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
~
|
|
|
1 #include "oracle.h"
|
|
|
2
|
|
|
3
|
|
|
4 int main(void)
|
|
|
5 {
|
|
|
! 6 oracle_init();
|
|
|
7
|
|
|
8 for(;;)
|
|
|
9 {
|
|
|
10 oracle_service();
|
|
|
11 }
|
|
|
12 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002256 in main+6 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002256 in main+6 at .././main.c:10
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
Continuing.
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
|
|
|
Program received signal SIGINT, Interrupt.
|
|
|
0x0001104e in lv_tick_get () at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:61
|
|
|
warning: Source file is more recent than executable.
|
|
|
61 tick_irq_flag = 1;
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x0001104c lv_tick_get+0 ldr r3, [pc, #16] ; (0x11060 <lv_tick_get+20>)
|
|
|
0x0001104e lv_tick_get+2 mov.w r1, #1
|
|
|
0x00011052 lv_tick_get+6 strb r1, [r3, #0]
|
|
|
0x00011054 lv_tick_get+8 ldrb r2, [r3, #0]
|
|
|
0x00011056 lv_tick_get+10 cmp r2, #0
|
|
|
0x00011058 lv_tick_get+12 beq.n 0x11052 <lv_tick_get+6>
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0000a604 r5 0x00011065 r10 0xfffdfdff pc 0x0001104e primask 0x00
|
|
|
r1 0x00000001 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00000001 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x20008570 r8 0x2000c67c sp 0x2001c7b8 msp 0x2001c7b8 control 0x00
|
|
|
r4 0x0000a604 r9 0x00011fb1 lr 0x0001106d psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
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;
|
|
|
67 #else
|
|
|
68 return LV_TICK_CUSTOM_SYS_TIME_EXPR;
|
|
|
69 #endif
|
|
|
70 }
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0001104e in lv_tick_get+2 at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:61
|
|
|
[1] from 0x0001106c in lv_tick_elaps+8 at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:79
|
|
|
[2] from 0x0001386a in lv_task_handler+170 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:169
|
|
|
[3] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[4] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[5] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0001104e in lv_tick_get+2 at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:61
|
|
|
### Variables #######################################################################################################
|
|
|
loc result = 42559
|
|
|
#####################################################################################################################
|
|
|
Detaching from program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf, Remote target
|
|
|
[Inferior 1 (Remote target) detached]
|
|
|
0x0001104e in lv_tick_get () at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:61
|
|
|
warning: Source file is more recent than executable.
|
|
|
61 tick_irq_flag = 1;
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x0001104c lv_tick_get+0 ldr r3, [pc, #16] ; (0x11060 <lv_tick_get+20>)
|
|
|
0x0001104e lv_tick_get+2 mov.w r1, #1
|
|
|
0x00011052 lv_tick_get+6 strb r1, [r3, #0]
|
|
|
0x00011054 lv_tick_get+8 ldrb r2, [r3, #0]
|
|
|
0x00011056 lv_tick_get+10 cmp r2, #0
|
|
|
0x00011058 lv_tick_get+12 beq.n 0x11052 <lv_tick_get+6>
|
|
|
### Breakpoints #####################################################################################################
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0000a604 r5 0x00011065 r10 0xfffdfdff pc 0x0001104e primask 0x00
|
|
|
r1 0x00000001 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00000001 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x20008570 r8 0x2000c67c sp 0x2001c7b8 msp 0x2001c7b8 control 0x00
|
|
|
r4 0x0000a604 r9 0x00011fb1 lr 0x0001106d psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
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;
|
|
|
67 #else
|
|
|
68 return LV_TICK_CUSTOM_SYS_TIME_EXPR;
|
|
|
69 #endif
|
|
|
70 }
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0001104e in lv_tick_get+2 at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:61
|
|
|
[1] from 0x0001106c in lv_tick_elaps+8 at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:79
|
|
|
[2] from 0x0001386a in lv_task_handler+170 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:169
|
|
|
[3] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[4] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[5] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0001104e in lv_tick_get+2 at ../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:61
|
|
|
### Variables #######################################################################################################
|
|
|
loc result = 42559
|
|
|
#####################################################################################################################
|
|
|
Loading section .text, size 0x29a28 lma 0x0
|
|
|
Loading section .ARM.exidx, size 0x8 lma 0x29a28
|
|
|
Loading section .relocate, size 0x74 lma 0x29a30
|
|
|
Start address 0x00000000, load size 170660
|
|
|
Transfer rate: 46 KB/sec, 13127 bytes/write.
|
|
|
A debugging session is active.
|
|
|
|
|
|
Inferior 1 [Remote target] will be detached.
|
|
|
|
|
|
Quit anyway? (y or n) [answered Y; input not from terminal]
|
|
|
[Inferior 1 (Remote target) detached]
|
|
|
lv_task_handler () at ../thirdparty/lvgl/src/lv_misc/lv_task.c:71
|
|
|
warning: Source file is more recent than executable.
|
|
|
71 {
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x000137c0 lv_task_handler+0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
|
0x000137c4 lv_task_handler+4 ldr r3, [pc, #352] ; (0x13928 <lv_task_handler+360>)
|
|
|
0x000137c6 lv_task_handler+6 ldrb r3, [r3, #4]
|
|
|
0x000137c8 lv_task_handler+8 cmp r3, #0
|
|
|
0x000137ca lv_task_handler+10 bne.w 0x13920 <lv_task_handler+352>
|
|
|
### Breakpoints #####################################################################################################
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0xffffffff r5 0x00011065 r10 0xfffdfdff pc 0x000137c0 primask 0x00
|
|
|
r1 0x20008590 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x000137c1 r8 0x2000c67c sp 0x2001c7e0 msp 0x2001c7e0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00001027 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
61 task_list_changed = false;
|
|
|
62 /*Initially enable the lv_task handling*/
|
|
|
63 lv_task_enable(true);
|
|
|
64 }
|
|
|
65
|
|
|
66 /**
|
|
|
67 * Call it periodically to handle lv_tasks.
|
|
|
68 * @return the time after which it must be called again
|
|
|
69 */
|
|
|
70 LV_ATTRIBUTE_TASK_HANDLER uint32_t lv_task_handler(void)
|
|
|
71 {
|
|
|
72
|
|
|
73
|
|
|
74 LV_LOG_TRACE("lv_task_handler started");
|
|
|
75
|
|
|
76 /*Avoid concurrent running of the task handler*/
|
|
|
77 static bool already_running = false;
|
|
|
78 if(already_running) return 1;
|
|
|
79 already_running = true;
|
|
|
80
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000137c0 in lv_task_handler+0 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:71
|
|
|
[1] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[2] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[3] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000137c0 in lv_task_handler+0 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:71
|
|
|
### Variables #######################################################################################################
|
|
|
loc already_running = false, idle_period_start = 111000, handler_start = 111482, busy_time = 169, time_till_next = 4294967295, task_interrupter = <optimized out>, next = <optimized out>, end_flag = <optimized out>, idle_period_time = <optimized out>
|
|
|
#####################################################################################################################
|
|
|
target halted due to debug-request, current mode: Thread
|
|
|
xPSR: 0x01000000 pc: 0x00001030 msp: 0x2001c800
|
|
|
Loading section .text, size 0x29a28 lma 0x0
|
|
|
Loading section .ARM.exidx, size 0x8 lma 0x29a28
|
|
|
Loading section .relocate, size 0x74 lma 0x29a30
|
|
|
Start address 0x00000000, load size 170660
|
|
|
Transfer rate: 46 KB/sec, 13127 bytes/write.
|
|
|
Breakpoint 1 at 0x2252: file .././main.c, line 6.
|
|
|
Note: automatically using hardware breakpoints for read-only addresses.
|
|
|
Starting program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
|
|
|
Breakpoint 1, main () at .././main.c:6
|
|
|
warning: Source file is more recent than executable.
|
|
|
6 oracle_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002250 main+0 push {r3, lr}
|
|
|
!0x00002252 main+2 ldr r3, [pc, #8] ; (0x225c <main+12>)
|
|
|
0x00002254 main+4 blx r3
|
|
|
0x00002256 main+6 ldr r4, [pc, #8] ; (0x2260 <main+16>)
|
|
|
0x00002258 main+8 blx r4
|
|
|
0x0000225a main+10 b.n 0x2258 <main+8>
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x00011065 r10 0xfffdfdff pc 0x00002252 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002251 r8 0x2000c67c sp 0x2001c7f0 msp 0x2001c7f0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x000010a1 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
1 #include "oracle.h"
|
|
|
2
|
|
|
3
|
|
|
4 int main(void)
|
|
|
5 {
|
|
|
! 6 oracle_init();
|
|
|
7
|
|
|
8 for(;;)
|
|
|
9 {
|
|
|
10 oracle_service();
|
|
|
11 }
|
|
|
12 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
oracle_init () at .././oracle.c:20
|
|
|
warning: Source file is more recent than executable.
|
|
|
20 init_mcu();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x00011065 r10 0xfffdfdff pc 0x00002266 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002265 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00002257 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
10 #include "p_i2c.h"
|
|
|
11 #include "p_tcc.h"
|
|
|
12 #include "lvgl/lvgl.h"
|
|
|
13 #include "p_ssd1963.h"
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
22 p_usart_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000fff r5 0x00011065 r10 0xfffdfdff pc 0x0000226a primask 0x00
|
|
|
r1 0x40001c00 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00003ffd r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00001c39 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00001c5f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
12 #include "lvgl/lvgl.h"
|
|
|
13 #include "p_ssd1963.h"
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000226a in oracle_init+6 at .././oracle.c:22
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000226a in oracle_init+6 at .././oracle.c:22
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
p_usart_init () at ../drivers/p_usart.c:13
|
|
|
warning: Source file is more recent than executable.
|
|
|
13 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x000014c4 p_usart_init+0 push {r4, r5, lr}
|
|
|
0x000014c6 p_usart_init+2 sub sp, #12
|
|
|
0x000014c8 p_usart_init+4 ldr r3, [pc, #124] ; (0x1548 <p_usart_init+132>)
|
|
|
0x000014ca p_usart_init+6 movs r2, #64 ; 0x40
|
|
|
0x000014cc p_usart_init+8 str.w r2, [r3, #220] ; 0xdc
|
|
|
0x000014d0 p_usart_init+12 movs r2, #67 ; 0x43
|
|
|
0x000014d2 p_usart_init+14 str.w r2, [r3, #140] ; 0x8c
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000fff r5 0x00011065 r10 0xfffdfdff pc 0x000014c8 primask 0x00
|
|
|
r1 0x40001c00 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00003ffd r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x000014c5 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000226f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
3 #define DEBUG_USART_EX_BUFF_SIZE 16
|
|
|
4 struct usart_async_descriptor p_usart_debug_inst;
|
|
|
5
|
|
|
6 static uint8_t example_USART_0[12] = "Hello World!";
|
|
|
7
|
|
|
8 static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE];
|
|
|
9 static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE];
|
|
|
10 void p_usart_init(void)
|
|
|
11 {
|
|
|
12 // clock init
|
|
|
13 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
15
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000014c8 in p_usart_init+4 at ../drivers/p_usart.c:13
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000014c8 in p_usart_init+4 at ../drivers/p_usart.c:13
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
### Assembly ########################################################################################################
|
|
|
0x000014c4 p_usart_init+0 push {r4, r5, lr}
|
|
|
0x000014c6 p_usart_init+2 sub sp, #12
|
|
|
0x000014c8 p_usart_init+4 ldr r3, [pc, #124] ; (0x1548 <p_usart_init+132>)
|
|
|
0x000014ca p_usart_init+6 movs r2, #64 ; 0x40
|
|
|
0x000014cc p_usart_init+8 str.w r2, [r3, #220] ; 0xdc
|
|
|
0x000014d0 p_usart_init+12 movs r2, #67 ; 0x43
|
|
|
0x000014d2 p_usart_init+14 str.w r2, [r3, #140] ; 0x8c
|
|
|
0x000014d6 p_usart_init+18 ldr r2, [pc, #116] ; (0x154c <p_usart_init+136>)
|
|
|
0x000014d8 p_usart_init+20 ldr r3, [r2, #24]
|
|
|
0x000014da p_usart_init+22 orr.w r3, r3, #512 ; 0x200
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000fff r5 0x00011065 r10 0xfffdfdff pc 0x000014d0 primask 0x00
|
|
|
r1 0x40001c00 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x00000040 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x40001c00 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000226f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
4 struct usart_async_descriptor p_usart_debug_inst;
|
|
|
5
|
|
|
6 static uint8_t example_USART_0[12] = "Hello World!";
|
|
|
7
|
|
|
8 static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE];
|
|
|
9 static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE];
|
|
|
10 void p_usart_init(void)
|
|
|
11 {
|
|
|
12 // clock init
|
|
|
13 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
15
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000014d0 in p_usart_init+12 at ../drivers/p_usart.c:14
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000014d0 in p_usart_init+12 at ../drivers/p_usart.c:14
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x000014c8 p_usart_init+4 ldr r3, [pc, #124] ; (0x1548 <p_usart_init+132>)
|
|
|
0x000014ca p_usart_init+6 movs r2, #64 ; 0x40
|
|
|
0x000014cc p_usart_init+8 str.w r2, [r3, #220] ; 0xdc
|
|
|
0x000014d0 p_usart_init+12 movs r2, #67 ; 0x43
|
|
|
0x000014d2 p_usart_init+14 str.w r2, [r3, #140] ; 0x8c
|
|
|
0x000014d6 p_usart_init+18 ldr r2, [pc, #116] ; (0x154c <p_usart_init+136>)
|
|
|
0x000014d8 p_usart_init+20 ldr r3, [r2, #24]
|
|
|
0x000014da p_usart_init+22 orr.w r3, r3, #512 ; 0x200
|
|
|
0x000014de p_usart_init+26 str r3, [r2, #24]
|
|
|
0x000014e0 p_usart_init+28 ldr r4, [pc, #108] ; (0x1550 <p_usart_init+140>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000fff r5 0x00011065 r10 0xfffdfdff pc 0x000014d6 primask 0x00
|
|
|
r1 0x40001c00 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x00000043 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x40001c00 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000226f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
6 static uint8_t example_USART_0[12] = "Hello World!";
|
|
|
7
|
|
|
8 static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE];
|
|
|
9 static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE];
|
|
|
10 void p_usart_init(void)
|
|
|
11 {
|
|
|
12 // clock init
|
|
|
13 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
15
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
25
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000014d6 in p_usart_init+18 at ../drivers/p_usart.c:16
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000014d6 in p_usart_init+18 at ../drivers/p_usart.c:16
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x000014d2 p_usart_init+14 str.w r2, [r3, #140] ; 0x8c
|
|
|
0x000014d6 p_usart_init+18 ldr r2, [pc, #116] ; (0x154c <p_usart_init+136>)
|
|
|
0x000014d8 p_usart_init+20 ldr r3, [r2, #24]
|
|
|
0x000014da p_usart_init+22 orr.w r3, r3, #512 ; 0x200
|
|
|
0x000014de p_usart_init+26 str r3, [r2, #24]
|
|
|
0x000014e0 p_usart_init+28 ldr r4, [pc, #108] ; (0x1550 <p_usart_init+140>)
|
|
|
0x000014e2 p_usart_init+30 movs r3, #0
|
|
|
0x000014e4 p_usart_init+32 str r3, [sp, #0]
|
|
|
0x000014e6 p_usart_init+34 movs r3, #16
|
|
|
0x000014e8 p_usart_init+36 ldr r2, [pc, #104] ; (0x1554 <p_usart_init+144>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000fff r5 0x00011065 r10 0xfffdfdff pc 0x000014e0 primask 0x00
|
|
|
r1 0x40001c00 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x40000800 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00018256 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000226f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
8 static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE];
|
|
|
9 static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE];
|
|
|
10 void p_usart_init(void)
|
|
|
11 {
|
|
|
12 // clock init
|
|
|
13 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
15
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
25
|
|
|
26 io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
|
27
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000014e0 in p_usart_init+28 at ../drivers/p_usart.c:18
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000014e0 in p_usart_init+28 at ../drivers/p_usart.c:18
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x000014e8 p_usart_init+36 ldr r2, [pc, #104] ; (0x1554 <p_usart_init+144>)
|
|
|
0x000014ea p_usart_init+38 ldr r1, [pc, #108] ; (0x1558 <p_usart_init+148>)
|
|
|
0x000014ec p_usart_init+40 mov r0, r4
|
|
|
0x000014ee p_usart_init+42 ldr r5, [pc, #108] ; (0x155c <p_usart_init+152>)
|
|
|
0x000014f0 p_usart_init+44 blx r5
|
|
|
0x000014f2 p_usart_init+46 ldr r3, [pc, #108] ; (0x1560 <p_usart_init+156>)
|
|
|
0x000014f4 p_usart_init+48 ldrb.w r2, [r3, #216] ; 0xd8
|
|
|
0x000014f8 p_usart_init+52 and.w r2, r2, #254 ; 0xfe
|
|
|
0x000014fc p_usart_init+56 orr.w r2, r2, #1
|
|
|
0x00001500 p_usart_init+60 strb.w r2, [r3, #216] ; 0xd8
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000000 r5 0x000019b9 r10 0xfffdfdff pc 0x000014f2 primask 0x00
|
|
|
r1 0x0000003a r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x0000181d r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00000010 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00001e0f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
11 {
|
|
|
12 // clock init
|
|
|
13 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
15
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
25
|
|
|
26 io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
|
27
|
|
|
28
|
|
|
29 }
|
|
|
30
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000014f2 in p_usart_init+46 at ../drivers/p_usart.c:21
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000014f2 in p_usart_init+46 at ../drivers/p_usart.c:21
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00001500 p_usart_init+60 strb.w r2, [r3, #216] ; 0xd8
|
|
|
0x00001504 p_usart_init+64 ldrb.w r2, [r3, #188] ; 0xbc
|
|
|
0x00001508 p_usart_init+68 and.w r2, r2, #240 ; 0xf0
|
|
|
0x0000150c p_usart_init+72 orr.w r2, r2, #3
|
|
|
0x00001510 p_usart_init+76 strb.w r2, [r3, #188] ; 0xbc
|
|
|
0x00001514 p_usart_init+80 ldrb.w r2, [r3, #217] ; 0xd9
|
|
|
0x00001518 p_usart_init+84 and.w r2, r2, #254 ; 0xfe
|
|
|
0x0000151c p_usart_init+88 orr.w r2, r2, #1
|
|
|
0x00001520 p_usart_init+92 strb.w r2, [r3, #217] ; 0xd9
|
|
|
0x00001524 p_usart_init+96 ldrb.w r2, [r3, #188] ; 0xbc
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000000 r5 0x000019b9 r10 0xfffdfdff pc 0x00001514 primask 0x00
|
|
|
r1 0x0000003a r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00000003 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x41008000 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00001e0f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
12 // clock init
|
|
|
13 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
15
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
25
|
|
|
26 io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
|
27
|
|
|
28
|
|
|
29 }
|
|
|
30
|
|
|
31 void p_write(struct usart_async_descriptor* const inst, const uint8_t* data, uint16_t len)
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00001514 in p_usart_init+80 at ../drivers/p_usart.c:22
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00001514 in p_usart_init+80 at ../drivers/p_usart.c:22
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00001520 p_usart_init+92 strb.w r2, [r3, #217] ; 0xd9
|
|
|
0x00001524 p_usart_init+96 ldrb.w r2, [r3, #188] ; 0xbc
|
|
|
0x00001528 p_usart_init+100 and.w r2, r2, #15
|
|
|
0x0000152c p_usart_init+104 orr.w r2, r2, #48 ; 0x30
|
|
|
0x00001530 p_usart_init+108 strb.w r2, [r3, #188] ; 0xbc
|
|
|
0x00001534 p_usart_init+112 mov r0, r4
|
|
|
0x00001536 p_usart_init+114 ldr r3, [pc, #44] ; (0x1564 <p_usart_init+160>)
|
|
|
0x00001538 p_usart_init+116 blx r3
|
|
|
0x0000153a p_usart_init+118 movs r2, #12
|
|
|
0x0000153c p_usart_init+120 ldr r1, [pc, #40] ; (0x1568 <p_usart_init+164>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000000 r5 0x000019b9 r10 0xfffdfdff pc 0x00001534 primask 0x00
|
|
|
r1 0x0000003a r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00000033 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x41008000 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00001e0f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
14 hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
15
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
25
|
|
|
26 io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
|
27
|
|
|
28
|
|
|
29 }
|
|
|
30
|
|
|
31 void p_write(struct usart_async_descriptor* const inst, const uint8_t* data, uint16_t len)
|
|
|
32 {
|
|
|
33
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00001534 in p_usart_init+112 at ../drivers/p_usart.c:24
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00001534 in p_usart_init+112 at ../drivers/p_usart.c:24
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
26 io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x0000152c p_usart_init+104 orr.w r2, r2, #48 ; 0x30
|
|
|
0x00001530 p_usart_init+108 strb.w r2, [r3, #188] ; 0xbc
|
|
|
0x00001534 p_usart_init+112 mov r0, r4
|
|
|
0x00001536 p_usart_init+114 ldr r3, [pc, #44] ; (0x1564 <p_usart_init+160>)
|
|
|
0x00001538 p_usart_init+116 blx r3
|
|
|
0x0000153a p_usart_init+118 movs r2, #12
|
|
|
0x0000153c p_usart_init+120 ldr r1, [pc, #40] ; (0x1568 <p_usart_init+164>)
|
|
|
0x0000153e p_usart_init+122 mov r0, r4
|
|
|
0x00001540 p_usart_init+124 ldr r3, [pc, #40] ; (0x156c <p_usart_init+168>)
|
|
|
0x00001542 p_usart_init+126 blx r3
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000000 r5 0x000019b9 r10 0xfffdfdff pc 0x0000153a primask 0x00
|
|
|
r1 0x00023ae0 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x41012000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00000000 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00001a63 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
16 hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
17
|
|
|
18 usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
25
|
|
|
26 io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
|
27
|
|
|
28
|
|
|
29 }
|
|
|
30
|
|
|
31 void p_write(struct usart_async_descriptor* const inst, const uint8_t* data, uint16_t len)
|
|
|
32 {
|
|
|
33
|
|
|
34 }
|
|
|
35
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000153a in p_usart_init+118 at ../drivers/p_usart.c:26
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000153a in p_usart_init+118 at ../drivers/p_usart.c:26
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
29 }
|
|
|
### Assembly ########################################################################################################
|
|
|
0x0000153a p_usart_init+118 movs r2, #12
|
|
|
0x0000153c p_usart_init+120 ldr r1, [pc, #40] ; (0x1568 <p_usart_init+164>)
|
|
|
0x0000153e p_usart_init+122 mov r0, r4
|
|
|
0x00001540 p_usart_init+124 ldr r3, [pc, #40] ; (0x156c <p_usart_init+168>)
|
|
|
0x00001542 p_usart_init+126 blx r3
|
|
|
0x00001544 p_usart_init+128 add sp, #12
|
|
|
0x00001546 p_usart_init+130 pop {r4, r5, pc}
|
|
|
0x00001548 p_usart_init+132 adds r0, r0, #0
|
|
|
0x0000154a p_usart_init+134 ands r0, r0
|
|
|
0x0000154c p_usart_init+136 lsrs r0, r0, #32
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0000000c r5 0x000019b9 r10 0xfffdfdff pc 0x00001544 primask 0x00
|
|
|
r1 0x00023ae0 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x00000001 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x41012000 r8 0x2000c67c sp 0x2001c7d0 msp 0x2001c7d0 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x0000188d psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
19
|
|
|
20 // port init
|
|
|
21 gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
|
22 gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
23
|
|
|
24 usart_async_enable(&p_usart_debug_inst);
|
|
|
25
|
|
|
26 io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
|
27
|
|
|
28
|
|
|
29 }
|
|
|
30
|
|
|
31 void p_write(struct usart_async_descriptor* const inst, const uint8_t* data, uint16_t len)
|
|
|
32 {
|
|
|
33
|
|
|
34 }
|
|
|
35
|
|
|
36 void p_debug(const char* str, ...)
|
|
|
37 {
|
|
|
38
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00001544 in p_usart_init+128 at ../drivers/p_usart.c:29
|
|
|
[1] from 0x0000226e in oracle_init+10 at .././oracle.c:22
|
|
|
[2] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00001544 in p_usart_init+128 at ../drivers/p_usart.c:29
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
Starting program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
|
|
|
Breakpoint 1, main () at .././main.c:6
|
|
|
6 oracle_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002250 main+0 push {r3, lr}
|
|
|
!0x00002252 main+2 ldr r3, [pc, #8] ; (0x225c <main+12>)
|
|
|
0x00002254 main+4 blx r3
|
|
|
0x00002256 main+6 ldr r4, [pc, #8] ; (0x2260 <main+16>)
|
|
|
0x00002258 main+8 blx r4
|
|
|
0x0000225a main+10 b.n 0x2258 <main+8>
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x000019b9 r10 0xfffdfdff pc 0x00002252 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002251 r8 0x2000c67c sp 0x2001c7f0 msp 0x2001c7f0 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x000010a1 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
1 #include "oracle.h"
|
|
|
2
|
|
|
3
|
|
|
4 int main(void)
|
|
|
5 {
|
|
|
! 6 oracle_init();
|
|
|
7
|
|
|
8 for(;;)
|
|
|
9 {
|
|
|
10 oracle_service();
|
|
|
11 }
|
|
|
12 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002252 in main+2 at .././main.c:6
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
oracle_init () at .././oracle.c:20
|
|
|
20 init_mcu();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00029a30 r5 0x000019b9 r10 0xfffdfdff pc 0x00002266 primask 0x00
|
|
|
r1 0x00000000 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00f00000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002265 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00002257 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
10 #include "p_i2c.h"
|
|
|
11 #include "p_tcc.h"
|
|
|
12 #include "lvgl/lvgl.h"
|
|
|
13 #include "p_ssd1963.h"
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002266 in oracle_init+2 at .././oracle.c:20
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
22 p_usart_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000fff r5 0x000019b9 r10 0xfffdfdff pc 0x0000226a primask 0x00
|
|
|
r1 0x40001c00 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x61000000 basepri 0x00
|
|
|
r2 0x00003ffd r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00001c39 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00001c5f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
12 #include "lvgl/lvgl.h"
|
|
|
13 #include "p_ssd1963.h"
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000226a in oracle_init+6 at .././oracle.c:22
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000226a in oracle_init+6 at .././oracle.c:22
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
24 p_i2c_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00002264 oracle_init+0 push {r3, lr}
|
|
|
0x00002266 oracle_init+2 ldr r3, [pc, #24] ; (0x2280 <oracle_init+28>)
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0000000c r5 0x000019b9 r10 0xfffdfdff pc 0x0000226e primask 0x00
|
|
|
r1 0x00023ae0 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x00000001 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x41012000 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x0000188d psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
14 #include "p_screen.h"
|
|
|
15
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000226e in oracle_init+10 at .././oracle.c:24
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000226e in oracle_init+10 at .././oracle.c:24
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
26 p_gpio_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00002268 oracle_init+4 blx r3
|
|
|
0x0000226a oracle_init+6 ldr r3, [pc, #24] ; (0x2284 <oracle_init+32>)
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
0x00002278 oracle_init+20 blx r3
|
|
|
0x0000227a oracle_init+22 ldr r3, [pc, #24] ; (0x2294 <oracle_init+48>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x0000000c r5 0x000019b9 r10 0xfffdfdff pc 0x00002272 primask 0x00
|
|
|
r1 0x00023ae0 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x21000000 basepri 0x00
|
|
|
r2 0x00000001 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00001425 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00002273 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
16
|
|
|
17 void oracle_init(void)
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
34 {
|
|
|
35 p_screen_service();
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002272 in oracle_init+14 at .././oracle.c:26
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002272 in oracle_init+14 at .././oracle.c:26
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
28 p_tcc_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x0000226c oracle_init+8 blx r3
|
|
|
0x0000226e oracle_init+10 ldr r3, [pc, #24] ; (0x2288 <oracle_init+36>)
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
0x00002278 oracle_init+20 blx r3
|
|
|
0x0000227a oracle_init+22 ldr r3, [pc, #24] ; (0x2294 <oracle_init+48>)
|
|
|
0x0000227c oracle_init+24 blx r3
|
|
|
0x0000227e oracle_init+26 pop {r3, pc}
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000080 r5 0x000019b9 r10 0xfffdfdff pc 0x00002276 primask 0x00
|
|
|
r1 0x00000006 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x01000000 basepri 0x00
|
|
|
r2 0x00000006 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x41008000 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x0000130f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
18 {
|
|
|
19 // init mcu
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
34 {
|
|
|
35 p_screen_service();
|
|
|
36 }
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002276 in oracle_init+18 at .././oracle.c:28
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002276 in oracle_init+18 at .././oracle.c:28
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
30 p_screen_init();
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00002270 oracle_init+12 blx r3
|
|
|
0x00002272 oracle_init+14 ldr r3, [pc, #24] ; (0x228c <oracle_init+40>)
|
|
|
0x00002274 oracle_init+16 blx r3
|
|
|
0x00002276 oracle_init+18 ldr r3, [pc, #24] ; (0x2290 <oracle_init+44>)
|
|
|
0x00002278 oracle_init+20 blx r3
|
|
|
0x0000227a oracle_init+22 ldr r3, [pc, #24] ; (0x2294 <oracle_init+48>)
|
|
|
0x0000227c oracle_init+24 blx r3
|
|
|
0x0000227e oracle_init+26 pop {r3, pc}
|
|
|
0x00002280 oracle_init+28 adds r1, r7, #0
|
|
|
0x00002282 oracle_init+30 movs r0, r0
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000000 r5 0x000019b9 r10 0xfffdfdff pc 0x0000227a primask 0x00
|
|
|
r1 0x00023ac8 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x40003800 r7 0x20008590 r12 0x2000c614 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00000000 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00001745 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
20 init_mcu();
|
|
|
21 // uart init
|
|
|
22 p_usart_init();
|
|
|
23 // i2c init
|
|
|
24 p_i2c_init();
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
34 {
|
|
|
35 p_screen_service();
|
|
|
36 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000227a in oracle_init+22 at .././oracle.c:30
|
|
|
[1] from 0x00002256 in main+6 at .././main.c:6
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000227a in oracle_init+22 at .././oracle.c:30
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
main () at .././main.c:10
|
|
|
10 oracle_service();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
0x00002250 main+0 push {r3, lr}
|
|
|
!0x00002252 main+2 ldr r3, [pc, #8] ; (0x225c <main+12>)
|
|
|
0x00002254 main+4 blx r3
|
|
|
0x00002256 main+6 ldr r4, [pc, #8] ; (0x2260 <main+16>)
|
|
|
0x00002258 main+8 blx r4
|
|
|
0x0000225a main+10 b.n 0x2258 <main+8>
|
|
|
0x0000225c main+12 movs r2, #101 ; 0x65
|
|
|
0x0000225e main+14 movs r0, r0
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000001 r5 0x000019b9 r10 0xfffdfdff pc 0x00002256 primask 0x00
|
|
|
r1 0x20008fe8 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x81000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002265 r8 0x2000c67c sp 0x2001c7f0 msp 0x2001c7f0 control 0x00
|
|
|
r4 0x2000c61c r9 0x00011fb1 lr 0x00005eb5 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
~
|
|
|
1 #include "oracle.h"
|
|
|
2
|
|
|
3
|
|
|
4 int main(void)
|
|
|
5 {
|
|
|
! 6 oracle_init();
|
|
|
7
|
|
|
8 for(;;)
|
|
|
9 {
|
|
|
10 oracle_service();
|
|
|
11 }
|
|
|
12 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00002256 in main+6 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00002256 in main+6 at .././main.c:10
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
oracle_service () at .././oracle.c:35
|
|
|
35 p_screen_service();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00002298 oracle_service+0 push {r3, lr}
|
|
|
0x0000229a oracle_service+2 ldr r3, [pc, #4] ; (0x22a0 <oracle_service+8>)
|
|
|
0x0000229c oracle_service+4 blx r3
|
|
|
0x0000229e oracle_service+6 pop {r3, pc}
|
|
|
0x000022a0 oracle_service+8 asrs r1, r4, #32
|
|
|
0x000022a2 oracle_service+10 movs r0, r0
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000001 r5 0x000019b9 r10 0xfffdfdff pc 0x0000229a primask 0x00
|
|
|
r1 0x20008fe8 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x81000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00002265 r8 0x2000c67c sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000225b psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
25 // gpio init
|
|
|
26 p_gpio_init();
|
|
|
27 // time init
|
|
|
28 p_tcc_init();
|
|
|
29
|
|
|
30 p_screen_init();
|
|
|
31 }
|
|
|
32
|
|
|
33 void oracle_service(void)
|
|
|
34 {
|
|
|
35 p_screen_service();
|
|
|
36 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000229a in oracle_service+2 at .././oracle.c:35
|
|
|
[1] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000229a in oracle_service+2 at .././oracle.c:35
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
p_screen_service () at ../devices/p_screen.c:43
|
|
|
warning: Source file is more recent than executable.
|
|
|
43 lv_task_handler();
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x00001020 p_screen_service+0 push {r3, lr}
|
|
|
0x00001022 p_screen_service+2 ldr r3, [pc, #4] ; (0x1028 <p_screen_service+8>)
|
|
|
0x00001024 p_screen_service+4 blx r3
|
|
|
0x00001026 p_screen_service+6 pop {r3, pc}
|
|
|
0x00001028 p_screen_service+8 adds r7, #193 ; 0xc1
|
|
|
0x0000102a p_screen_service+10 movs r1, r0
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000001 r5 0x000019b9 r10 0xfffdfdff pc 0x00001022 primask 0x00
|
|
|
r1 0x20008fe8 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x81000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00001021 r8 0x2000c67c sp 0x2001c7e0 msp 0x2001c7e0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x0000229f psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
33 lv_img_set_src(hornet_image, &hornet);
|
|
|
34 lv_obj_set_pos(hornet_image, 0, 0);
|
|
|
35
|
|
|
36 lv_obj_t* random_text = lv_label_create(scr, NULL);
|
|
|
37 lv_obj_set_pos(random_text, 90, 35);
|
|
|
38 lv_label_set_text(random_text, "Hello World");
|
|
|
39 }
|
|
|
40
|
|
|
41 void p_screen_service(void)
|
|
|
42 {
|
|
|
43 lv_task_handler();
|
|
|
44 }
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00001022 in p_screen_service+2 at ../devices/p_screen.c:43
|
|
|
[1] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[2] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00001022 in p_screen_service+2 at ../devices/p_screen.c:43
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
lv_task_handler () at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
78 if(already_running) return 1;
|
|
|
### Assembly ########################################################################################################
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
~
|
|
|
0x000137c0 lv_task_handler+0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
|
0x000137c4 lv_task_handler+4 ldr r3, [pc, #352] ; (0x13928 <lv_task_handler+360>)
|
|
|
0x000137c6 lv_task_handler+6 ldrb r3, [r3, #4]
|
|
|
0x000137c8 lv_task_handler+8 cmp r3, #0
|
|
|
0x000137ca lv_task_handler+10 bne.w 0x13920 <lv_task_handler+352>
|
|
|
0x000137ce lv_task_handler+14 ldr r3, [pc, #344] ; (0x13928 <lv_task_handler+360>)
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x00000001 r5 0x000019b9 r10 0xfffdfdff pc 0x000137c4 primask 0x00
|
|
|
r1 0x20008fe8 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x81000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x000137c1 r8 0x2000c67c sp 0x2001c7c0 msp 0x2001c7c0 control 0x00
|
|
|
r4 0x00002299 r9 0x00011fb1 lr 0x00001027 psp 0xfdff677c
|
|
|
### Source ##########################################################################################################
|
|
|
68 * @return the time after which it must be called again
|
|
|
69 */
|
|
|
70 LV_ATTRIBUTE_TASK_HANDLER uint32_t lv_task_handler(void)
|
|
|
71 {
|
|
|
72
|
|
|
73
|
|
|
74 LV_LOG_TRACE("lv_task_handler started");
|
|
|
75
|
|
|
76 /*Avoid concurrent running of the task handler*/
|
|
|
77 static bool already_running = false;
|
|
|
78 if(already_running) return 1;
|
|
|
79 already_running = true;
|
|
|
80
|
|
|
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*/
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x000137c4 in lv_task_handler+4 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
[1] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[2] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[3] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x000137c4 in lv_task_handler+4 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:78
|
|
|
### 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 = <optimized out>, idle_period_time = <optimized out>
|
|
|
#####################################################################################################################
|
|
|
Continuing.
|
|
|
[H[J[3J### Output/messages #################################################################################################
|
|
|
|
|
|
Program received signal SIGINT, Interrupt.
|
|
|
lv_task_handler () at ../thirdparty/lvgl/src/lv_misc/lv_task.c:168
|
|
|
168 busy_time += lv_tick_elaps(handler_start);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x0001384e lv_task_handler+142 ldrb r3, [r5, #2]
|
|
|
0x00013850 lv_task_handler+144 cbnz r3, 0x13858 <lv_task_handler+152>
|
|
|
0x00013852 lv_task_handler+146 ldrb r3, [r5, #3]
|
|
|
0x00013854 lv_task_handler+148 cmp r3, #0
|
|
|
0x00013856 lv_task_handler+150 beq.n 0x138b8 <lv_task_handler+248>
|
|
|
0x00013858 lv_task_handler+152 ldr r4, [pc, #204] ; (0x13928 <lv_task_handler+360>)
|
|
|
0x0001385a lv_task_handler+154 ldr r0, [r4, #8]
|
|
|
0x0001385c lv_task_handler+156 ldr r5, [pc, #216] ; (0x13938 <lv_task_handler+376>)
|
|
|
0x0001385e lv_task_handler+158 blx r5
|
|
|
0x00013860 lv_task_handler+160 ldr r3, [r4, #12]
|
|
|
### Breakpoints #####################################################################################################
|
|
|
[1] break at 0x00002252 in .././main.c:6 for main hit 1 time
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x20008e30 r5 0x2000c5b4 r10 0xfffdfdff pc 0x00013858 primask 0x00
|
|
|
r1 0x20008e30 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x20008e4c r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00000000 r8 0x2000c67c sp 0x2001c7c0 msp 0x2001c7c0 control 0x00
|
|
|
r4 0x2000c748 r9 0x00011fb1 lr 0x0001381f psp 0xfdff677c
|
|
|
### 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 0x00013858 in lv_task_handler+152 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:168
|
|
|
[1] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[2] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[3] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00013858 in lv_task_handler+152 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:168
|
|
|
### Variables #######################################################################################################
|
|
|
loc already_running = true, idle_period_start = 9500, handler_start = 9537, busy_time = 14, time_till_next = 4294967295, task_interrupter = <optimized out>, next = <optimized out>, end_flag = true, idle_period_time = <optimized out>
|
|
|
#####################################################################################################################
|
|
|
Detaching from program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf, Remote target
|
|
|
[Inferior 1 (Remote target) detached]
|
|
|
lv_task_handler () at ../thirdparty/lvgl/src/lv_misc/lv_task.c:168
|
|
|
warning: Source file is more recent than executable.
|
|
|
168 busy_time += lv_tick_elaps(handler_start);
|
|
|
### Assembly ########################################################################################################
|
|
|
0x0001384e lv_task_handler+142 ldrb r3, [r5, #2]
|
|
|
0x00013850 lv_task_handler+144 cbnz r3, 0x13858 <lv_task_handler+152>
|
|
|
0x00013852 lv_task_handler+146 ldrb r3, [r5, #3]
|
|
|
0x00013854 lv_task_handler+148 cmp r3, #0
|
|
|
0x00013856 lv_task_handler+150 beq.n 0x138b8 <lv_task_handler+248>
|
|
|
0x00013858 lv_task_handler+152 ldr r4, [pc, #204] ; (0x13928 <lv_task_handler+360>)
|
|
|
0x0001385a lv_task_handler+154 ldr r0, [r4, #8]
|
|
|
0x0001385c lv_task_handler+156 ldr r5, [pc, #216] ; (0x13938 <lv_task_handler+376>)
|
|
|
0x0001385e lv_task_handler+158 blx r5
|
|
|
0x00013860 lv_task_handler+160 ldr r3, [r4, #12]
|
|
|
### Breakpoints #####################################################################################################
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0x20008e30 r5 0x2000c5b4 r10 0xfffdfdff pc 0x00013858 primask 0x00
|
|
|
r1 0x20008e30 r6 0x00000000 r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x20008e4c r7 0x20008590 r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00000000 r8 0x2000c67c sp 0x2001c7c0 msp 0x2001c7c0 control 0x00
|
|
|
r4 0x2000c748 r9 0x00011fb1 lr 0x0001381f psp 0xfdff677c
|
|
|
### 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 0x00013858 in lv_task_handler+152 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:168
|
|
|
[1] from 0x00001026 in p_screen_service+6 at ../devices/p_screen.c:43
|
|
|
[2] from 0x0000229e in oracle_service+6 at .././oracle.c:35
|
|
|
[3] from 0x0000225a in main+10 at .././main.c:10
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00013858 in lv_task_handler+152 at ../thirdparty/lvgl/src/lv_misc/lv_task.c:168
|
|
|
### Variables #######################################################################################################
|
|
|
loc already_running = true, idle_period_start = 9500, handler_start = 9537, busy_time = 14, time_till_next = 4294967295, task_interrupter = <optimized out>, next = <optimized out>, end_flag = true, idle_period_time = <optimized out>
|
|
|
#####################################################################################################################
|
|
|
target halted due to debug-request, current mode: Thread
|
|
|
xPSR: 0x01000000 pc: 0x00001030 msp: 0x2001c800
|
|
|
Loading section .text, size 0x29a28 lma 0x0
|
|
|
Loading section .ARM.exidx, size 0x8 lma 0x29a28
|
|
|
Loading section .relocate, size 0x74 lma 0x29a30
|
|
|
Start address 0x00000000, load size 170660
|
|
|
Transfer rate: 46 KB/sec, 13127 bytes/write.
|
|
|
Detaching from program: /storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf, Remote target
|
|
|
[Inferior 1 (Remote target) detached]
|
|
|
0x0000229c in ?? ()
|
|
|
### Assembly ########################################################################################################
|
|
|
0x0000229c ? blx r3
|
|
|
0x0000229e ? pop {r3, pc}
|
|
|
0x000022a0 ? asrs r1, r4, #32
|
|
|
0x000022a2 ? movs r0, r0
|
|
|
0x000022a4 ? adds r0, #0
|
|
|
0x000022a6 ? it ne
|
|
|
0x000022a8 ? movne r0, #1
|
|
|
0x000022aa ? bx lr
|
|
|
0x000022ac ? push {r4, r5, r6, r7, lr}
|
|
|
0x000022ae ? sub sp, #268 ; 0x10c
|
|
|
### Breakpoints #####################################################################################################
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0xffffffff r5 0xf7bfffff r10 0xfffdfdff pc 0x0000229c primask 0x00
|
|
|
r1 0x20008590 r6 0xffff7fff r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x6fbf7fdd r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x00001021 r8 0xdfff5aeb sp 0x2001c7e8 msp 0x2001c7e8 control 0x00
|
|
|
r4 0x00002299 r9 0x57f7dfff lr 0x0000225b psp 0xfdff277c
|
|
|
### Source ##########################################################################################################
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x0000229c
|
|
|
[1] from 0x0000225a
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x0000229c
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
Loading section .sec1, size 0x10000 lma 0x0
|
|
|
Loading section .sec2, size 0x10000 lma 0x10000
|
|
|
Loading section .sec3, size 0x9aa4 lma 0x20000
|
|
|
Start address 0x00000000, load size 170660
|
|
|
Transfer rate: 46 KB/sec, 13127 bytes/write.
|
|
|
A debugging session is active.
|
|
|
|
|
|
Inferior 1 [Remote target] will be detached.
|
|
|
|
|
|
Quit anyway? (y or n) [answered Y; input not from terminal]
|
|
|
[Inferior 1 (Remote target) detached]
|
|
|
warning: No executable has been specified and target does not support
|
|
|
determining executable automatically. Try using the "file" command.
|
|
|
0x00001026 in ?? ()
|
|
|
### Assembly ########################################################################################################
|
|
|
0x00001026 ? pop {r3, pc}
|
|
|
0x00001028 ? adds r7, #193 ; 0xc1
|
|
|
0x0000102a ? movs r1, r0
|
|
|
0x0000102c ? b.n 0x102c
|
|
|
0x0000102e ? movs r0, r0
|
|
|
0x00001030 ? push {r3, lr}
|
|
|
0x00001032 ? ldr r3, [pc, #112] ; (0x10a4)
|
|
|
0x00001034 ? ldr r2, [pc, #112] ; (0x10a8)
|
|
|
0x00001036 ? cmp r2, r3
|
|
|
0x00001038 ? beq.n 0x105c
|
|
|
### Breakpoints #####################################################################################################
|
|
|
### Expressions #####################################################################################################
|
|
|
### History #########################################################################################################
|
|
|
### Memory ##########################################################################################################
|
|
|
### Registers #######################################################################################################
|
|
|
r0 0xffffffff r5 0xf7bfffff r10 0xfffdfdff pc 0x00001026 primask 0x00
|
|
|
r1 0x20008590 r6 0xffff7fff r11 0xfb9ff7bf xPSR 0x41000000 basepri 0x00
|
|
|
r2 0x00000000 r7 0x6fbf7fdd r12 0x200085b4 fpscr 0x00000000 faultmask 0x00
|
|
|
r3 0x000137c1 r8 0xdfff5aeb sp 0x2001c7e0 msp 0x2001c7e0 control 0x00
|
|
|
r4 0x00002299 r9 0x57f7dfff lr 0x000138f1 psp 0xfdff277c
|
|
|
### Source ##########################################################################################################
|
|
|
### Stack ###########################################################################################################
|
|
|
[0] from 0x00001026
|
|
|
[1] from 0x000138f0
|
|
|
### Threads #########################################################################################################
|
|
|
[1] id 0 from 0x00001026
|
|
|
### Variables #######################################################################################################
|
|
|
#####################################################################################################################
|
|
|
scripts/push.gdb:7: Error in sourced command file:
|
|
|
No executable file specified.
|
|
|
Use the "file" or "exec-file" command.
|
|
|
Quit
|
|
|
Undefined command: "qq". Try "help".
|
|
|
Detaching from program: , Remote target
|
|
|
[Inferior 1 (Remote target) detached]
|