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

5565 lines
330 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

0x080015e0 in main () at Core/Src/main.c:128
128 HAL_UART_Receive_IT(&huart1, &huart1_rxc, 1);
### Assembly ########################################################################################################
0x080015d4 main+112 bl 0x8003f84 <UART_Start_Receive_IT+20>
0x080015d8 main+116 movs r4, #0
0x080015da main+118 ldr r3, [pc, #72] ; (0x8001624 <main+192>)
0x080015dc main+120 ldrb r3, [r3, #0]
0x080015de main+122 cmp r3, #0
0x080015e0 main+124 beq.n 0x80015da <main+118>
0x080015e2 main+126 ldr r3, [pc, #64] ; (0x8001624 <main+192>)
0x080015e4 main+128 movs r2, #0
0x080015e6 main+130 strb r2, [r3, #0]
0x080015e8 main+132 adds r3, r4, #1
### Breakpoints #####################################################################################################
### Expressions #####################################################################################################
### History #########################################################################################################
### Memory ##########################################################################################################
### Registers #######################################################################################################
r0 0x00000000 r5 0x20000ae8 r10 0x00000000 pc 0x080015e0 primask 0x00
r1 0x00000000 r6 0x00000000 r11 0x00000000 xPSR 0x61000000 basepri 0x00
r2 0x00000001 r7 0x00000000 r12 0x00001000 fpscr 0x20000010 faultmask 0x00
r3 0x00000000 r8 0x00000000 sp 0x2000fff0 msp 0x2000fff0 control 0x04
r4 0x0000004f r9 0x00000000 lr 0x08002029 psp 0x00000000
### Source ##########################################################################################################
118 setPWM(&htim2, TIM_CHANNEL_2, 50);
119 setPWM(&htim2, TIM_CHANNEL_4, 25);
120
121 HAL_GPIO_WritePin(m1_dir_GPIO_Port, m1_dir_Pin, 1);
122 HAL_GPIO_WritePin(m2_dir_GPIO_Port, m2_dir_Pin, 1);
123
124 mc_init(&htim2);
125 HAL_UART_Receive_IT(&huart2, &huart2_rxc, 1);
126 HAL_TIM_Base_Start_IT(&htim6);
127
128 HAL_UART_Receive_IT(&huart1, &huart1_rxc, 1);
129 uint16_t motor_degrees = 0;
130 /* USER CODE END 2 */
131
132 /* Infinite loop */
133 /* USER CODE BEGIN WHILE */
134 while (1)
135 {
136 if (b_timer_struck)
137 {
### Stack ###########################################################################################################
[0] from 0x080015e0 in main+124 at Core/Src/main.c:128
### Threads #########################################################################################################
[1] id 0 from 0x080015e0 in main+124 at Core/Src/main.c:128
### Variables #######################################################################################################
loc motor_degrees = <optimized out>
#####################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xa9a8 lma 0x80001c0
Loading section .rodata, size 0x648 lma 0x800ab68
Loading section .ARM, size 0x8 lma 0x800b1b0
Loading section .init_array, size 0x8 lma 0x800b1b8
Loading section .fini_array, size 0x8 lma 0x800b1c0
Loading section .data, size 0x9a8 lma 0x800b1c8
Start address 0x08004288, load size 47936
Transfer rate: 30 KB/sec, 5326 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080015ea in HAL_TIM_PWM_MspInit (htim_pwm=0x0) at Core/Src/stm32l4xx_hal_msp.c:95
95 __HAL_RCC_TIM2_CLK_ENABLE();
### Assembly ##########################################################################################################
0x080015de HAL_TIM_PWM_MspInit+6 ldr r1, [pc, #88] ; (0x8001638 <HAL_TIM_Base_MspInit+56>)
0x080015e0 HAL_TIM_PWM_MspInit+8 mov r0, r6
0x080015e2 HAL_TIM_PWM_MspInit+10 bl 0x8004048 <HAL_RS485Ex_Init+136>
0x080015e6 HAL_TIM_PWM_MspInit+14 movs r4, #0
0x080015e8 HAL_TIM_PWM_MspInit+16 ldr r3, [pc, #80] ; (0x800163c <HAL_TIM_Base_MspInit+60>)
0x080015ea HAL_TIM_PWM_MspInit+18 ldrb r3, [r3, #0]
0x080015ec HAL_TIM_PWM_MspInit+20 cmp r3, #0
0x080015ee HAL_TIM_PWM_MspInit+22 beq.n 0x80015e8 <HAL_TIM_PWM_MspInit+16>
0x080015f0 HAL_TIM_PWM_MspInit+24 ldr r3, [pc, #72] ; (0x800163c <HAL_TIM_Base_MspInit+60>)
0x080015f2 HAL_TIM_PWM_MspInit+26 movs r2, #0
### Breakpoints #######################################################################################################
### Expressions #######################################################################################################
### History ###########################################################################################################
### Memory ############################################################################################################
### Registers #########################################################################################################
r0 0x00000000 r5 0x200009c8 r10 0x00000000 pc 0x080015ea primask 0x00
r1 0x00000000 r6 0x20000a60 r11 0x00000000 xPSR 0x61000000 basepri 0x00
r2 0x00000001 r7 0x00000000 r12 0x00001000 fpscr 0x20000010 faultmask 0x00
r3 0x200009c4 r8 0x00000000 sp 0x2000fff0 msp 0x2000fff0 control 0x04
r4 0x00000154 r9 0x00000000 lr 0x08002041 psp 0x00000000
### Source ############################################################################################################
85 * @retval None
86 */
87 void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
88 {
89 if(htim_pwm->Instance==TIM2)
90 {
91 /* USER CODE BEGIN TIM2_MspInit 0 */
92
93 /* USER CODE END TIM2_MspInit 0 */
94 /* Peripheral clock enable */
95 __HAL_RCC_TIM2_CLK_ENABLE();
96 /* USER CODE BEGIN TIM2_MspInit 1 */
97
98 /* USER CODE END TIM2_MspInit 1 */
99 }
100
101 }
102
103 /**
104 * @brief TIM_Base MSP Initialization
### Stack #############################################################################################################
[0] from 0x080015ea in HAL_TIM_PWM_MspInit+18 at Core/Src/stm32l4xx_hal_msp.c:95
[1] from 0x08002040 in HAL_TIM_PWM_Stop+72 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c:1533
[2] from 0x00000000
### Threads ###########################################################################################################
[1] id 0 from 0x080015ea in HAL_TIM_PWM_MspInit+18 at Core/Src/stm32l4xx_hal_msp.c:95
### Variables #########################################################################################################
arg htim_pwm = 0x0: {Instance = 0x20010000,Init = {Prescaler = 134234761,CounterMode = 134223429,Period = …
loc tmpreg = 0
#######################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d4, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x0800151c in main () at Core/Src/main.c:144
144 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 movs r1, #0
0x08001510 main+156 mov r0, r4
0x08001512 main+158 bl 0x8004370 <memset>
0x08001516 main+162 bl 0x8004298 <p_serial_mgr_service>
0x0800151a main+166 mov r4, r0
0x0800151c main+168 cmp r0, #0
0x0800151e main+170 beq.n 0x8001516 <main+162>
0x08001520 main+172 ldrb r2, [r0, #1]
0x08001522 main+174 ldrb r1, [r0, #0]
0x08001524 main+176 ldr r0, [pc, #48] ; (0x8001558 <main+228>)
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x0800151c control 0x04
### Source ####################################################################
134 while (1)
135 {
136 // if (b_timer_struck)
137 // {
138 // // PDEBUG("%d\n", sys_time);
139 // b_timer_struck = false;
140 // motor_degrees = (motor_degrees + 1) % 360;
141 // mc_service(motor_degrees, 50);
142 // }
143 serial_pkt_t *pkt = NULL;
144 if ((pkt = p_serial_mgr_service()) != NULL)
145 {
146 PDEBUG("Source: %02x\n"
147 "Destination: %02x\n",
148 pkt->src_addr, pkt->dest_addr);
149 PDEBUG("Frame Data: \n");
150 for (int ind = 0; ind < pkt->len; pkt++)
151 {
152 if (ind % 8 == 0)
153 {
### Stack #####################################################################
[0] from 0x0800151c in main+168 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x0800151c in main+168 at Core/Src/main.c:144
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234837,frame_data = "a\025\000\bc\0…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080042d4 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d4, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Breakpoint 1 at 0x8001168: file Core/Src/main.c, line 412.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 1, UART2_RxCpltCallback (huart=0x20000b14 <huart2>) at Core/Src/main.c:412
412 {
### Assembly ##################################################################
~
~
~
~
~
!0x08001168 UART2_RxCpltCallback+0 push {r4, lr}
0x0800116a UART2_RxCpltCallback+2 ldr r4, [pc, #24] ; (0x8001184 <UART2_RxCpltCallback+28>)
0x0800116c UART2_RxCpltCallback+4 movs r3, #100 ; 0x64
0x0800116e UART2_RxCpltCallback+6 movs r2, #1
0x08001170 UART2_RxCpltCallback+8 mov r1, r4
### Breakpoints ###############################################################
[1] break at 0x08001168 in Core/Src/main.c:412 for /storage/Shared/Projects/Penguinator/motor_controller/Core/Src/main.c:411 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000b14 r8 0x00000000 xPSR 0x81000036
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40004408 r10 0x00000000 msp 0x2000ff68
r3 0x08001169 r11 0x00000000 psp 0x00000000
r4 0x20000b14 r12 0x00001000 primask 0x00
r5 0x00000001 sp 0x2000ff68 basepri 0x00
r6 0x00000000 lr 0x0800348b faultmask 0x00
r7 0x00000000 pc 0x08001168 control 0x00
### Source ####################################################################
402 GPIO_InitStruct.Pin = m1_dir_Pin | m2_dir_Pin;
403 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
404 GPIO_InitStruct.Pull = GPIO_NOPULL;
405 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
406 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
407 }
408
409 /* USER CODE BEGIN 4 */
410
411 void UART2_RxCpltCallback(UART_HandleTypeDef *huart)
!412 {
413 HAL_UART_Transmit(&huart1, &huart2_rxc, 1, 100);
414 HAL_UART_Receive_IT(&huart2, &huart2_rxc, 1);
415 }
416 // void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
417 // {
418 // else if (huart == &huart2)
419 // {
420 // }
421 // }
### Stack #####################################################################
[0] from 0x08001168 in UART2_RxCpltCallback+0 at Core/Src/main.c:412
[1] from 0x0800348a in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035dc in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001590 in USART2_IRQHandler+8 at Core/Src/stm32l4xx_it.c:225
[4] from 0xffffffe9
[5] from 0x080042a2 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:143
[6] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x08001168 in UART2_RxCpltCallback+0 at Core/Src/main.c:412
### Variables #################################################################
arg huart = 0x20000b14 <huart2>: {Instance = 0x40004400,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
UART2_RxCpltCallback (huart=0x20000b14 <huart2>) at Core/Src/main.c:412
412 {
### Assembly ##################################################################
~
~
~
~
~
0x08001168 UART2_RxCpltCallback+0 push {r4, lr}
0x0800116a UART2_RxCpltCallback+2 ldr r4, [pc, #24] ; (0x8001184 <UART2_RxCpltCallback+28>)
0x0800116c UART2_RxCpltCallback+4 movs r3, #100 ; 0x64
0x0800116e UART2_RxCpltCallback+6 movs r2, #1
0x08001170 UART2_RxCpltCallback+8 mov r1, r4
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000b14 r8 0x00000000 xPSR 0x81000036
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40004408 r10 0x00000000 msp 0x2000ff68
r3 0x08001169 r11 0x00000000 psp 0x00000000
r4 0x20000b14 r12 0x00001000 primask 0x00
r5 0x00000001 sp 0x2000ff68 basepri 0x00
r6 0x00000000 lr 0x0800348b faultmask 0x00
r7 0x00000000 pc 0x08001168 control 0x00
### Source ####################################################################
402 GPIO_InitStruct.Pin = m1_dir_Pin | m2_dir_Pin;
403 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
404 GPIO_InitStruct.Pull = GPIO_NOPULL;
405 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
406 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
407 }
408
409 /* USER CODE BEGIN 4 */
410
411 void UART2_RxCpltCallback(UART_HandleTypeDef *huart)
412 {
413 HAL_UART_Transmit(&huart1, &huart2_rxc, 1, 100);
414 HAL_UART_Receive_IT(&huart2, &huart2_rxc, 1);
415 }
416 // void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
417 // {
418 // else if (huart == &huart2)
419 // {
420 // }
421 // }
### Stack #####################################################################
[0] from 0x08001168 in UART2_RxCpltCallback+0 at Core/Src/main.c:412
[1] from 0x0800348a in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035dc in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001590 in USART2_IRQHandler+8 at Core/Src/stm32l4xx_it.c:225
[4] from 0xffffffe9
[5] from 0x080042a2 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:143
[6] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x08001168 in UART2_RxCpltCallback+0 at Core/Src/main.c:412
### Variables #################################################################
arg huart = 0x20000b14 <huart2>: {Instance = 0x40004400,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d4, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
~
0x08004298 p_serial_mgr_service+0 movs r3, #0
0x0800429a p_serial_mgr_service+2 b.n 0x800429e <p_serial_mgr_service+6>
0x0800429c p_serial_mgr_service+4 adds r3, #1
0x0800429e p_serial_mgr_service+6 ldr r2, [pc, #36] ; (0x80042c4 <p_serial_mgr_service+44>)
0x080042a0 p_serial_mgr_service+8 ldrh r2, [r2, #6]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x08004298 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer;
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x08004298 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x08004298 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d4, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042a2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x08004298 p_serial_mgr_service+0 movs r3, #0
0x0800429a p_serial_mgr_service+2 b.n 0x800429e <p_serial_mgr_service+6>
0x0800429c p_serial_mgr_service+4 adds r3, #1
0x0800429e p_serial_mgr_service+6 ldr r2, [pc, #36] ; (0x80042c4 <p_serial_mgr_service+44>)
0x080042a0 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a2 p_serial_mgr_service+10 cmp r2, r3
0x080042a4 p_serial_mgr_service+12 ble.n 0x80042be <p_serial_mgr_service+38>
0x080042a6 p_serial_mgr_service+14 ldr r2, [pc, #28] ; (0x80042c4 <p_serial_mgr_service+44>)
0x080042a8 p_serial_mgr_service+16 ldr r2, [r2, #0]
0x080042aa p_serial_mgr_service+18 mov.w r1, #268 ; 0x10c
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x080042a2 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer;
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a2 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x080042a2 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d4, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x0800151c in main () at Core/Src/main.c:144
144 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 movs r1, #0
0x08001510 main+156 mov r0, r4
0x08001512 main+158 bl 0x8004370 <memset>
0x08001516 main+162 bl 0x8004298 <p_serial_mgr_service>
0x0800151a main+166 mov r4, r0
0x0800151c main+168 cmp r0, #0
0x0800151e main+170 beq.n 0x8001516 <main+162>
0x08001520 main+172 ldrb r2, [r0, #1]
0x08001522 main+174 ldrb r1, [r0, #0]
0x08001524 main+176 ldr r0, [pc, #48] ; (0x8001558 <main+228>)
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x0800151c control 0x04
### Source ####################################################################
134 while (1)
135 {
136 // if (b_timer_struck)
137 // {
138 // // PDEBUG("%d\n", sys_time);
139 // b_timer_struck = false;
140 // motor_degrees = (motor_degrees + 1) % 360;
141 // mc_service(motor_degrees, 50);
142 // }
143 serial_pkt_t *pkt = NULL;
144 if ((pkt = p_serial_mgr_service()) != NULL)
145 {
146 PDEBUG("Source: %02x\n"
147 "Destination: %02x\n",
148 pkt->src_addr, pkt->dest_addr);
149 PDEBUG("Frame Data: \n");
150 for (int ind = 0; ind < pkt->len; pkt++)
151 {
152 if (ind % 8 == 0)
153 {
### Stack #####################################################################
[0] from 0x0800151c in main+168 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x0800151c in main+168 at Core/Src/main.c:144
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234837,frame_data = "a\025\000\bc\0…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080042d4 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d4, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Breakpoint 1 at 0x8001520: file Core/Src/main.c, line 146.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042be in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:150
150 return NULL;
### Assembly ##################################################################
0x080042b2 p_serial_mgr_service+26 ldrb.w r2, [r2, #265] ; 0x109
0x080042b6 p_serial_mgr_service+30 cmp r2, #0
0x080042b8 p_serial_mgr_service+32 beq.n 0x800429c <p_serial_mgr_service+4>
0x080042ba p_serial_mgr_service+34 ldr r0, [pc, #8] ; (0x80042c4 <p_serial_mgr_service+44>)
0x080042bc p_serial_mgr_service+36 bx lr
0x080042be p_serial_mgr_service+38 movs r0, #0
0x080042c0 p_serial_mgr_service+40 bx lr
0x080042c2 p_serial_mgr_service+42 nop
0x080042c4 p_serial_mgr_service+44 asrs r4, r3, #25
0x080042c6 p_serial_mgr_service+46 movs r0, #0
### Breakpoints ###############################################################
[1] break at 0x08001520 in Core/Src/main.c:146 for /storage/Shared/Projects/Penguinator/motor_controller/Core/Src/main.c:145
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x080042be control 0x04
### Source ####################################################################
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer;
148 }
149 }
150 return NULL;
151 }
152
153 void p_serial_mgr_start()
154 {
155 HAL_UART_Receive_IT(_serial_huart_inst, &rxc, 1);
156 }
~
~
~
### Stack #####################################################################
[0] from 0x080042be in p_serial_mgr_service+38 at shared/drivers/p_serial_mgr.c:150
[1] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x080042be in p_serial_mgr_service+38 at shared/drivers/p_serial_mgr.c:150
### Variables #################################################################
###############################################################################
### Output/messages ###########################################################
halted: PC: 0x080042c0
halted: PC: 0x0800151a
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
~
0x08004298 p_serial_mgr_service+0 movs r3, #0
0x0800429a p_serial_mgr_service+2 b.n 0x800429e <p_serial_mgr_service+6>
0x0800429c p_serial_mgr_service+4 adds r3, #1
0x0800429e p_serial_mgr_service+6 ldr r2, [pc, #36] ; (0x80042c4 <p_serial_mgr_service+44>)
0x080042a0 p_serial_mgr_service+8 ldrh r2, [r2, #6]
### Breakpoints ###############################################################
[1] break at 0x08001520 in Core/Src/main.c:146 for /storage/Shared/Projects/Penguinator/motor_controller/Core/Src/main.c:145
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x08004298 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer;
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x08004298 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x08004298 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
### Output/messages ###########################################################
halted: PC: 0x0800429a
halted: PC: 0x0800429e
halted: PC: 0x080042a0
halted: PC: 0x080042a2
halted: PC: 0x080042a4
halted: PC: 0x080042be
halted: PC: 0x080042c0
halted: PC: 0x0800151a
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
halted: PC: 0x0800151e
halted: PC: 0x08001516
halted: PC: 0x08004298
halted: PC: 0x0800151c
Program received signal SIGINT, Interrupt.
0x0800151c in main () at Core/Src/main.c:144
144 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 movs r1, #0
0x08001510 main+156 mov r0, r4
0x08001512 main+158 bl 0x8004370 <memset>
0x08001516 main+162 bl 0x8004298 <p_serial_mgr_service>
0x0800151a main+166 mov r4, r0
0x0800151c main+168 cmp r0, #0
0x0800151e main+170 beq.n 0x8001516 <main+162>
!0x08001520 main+172 ldrb r2, [r0, #1]
0x08001522 main+174 ldrb r1, [r0, #0]
0x08001524 main+176 ldr r0, [pc, #48] ; (0x8001558 <main+228>)
### Breakpoints ###############################################################
[1] break at 0x08001520 in Core/Src/main.c:146 for /storage/Shared/Projects/Penguinator/motor_controller/Core/Src/main.c:145
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x0800151c control 0x04
### Source ####################################################################
134 while (1)
135 {
136 // if (b_timer_struck)
137 // {
138 // // PDEBUG("%d\n", sys_time);
139 // b_timer_struck = false;
140 // motor_degrees = (motor_degrees + 1) % 360;
141 // mc_service(motor_degrees, 50);
142 // }
143 serial_pkt_t *pkt = NULL;
144 if ((pkt = p_serial_mgr_service()) != NULL)
145 {
!146 PDEBUG("Source: %02x\n"
147 "Destination: %02x\n",
148 pkt->src_addr, pkt->dest_addr);
149 PDEBUG("Frame Data: \n");
150 for (int ind = 0; ind < pkt->len; pkt++)
151 {
152 if (ind % 8 == 0)
153 {
### Stack #####################################################################
[0] from 0x0800151c in main+168 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x0800151c in main+168 at Core/Src/main.c:144
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234837,frame_data = "a\025\000\bc\0…
###############################################################################
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x0800151c in main () at Core/Src/main.c:144
144 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 movs r1, #0
0x08001510 main+156 mov r0, r4
0x08001512 main+158 bl 0x8004370 <memset>
0x08001516 main+162 bl 0x8004298 <p_serial_mgr_service>
0x0800151a main+166 mov r4, r0
0x0800151c main+168 cmp r0, #0
0x0800151e main+170 beq.n 0x8001516 <main+162>
0x08001520 main+172 ldrb r2, [r0, #1]
0x08001522 main+174 ldrb r1, [r0, #0]
0x08001524 main+176 ldr r0, [pc, #48] ; (0x8001558 <main+228>)
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x0800151c control 0x04
### Source ####################################################################
134 while (1)
135 {
136 // if (b_timer_struck)
137 // {
138 // // PDEBUG("%d\n", sys_time);
139 // b_timer_struck = false;
140 // motor_degrees = (motor_degrees + 1) % 360;
141 // mc_service(motor_degrees, 50);
142 // }
143 serial_pkt_t *pkt = NULL;
144 if ((pkt = p_serial_mgr_service()) != NULL)
145 {
146 PDEBUG("Source: %02x\n"
147 "Destination: %02x\n",
148 pkt->src_addr, pkt->dest_addr);
149 PDEBUG("Frame Data: \n");
150 for (int ind = 0; ind < pkt->len; pkt++)
151 {
152 if (ind % 8 == 0)
153 {
### Stack #####################################################################
[0] from 0x0800151c in main+168 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x0800151c in main+168 at Core/Src/main.c:144
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234837,frame_data = "a\025\000\bc\0…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080042d4 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d4, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Breakpoint 1 at 0x8001520: file Core/Src/main.c, line 146.
Note: automatically using hardware breakpoints for read-only addresses.
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
Reset_Handler () at startup_stm32l432xx.s:65
65 bl SystemInit
### Assembly ##################################################################
0x080042d4 ? ldr.w sp, [pc, #52] ; 0x800430c <LoopForever+6>
0x080042d8 ? bl 0x8004060 <SystemInit>
0x080042dc ? ldr r0, [pc, #48] ; (0x8004310 <LoopForever+10>)
0x080042de ? ldr r1, [pc, #52] ; (0x8004314 <LoopForever+14>)
0x080042e0 ? ldr r2, [pc, #52] ; (0x8004318 <LoopForever+18>)
0x080042e2 ? movs r3, #0
0x080042e4 ? b.n 0x80042ec <Reset_Handler+28>
0x080042e6 ? ldr r4, [r2, r3]
0x080042e8 ? str r4, [r0, r3]
0x080042ea ? adds r3, #4
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x01000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000000
r2 0x00000000 r10 0x00000000 msp 0x20010000
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00000000 primask 0x00
r5 0x00000000 sp 0x20010000 basepri 0x00
r6 0x00000000 lr 0xffffffff faultmask 0x00
r7 0x00000000 pc 0x080042d4 control 0x00
### Source ####################################################################
55 * @retval : None
56 */
57
58 .section .text.Reset_Handler
59 .weak Reset_Handler
60 .type Reset_Handler, %function
61 Reset_Handler:
62 ldr sp, =_estack /* Set stack pointer */
63
64 /* Call the clock system initialization function.*/
65 bl SystemInit
66
67 /* Copy the data segment initializers from flash to SRAM */
68 ldr r0, =_sdata
69 ldr r1, =_edata
70 ldr r2, =_sidata
71 movs r3, #0
72 b LoopCopyDataInit
73
74 CopyDataInit:
### Stack #####################################################################
[0] from 0x080042d4 in Reset_Handler at startup_stm32l432xx.s:65
### Threads ###################################################################
[1] id 0 from 0x080042d4 in Reset_Handler at startup_stm32l432xx.s:65
### Variables #################################################################
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d0, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042bc in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:150
150 return NULL;
### Assembly ##################################################################
0x080042ae p_serial_mgr_service+22 mla r0, r2, r3, r0
0x080042b2 p_serial_mgr_service+26 ldrb.w r2, [r0, #265] ; 0x109
0x080042b6 p_serial_mgr_service+30 cmp r2, #0
0x080042b8 p_serial_mgr_service+32 beq.n 0x800429c <p_serial_mgr_service+4>
0x080042ba p_serial_mgr_service+34 b.n 0x80042be <p_serial_mgr_service+38>
0x080042bc p_serial_mgr_service+36 movs r0, #0
0x080042be p_serial_mgr_service+38 bx lr
0x080042c0 p_serial_mgr_service+40 asrs r4, r3, #25
0x080042c2 p_serial_mgr_service+42 movs r0, #0
~
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x080042bc control 0x04
### Source ####################################################################
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
153 void p_serial_mgr_start()
154 {
155 HAL_UART_Receive_IT(_serial_huart_inst, &rxc, 1);
156 }
~
~
~
### Stack #####################################################################
[0] from 0x080042bc in p_serial_mgr_service+36 at shared/drivers/p_serial_mgr.c:150
[1] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x080042bc in p_serial_mgr_service+36 at shared/drivers/p_serial_mgr.c:150
### Variables #################################################################
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080042d0 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9678 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009838
Loading section .ARM, size 0x8 lma 0x8009d10
Loading section .init_array, size 0x8 lma 0x8009d18
Loading section .fini_array, size 0x8 lma 0x8009d20
Loading section .data, size 0x9a8 lma 0x8009d28
Start address 0x080042d0, load size 42656
Transfer rate: 29 KB/sec, 4739 bytes/write.
No line 146 in the current file.
Quit
Breakpoint 1 at 0x8001520: file Core/Src/main.c, line 146.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042a0 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
0x08004298 p_serial_mgr_service+0 movs r3, #0
0x0800429a p_serial_mgr_service+2 b.n 0x800429e <p_serial_mgr_service+6>
0x0800429c p_serial_mgr_service+4 adds r3, #1
0x0800429e p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c0 <p_serial_mgr_service+40>)
0x080042a0 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a2 p_serial_mgr_service+10 cmp r2, r3
0x080042a4 p_serial_mgr_service+12 ble.n 0x80042bc <p_serial_mgr_service+36>
0x080042a6 p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c0 <p_serial_mgr_service+40>)
0x080042a8 p_serial_mgr_service+16 ldr r0, [r2, #0]
### Breakpoints ###############################################################
[1] break at 0x08001520 in Core/Src/main.c:146 for main.c:146
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x2000165c r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x080042a0 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a0 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151a in main+166 at Core/Src/main.c:144
### Threads ###################################################################
[1] id 0 from 0x080042a0 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x080042a0 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
0x0800429c p_serial_mgr_service+0 adds r3, #1
0x0800429e p_serial_mgr_service+2 ldr r2, [pc, #32] ; (0x80042c0 <p_serial_mgr_service+36>)
0x080042a0 p_serial_mgr_service+4 ldrh r2, [r2, #6]
0x080042a2 p_serial_mgr_service+6 cmp r2, r3
0x080042a4 p_serial_mgr_service+8 ble.n 0x80042bc <p_serial_mgr_service+32>
0x080042a6 p_serial_mgr_service+10 ldr r2, [pc, #24] ; (0x80042c0 <p_serial_mgr_service+36>)
0x080042a8 p_serial_mgr_service+12 ldr r0, [r2, #0]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x2000165c r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151b faultmask 0x00
r7 0x00000000 pc 0x080042a0 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a0 in p_serial_mgr_service+4 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151a in main+166 at Core/Src/main.c:161
### Threads ###################################################################
[1] id 0 from 0x080042a0 in p_serial_mgr_service+4 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9690 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009850
Loading section .ARM, size 0x8 lma 0x8009d28
Loading section .init_array, size 0x8 lma 0x8009d30
Loading section .fini_array, size 0x8 lma 0x8009d38
Loading section .data, size 0x9a8 lma 0x8009d40
Start address 0x080042ec, load size 42680
Transfer rate: 29 KB/sec, 4742 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042a2 in p_serial_mgr_init (huart=<optimized out>) at shared/drivers/p_serial_mgr.c:139
139 }
### Assembly ##################################################################
0x08004298 p_serial_mgr_init+20 asrs r4, r3, #25
0x0800429a p_serial_mgr_init+22 movs r0, #0
0x0800429c p_serial_mgr_init+24 movs r3, #0
0x0800429e p_serial_mgr_init+26 b.n 0x80042a2 <p_serial_mgr_init+30>
0x080042a0 p_serial_mgr_init+28 adds r3, #1
0x080042a2 p_serial_mgr_init+30 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+24>)
0x080042a4 p_serial_mgr_init+32 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_init+34 cmp r2, r3
0x080042a8 p_serial_mgr_init+36 ble.n 0x80042c0 <p_serial_mgr_service+20>
0x080042aa p_serial_mgr_init+38 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+24>)
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a2 control 0x04
### Source ####################################################################
129 // HAL_UART_Transmit(&huart2, &huart2_rxc, 1, 500);
130 // HAL_UART_Receive_IT(&huart1, &huart1_rxc, 1);
131 // HAL_GPIO_WritePin(USART1_DE_GPIO_Port, USART1_DE_Pin, 0);
132 }
133 void p_serial_mgr_init(UART_HandleTypeDef *huart)
134 {
135 _serial_huart_inst = huart;
136 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
137
138 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
139 }
140
141 serial_pkt_t *p_serial_mgr_service(void)
142 {
143 // this will be less garbage when i switch to a queue
144 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
145 {
146 if (serial_pkt_cb.buffer[ind].b_ready)
147 {
148 return &serial_pkt_cb.buffer[ind];
### Stack #####################################################################
[0] from 0x080042a2 in p_serial_mgr_init+30 at shared/drivers/p_serial_mgr.c:139
[1] from 0x200016b4 in heap_end
### Threads ###################################################################
[1] id 0 from 0x080042a2 in p_serial_mgr_init+30 at shared/drivers/p_serial_mgr.c:139
### Variables #################################################################
arg huart = <optimized out>
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96a0 lma 0x80001c0
Loading section .rodata, size 0x4e0 lma 0x8009860
Loading section .ARM, size 0x8 lma 0x8009d40
Loading section .init_array, size 0x8 lma 0x8009d48
Loading section .fini_array, size 0x8 lma 0x8009d50
Loading section .data, size 0x9a8 lma 0x8009d58
Start address 0x080042fc, load size 42704
Transfer rate: 29 KB/sec, 4744 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042b2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:145
145 if (serial_pkt_cb.buffer[ind].b_ready)
### Assembly ##################################################################
0x080042a8 p_serial_mgr_service+12 asrs r4, r3, #25
0x080042aa p_serial_mgr_service+14 movs r0, #0
0x080042ac p_serial_mgr_service+16 movs r3, #0
0x080042ae p_serial_mgr_service+18 b.n 0x80042b2 <p_serial_mgr_service+22>
0x080042b0 p_serial_mgr_service+20 adds r3, #1
0x080042b2 p_serial_mgr_service+22 ldr r2, [pc, #32] ; (0x80042d4 <p_serial_mgr_start+12>)
0x080042b4 p_serial_mgr_service+24 ldrh r2, [r2, #6]
0x080042b6 p_serial_mgr_service+26 cmp r2, r3
0x080042b8 p_serial_mgr_service+28 ble.n 0x80042d0 <p_serial_mgr_start+8>
0x080042ba p_serial_mgr_service+30 ldr r2, [pc, #24] ; (0x80042d4 <p_serial_mgr_start+12>)
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042b2 control 0x04
### Source ####################################################################
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
153 void p_serial_mgr_start()
154 {
### Stack #####################################################################
[0] from 0x080042b2 in p_serial_mgr_service+22 at shared/drivers/p_serial_mgr.c:145
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042b2 in p_serial_mgr_service+22 at shared/drivers/p_serial_mgr.c:145
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9690 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009850
Loading section .ARM, size 0x8 lma 0x8009d28
Loading section .init_array, size 0x8 lma 0x8009d30
Loading section .fini_array, size 0x8 lma 0x8009d38
Loading section .data, size 0x9a8 lma 0x8009d40
Start address 0x080042ec, load size 42680
Transfer rate: 29 KB/sec, 4742 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042a4 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
0x0800429c p_serial_mgr_service+0 movs r3, #0
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_service+10 cmp r2, r3
0x080042a8 p_serial_mgr_service+12 ble.n 0x80042c0 <p_serial_mgr_service+36>
0x080042aa p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042ac p_serial_mgr_service+16 ldr r0, [r2, #0]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x2000165c r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a4 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a4 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042a4 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080042ec msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9690 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009850
Loading section .ARM, size 0x8 lma 0x8009d28
Loading section .init_array, size 0x8 lma 0x8009d30
Loading section .fini_array, size 0x8 lma 0x8009d38
Loading section .data, size 0x9a8 lma 0x8009d40
Start address 0x080042ec, load size 42680
Transfer rate: 29 KB/sec, 4742 bytes/write.
Breakpoint 1 at 0x800151a: file Core/Src/main.c, line 146.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 1, main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150a main+150 bl 0x8004078 <p_printf>
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x8004388 <memset>
!0x0800151a main+166 bl 0x800429c <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
### Breakpoints ###############################################################
[1] break at 0x0800151a in Core/Src/main.c:146 for main.c:146 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013800 r10 0x00000000 msp 0x2000fff0
r3 0x40001000 r11 0x00000000 psp 0x00000000
r4 0x20000b14 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x08003fad faultmask 0x00
r7 0x00000000 pc 0x0800151a control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
!146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151a in main+166 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234861,frame_data = "e\025\000\bg\0…
###############################################################################
### Output/messages ###########################################################
halted: PC: 0x0800429c
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
~
0x0800429c p_serial_mgr_service+0 movs r3, #0
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
### Breakpoints ###############################################################
[1] break at 0x0800151a in Core/Src/main.c:146 for main.c:146 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013800 r10 0x00000000 msp 0x2000fff0
r3 0x40001000 r11 0x00000000 psp 0x00000000
r4 0x20000b14 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800429c control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x0800429c in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800429c in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Breakpoint 2 at 0x8001524: file Core/Src/main.c, line 148.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042a8 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_service+10 cmp r2, r3
0x080042a8 p_serial_mgr_service+12 ble.n 0x80042c0 <p_serial_mgr_service+36>
0x080042aa p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042ac p_serial_mgr_service+16 ldr r0, [r2, #0]
0x080042ae p_serial_mgr_service+18 mov.w r2, #268 ; 0x10c
0x080042b2 p_serial_mgr_service+22 mla r0, r2, r3, r0
### Breakpoints ###############################################################
[2] break at 0x08001524 in Core/Src/main.c:148 for main.c:147
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a8 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042a8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x080042a8 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_service+10 cmp r2, r3
0x080042a8 p_serial_mgr_service+12 ble.n 0x80042c0 <p_serial_mgr_service+36>
0x080042aa p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042ac p_serial_mgr_service+16 ldr r0, [r2, #0]
0x080042ae p_serial_mgr_service+18 mov.w r2, #268 ; 0x10c
0x080042b2 p_serial_mgr_service+22 mla r0, r2, r3, r0
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a8 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042a8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9690 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009850
Loading section .ARM, size 0x8 lma 0x8009d28
Loading section .init_array, size 0x8 lma 0x8009d30
Loading section .fini_array, size 0x8 lma 0x8009d38
Loading section .data, size 0x9a8 lma 0x8009d40
Start address 0x080042ec, load size 42680
Transfer rate: 29 KB/sec, 4742 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042c2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:151
151 }
### Assembly ##################################################################
0x080042b6 p_serial_mgr_service+26 ldrb.w r2, [r0, #265] ; 0x109
0x080042ba p_serial_mgr_service+30 cmp r2, #0
0x080042bc p_serial_mgr_service+32 beq.n 0x80042a0 <p_serial_mgr_service+4>
0x080042be p_serial_mgr_service+34 b.n 0x80042c2 <p_serial_mgr_service+38>
0x080042c0 p_serial_mgr_service+36 movs r0, #0
0x080042c2 p_serial_mgr_service+38 bx lr
0x080042c4 p_serial_mgr_service+40 asrs r4, r3, #25
0x080042c6 p_serial_mgr_service+42 movs r0, #0
~
~
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042c2 control 0x04
### Source ####################################################################
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
153 void p_serial_mgr_start()
154 {
155 HAL_UART_Receive_IT(_serial_huart_inst, &rxc, 1);
156 }
~
~
~
~
### Stack #####################################################################
[0] from 0x080042c2 in p_serial_mgr_service+38 at shared/drivers/p_serial_mgr.c:151
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042c2 in p_serial_mgr_service+38 at shared/drivers/p_serial_mgr.c:151
### Variables #################################################################
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080042ec msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9690 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009850
Loading section .ARM, size 0x8 lma 0x8009d28
Loading section .init_array, size 0x8 lma 0x8009d30
Loading section .fini_array, size 0x8 lma 0x8009d38
Loading section .data, size 0x9a8 lma 0x8009d40
Start address 0x080042ec, load size 42680
Transfer rate: 29 KB/sec, 4742 bytes/write.
Breakpoint 1 at 0x8001524: file Core/Src/main.c, line 148.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042a6 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x0800429c p_serial_mgr_service+0 movs r3, #0
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_service+10 cmp r2, r3
0x080042a8 p_serial_mgr_service+12 ble.n 0x80042c0 <p_serial_mgr_service+36>
0x080042aa p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042ac p_serial_mgr_service+16 ldr r0, [r2, #0]
0x080042ae p_serial_mgr_service+18 mov.w r2, #268 ; 0x10c
### Breakpoints ###############################################################
[1] break at 0x08001524 in Core/Src/main.c:148 for main.c:147
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a6 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a6 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042a6 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Breakpoint 2 at 0x8004122: file shared/drivers/p_serial_mgr.c, line 46.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 2, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ##################################################################
0x08004114 UART1_RxCpltCallback+8 bhi.w 0x8004250 <UART1_RxCpltCallback+324>
0x08004118 UART1_RxCpltCallback+12 tbb [pc, r3]
0x0800411c UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x0800411e UART1_RxCpltCallback+18 str r4, [r7, #0]
0x08004120 UART1_RxCpltCallback+20 lsls r6, r7, #1
!0x08004122 UART1_RxCpltCallback+22 ldr r3, [pc, #312] ; (0x800425c <UART1_RxCpltCallback+336>)
0x08004124 UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
0x08004126 UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004128 UART1_RxCpltCallback+28 bne.w 0x8004242 <UART1_RxCpltCallback+310>
0x0800412c UART1_RxCpltCallback+32 ldr r3, [pc, #296] ; (0x8004258 <UART1_RxCpltCallback+332>)
### Breakpoints ###############################################################
[1] break at 0x08001524 in Core/Src/main.c:148 for main.c:147
[2] break at 0x08004122 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:43 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x08004122 control 0x00
### Source ####################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack #####################################################################
[0] from 0x08004122 in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x08004122 in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$1 = 126 '~'
$2 = 126 '~'
$3 = 0x7e
Continuing.
### Output/messages ###########################################################
halted: PC: 0x08004124
Program received signal SIGINT, Interrupt.
0x080042a2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
0x0800429c p_serial_mgr_service+0 movs r3, #0
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_service+10 cmp r2, r3
0x080042a8 p_serial_mgr_service+12 ble.n 0x80042c0 <p_serial_mgr_service+36>
0x080042aa p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+40>)
### Breakpoints ###############################################################
[1] break at 0x08001524 in Core/Src/main.c:148 for main.c:147
[2] break at 0x08004122 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:43 hit 1 time
### Expressions ###############################################################
### History ###################################################################
$$2 = 126 '~'
$$1 = 126 '~'
$$0 = 126 '~'
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a2 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a2 in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042a2 in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Continuing.
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042c0 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:150
150 return NULL;
### Assembly ##################################################################
0x080042b2 p_serial_mgr_service+22 mla r0, r2, r3, r0
0x080042b6 p_serial_mgr_service+26 ldrb.w r2, [r0, #265] ; 0x109
0x080042ba p_serial_mgr_service+30 cmp r2, #0
0x080042bc p_serial_mgr_service+32 beq.n 0x80042a0 <p_serial_mgr_service+4>
0x080042be p_serial_mgr_service+34 b.n 0x80042c2 <p_serial_mgr_service+38>
0x080042c0 p_serial_mgr_service+36 movs r0, #0
0x080042c2 p_serial_mgr_service+38 bx lr
0x080042c4 p_serial_mgr_service+40 asrs r4, r3, #25
0x080042c6 p_serial_mgr_service+42 movs r0, #0
~
### Breakpoints ###############################################################
[1] break at 0x08001524 in Core/Src/main.c:148 for main.c:147
[2] break at 0x08004122 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:43 hit 1 time
### Expressions ###############################################################
### History ###################################################################
$$2 = 126 '~'
$$1 = 126 '~'
$$0 = 126 '~'
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042c0 control 0x04
### Source ####################################################################
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
153 void p_serial_mgr_start()
154 {
155 HAL_UART_Receive_IT(_serial_huart_inst, &rxc, 1);
156 }
~
~
~
### Stack #####################################################################
[0] from 0x080042c0 in p_serial_mgr_service+36 at shared/drivers/p_serial_mgr.c:150
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042c0 in p_serial_mgr_service+36 at shared/drivers/p_serial_mgr.c:150
### Variables #################################################################
###############################################################################
### Output/messages ###########################################################
halted: PC: 0x080042c2
halted: PC: 0x0800151e
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
halted: PC: 0x08001520
halted: PC: 0x08001522
halted: PC: 0x0800151a
halted: PC: 0x0800429c
Program received signal SIGINT, Interrupt.
0x0800151e in main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x8004388 <memset>
0x0800151a main+166 bl 0x800429c <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
!0x08001524 main+176 ldrb r2, [r0, #1]
0x08001526 main+178 ldrb r1, [r0, #0]
### Breakpoints ###############################################################
[1] break at 0x08001524 in Core/Src/main.c:148 for main.c:147
[2] break at 0x08004122 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:43 hit 1 time
### Expressions ###############################################################
### History ###################################################################
$$2 = 126 '~'
$$1 = 126 '~'
$$0 = 126 '~'
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151e control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
!148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151e in main+170 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234861,frame_data = "e\025\000\bg\0…
###############################################################################
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 2, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ##################################################################
0x08004114 UART1_RxCpltCallback+8 bhi.w 0x8004250 <UART1_RxCpltCallback+324>
0x08004118 UART1_RxCpltCallback+12 tbb [pc, r3]
0x0800411c UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x0800411e UART1_RxCpltCallback+18 str r4, [r7, #0]
0x08004120 UART1_RxCpltCallback+20 lsls r6, r7, #1
!0x08004122 UART1_RxCpltCallback+22 ldr r3, [pc, #312] ; (0x800425c <UART1_RxCpltCallback+336>)
0x08004124 UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
0x08004126 UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004128 UART1_RxCpltCallback+28 bne.w 0x8004242 <UART1_RxCpltCallback+310>
0x0800412c UART1_RxCpltCallback+32 ldr r3, [pc, #296] ; (0x8004258 <UART1_RxCpltCallback+332>)
### Breakpoints ###############################################################
[1] break at 0x08001524 in Core/Src/main.c:148 for main.c:147
[2] break at 0x08004122 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:43 hit 1 time
### Expressions ###############################################################
### History ###################################################################
$$2 = 126 '~'
$$1 = 126 '~'
$$0 = 126 '~'
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x08004122 control 0x00
### Source ####################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack #####################################################################
[0] from 0x08004122 in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x08004122 in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$4 = 126 '~'
Breakpoint 3 at 0x8004218: file shared/drivers/p_serial_mgr.c, line 113.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042a2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
0x0800429c p_serial_mgr_service+0 movs r3, #0
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_service+10 cmp r2, r3
0x080042a8 p_serial_mgr_service+12 ble.n 0x80042c0 <p_serial_mgr_service+36>
0x080042aa p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+40>)
### Breakpoints ###############################################################
[3] break at 0x08004218 in shared/drivers/p_serial_mgr.c:113 for p_serial_mgr.c:113
### Expressions ###############################################################
### History ###################################################################
$$2 = 126 '~'
$$1 = 126 '~'
$$0 = 126 '~'
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a2 control 0x04
### Source ####################################################################
133 {
134 _serial_huart_inst = huart;
135 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
136
137 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
138 }
139
140 serial_pkt_t *p_serial_mgr_service(void)
141 {
142 // this will be less garbage when i switch to a queue
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
144 {
145 if (serial_pkt_cb.buffer[ind].b_ready)
146 {
147 return &serial_pkt_cb.buffer[ind];
148 }
149 }
150 return NULL;
151 }
152
### Stack #####################################################################
[0] from 0x080042a2 in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042a2 in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Breakpoint 4 at 0x8004172: file shared/drivers/p_serial_mgr.c, line 68.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042a8 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:143
143 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x0800429e p_serial_mgr_service+2 b.n 0x80042a2 <p_serial_mgr_service+6>
0x080042a0 p_serial_mgr_service+4 adds r3, #1
0x080042a2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042a4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_service+10 cmp r2, r3
0x080042a8 p_serial_mgr_service+12 ble.n 0x80042c0 <p_serial_mgr_service+36>
0x080042aa p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+40>)
0x080042ac p_serial_mgr_service+16 ldr r0, [r2, #0]
0x080042ae p_serial_mgr_service+18 mov.w r2, #268 ; 0x10c
0x080042b2 p_serial_mgr_service+22 mla r0, r2, r3, r0
### Breakpoints ###############################################################
[3] break at 0x08004218 in shared/drivers/p_serial_mgr.c:113 for p_serial_mgr.c:113
[4] break at 0x08004172 in shared/drivers/p_serial_mgr.c:68 for p_serial_mgr.c:68
### Expressions ###############################################################
### History ###################################################################
$$2 = 126 '~'
$$1 = 126 '~'
$$0 = 126 '~'
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a8 control 0x04
### Source ####################################################################
133 }
134 void p_serial_mgr_init(UART_HandleTypeDef *huart)
135 {
136 _serial_huart_inst = huart;
137 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
138
139 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
140 }
141
142 serial_pkt_t *p_serial_mgr_service(void)
143 {
144 // this will be less garbage when i switch to a queue
145 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
146 {
147 if (serial_pkt_cb.buffer[ind].b_ready)
148 {
149 return &serial_pkt_cb.buffer[ind];
150 }
151 }
152 return NULL;
### Stack #####################################################################
[0] from 0x080042a8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:143
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042a8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:143
### Variables #################################################################
loc ind = 0
###############################################################################
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x080042a8 in p_serial_mgr_init (huart=<optimized out>) at shared/drivers/p_serial_mgr.c:140
140 }
### Assembly ##################################################################
0x0800429e p_serial_mgr_init+22 b.n 0x80042a2 <p_serial_mgr_init+26>
0x080042a0 p_serial_mgr_init+24 adds r3, #1
0x080042a2 p_serial_mgr_init+26 ldr r2, [pc, #32] ; (0x80042c4 <p_serial_mgr_service+20>)
0x080042a4 p_serial_mgr_init+28 ldrh r2, [r2, #6]
0x080042a6 p_serial_mgr_init+30 cmp r2, r3
0x080042a8 p_serial_mgr_init+32 ble.n 0x80042c0 <p_serial_mgr_service+16>
0x080042aa p_serial_mgr_init+34 ldr r2, [pc, #24] ; (0x80042c4 <p_serial_mgr_service+20>)
0x080042ac p_serial_mgr_init+36 ldr r0, [r2, #0]
0x080042ae p_serial_mgr_init+38 mov.w r2, #268 ; 0x10c
~
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042a8 control 0x04
### Source ####################################################################
130 // HAL_UART_Transmit(&huart2, &huart2_rxc, 1, 500);
131 // HAL_UART_Receive_IT(&huart1, &huart1_rxc, 1);
132 // HAL_GPIO_WritePin(USART1_DE_GPIO_Port, USART1_DE_Pin, 0);
133 }
134 void p_serial_mgr_init(UART_HandleTypeDef *huart)
135 {
136 _serial_huart_inst = huart;
137 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
138
139 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
140 }
141
142 serial_pkt_t *p_serial_mgr_service(void)
143 {
144 // this will be less garbage when i switch to a queue
145 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
146 {
147 if (serial_pkt_cb.buffer[ind].b_ready)
148 {
149 return &serial_pkt_cb.buffer[ind];
### Stack #####################################################################
[0] from 0x080042a8 in p_serial_mgr_init+32 at shared/drivers/p_serial_mgr.c:140
[1] from 0x200016b4 in heap_end
### Threads ###################################################################
[1] id 0 from 0x080042a8 in p_serial_mgr_init+32 at shared/drivers/p_serial_mgr.c:140
### Variables #################################################################
arg huart = <optimized out>
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96a8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009868
Loading section .ARM, size 0x8 lma 0x8009d40
Loading section .init_array, size 0x8 lma 0x8009d48
Loading section .fini_array, size 0x8 lma 0x8009d50
Loading section .data, size 0x9a8 lma 0x8009d58
Start address 0x08004300, load size 42704
Transfer rate: 29 KB/sec, 4744 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:145
145 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
~
0x080042b0 p_serial_mgr_service+0 movs r3, #0
0x080042b2 p_serial_mgr_service+2 b.n 0x80042b6 <p_serial_mgr_service+6>
0x080042b4 p_serial_mgr_service+4 adds r3, #1
0x080042b6 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042d8 <p_serial_mgr_service+40>)
0x080042b8 p_serial_mgr_service+8 ldrh r2, [r2, #6]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042b0 control 0x04
### Source ####################################################################
135 {
136 _serial_huart_inst = huart;
137 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
138
139 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
140 }
141
142 serial_pkt_t *p_serial_mgr_service(void)
143 {
144 // this will be less garbage when i switch to a queue
145 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
146 {
147 if (serial_pkt_cb.buffer[ind].b_ready)
148 {
149 return &serial_pkt_cb.buffer[ind];
150 }
151 }
152 return NULL;
153 }
154
### Stack #####################################################################
[0] from 0x080042b0 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:145
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042b0 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:145
### Variables #################################################################
loc ind = 0
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004300 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96a8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009868
Loading section .ARM, size 0x8 lma 0x8009d40
Loading section .init_array, size 0x8 lma 0x8009d48
Loading section .fini_array, size 0x8 lma 0x8009d50
Loading section .data, size 0x9a8 lma 0x8009d58
Start address 0x08004300, load size 42704
Transfer rate: 29 KB/sec, 4744 bytes/write.
Breakpoint 1 at 0x8004186: file shared/drivers/p_serial_mgr.c, line 70.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:70
70 serial_pkt_cb.buffer[serial_pkt_cb.head].len = rxc;
### Assembly ##################################################################
0x0800417c UART1_RxCpltCallback+112 ldrb r3, [r2, #0]
0x0800417e UART1_RxCpltCallback+114 adds r3, #1
0x08004180 UART1_RxCpltCallback+116 uxtb r3, r3
0x08004182 UART1_RxCpltCallback+118 strb r3, [r2, #0]
0x08004184 UART1_RxCpltCallback+120 b.n 0x8004256 <UART1_RxCpltCallback+330>
!0x08004186 UART1_RxCpltCallback+122 ldr r2, [pc, #240] ; (0x8004278 <UART1_RxCpltCallback+364>)
0x08004188 UART1_RxCpltCallback+124 ldr r3, [r2, #0]
0x0800418a UART1_RxCpltCallback+126 ldrh r2, [r2, #4]
0x0800418c UART1_RxCpltCallback+128 mov.w r1, #268 ; 0x10c
0x08004190 UART1_RxCpltCallback+132 mla r3, r1, r2, r3
### Breakpoints ###############################################################
[1] break at 0x08004186 in shared/drivers/p_serial_mgr.c:70 for p_serial_mgr.c:68 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x61000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000002 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x08004186 control 0x00
### Source ####################################################################
60 }
61 break;
62 case 1:
63 {
64 serial_pkt_cb.buffer[serial_pkt_cb.head].dest_addr = rxc;
65 start_index_tracker++;
66 }
67 break;
68 case 2:
69 {
!70 serial_pkt_cb.buffer[serial_pkt_cb.head].len = rxc;
71 frame_index_tracker = 0;
72 sstate = SS_FRAME;
73 }
74 break;
75 default:
76 {
77 // shouldnt get here
78 for (;;) {}
79 }
### Stack #####################################################################
[0] from 0x08004186 in UART1_RxCpltCallback+122 at shared/drivers/p_serial_mgr.c:70
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x08004186 in UART1_RxCpltCallback+122 at shared/drivers/p_serial_mgr.c:70
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$1 = 15 '\017'
Continuing.
### Output/messages ###########################################################
halted: PC: 0x08004188
Program received signal SIGINT, Interrupt.
0x0800151e in main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
Traceback (most recent call last):
File "<string>", line 430, in on_stop
File "<string>", line 543, in render
File "<string>", line 1334, in lines
File "<string>", line 1529, in fetch_asm
File "<string>", line 224, in process
File "/usr/lib/python3.9/site-packages/pygments/__init__.py", line 82, in highlight
return format(lex(code, lexer), formatter, outfile)
File "/usr/lib/python3.9/site-packages/pygments/__init__.py", line 61, in format
formatter.format(tokens, realoutfile)
File "/usr/lib/python3.9/site-packages/pygments/formatters/terminal256.py", line 250, in format
return Formatter.format(self, tokensource, outfile)
File "/usr/lib/python3.9/site-packages/pygments/formatter.py", line 94, in format
return self.format_unencoded(tokensource, outfile)
File "/usr/lib/python3.9/site-packages/pygments/formatters/terminal256.py", line 266, in format_unencoded
for line in spl[:-1]:
KeyboardInterrupt
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x0800151e in main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x800439c <memset>
0x0800151a main+166 bl 0x80042b0 <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
0x08001526 main+178 ldrb r1, [r0, #0]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151e control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151e in main+170 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234881,frame_data = "e\025\000\bg\0…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004300 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96a8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009868
Loading section .ARM, size 0x8 lma 0x8009d40
Loading section .init_array, size 0x8 lma 0x8009d48
Loading section .fini_array, size 0x8 lma 0x8009d50
Loading section .data, size 0x9a8 lma 0x8009d58
Start address 0x08004300, load size 42704
Transfer rate: 29 KB/sec, 4744 bytes/write.
Breakpoint 1 at 0x800422c: file shared/drivers/p_serial_mgr.c, line 115.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:145
145 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
~
0x080042b0 p_serial_mgr_service+0 movs r3, #0
0x080042b2 p_serial_mgr_service+2 b.n 0x80042b6 <p_serial_mgr_service+6>
0x080042b4 p_serial_mgr_service+4 adds r3, #1
0x080042b6 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042d8 <p_serial_mgr_service+40>)
0x080042b8 p_serial_mgr_service+8 ldrh r2, [r2, #6]
### Breakpoints ###############################################################
[1] break at 0x0800422c in shared/drivers/p_serial_mgr.c:115 for p_serial_mgr.c:113
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042b0 control 0x04
### Source ####################################################################
135 {
136 _serial_huart_inst = huart;
137 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
138
139 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
140 }
141
142 serial_pkt_t *p_serial_mgr_service(void)
143 {
144 // this will be less garbage when i switch to a queue
145 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
146 {
147 if (serial_pkt_cb.buffer[ind].b_ready)
148 {
149 return &serial_pkt_cb.buffer[ind];
150 }
151 }
152 return NULL;
153 }
154
### Stack #####################################################################
[0] from 0x080042b0 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:145
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042b0 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:145
### Variables #################################################################
loc ind = 0
###############################################################################
Quit
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:145
warning: Source file is more recent than executable.
145
### Assembly ##################################################################
~
~
~
~
~
0x080042b0 p_serial_mgr_service+0 movs r3, #0
0x080042b2 p_serial_mgr_service+2 b.n 0x80042b6 <p_serial_mgr_service+6>
0x080042b4 p_serial_mgr_service+4 adds r3, #1
0x080042b6 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042d8 <p_serial_mgr_service+40>)
0x080042b8 p_serial_mgr_service+8 ldrh r2, [r2, #6]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042b0 control 0x04
### Source ####################################################################
135 // HAL_UART_Receive_IT(&huart1, &huart1_rxc, 1);
136 // HAL_GPIO_WritePin(USART1_DE_GPIO_Port, USART1_DE_Pin, 0);
137 }
138 void p_serial_mgr_init(UART_HandleTypeDef *huart)
139 {
140 _serial_huart_inst = huart;
141 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
142
143 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
144 }
145
146 serial_pkt_t *p_serial_mgr_service(void)
147 {
148 // this will be less garbage when i switch to a queue
149 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
150 {
151 if (serial_pkt_cb.buffer[ind].b_ready)
152 {
153 return &serial_pkt_cb.buffer[ind];
154 }
### Stack #####################################################################
[0] from 0x080042b0 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:145
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042b0 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:145
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
generic_push.gdb:7: Error in sourced command file:
Canceled the download
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x08004300 in mc_init (tim=0x0) at shared/devices/motor_controller.c:10
10 }
### Assembly ##################################################################
~
~
~
~
0x080042fc mc_init+0 ; <UNDEFINED> instruction: 0xffffffff
0x08004300 mc_init+4 ; <UNDEFINED> instruction: 0xffffffff
0x08004304 mc_init+8 ; <UNDEFINED> instruction: 0xffffffff
~
~
~
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x01000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000000
r2 0x00000000 r10 0x00000000 msp 0x20010000
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00000000 primask 0x00
r5 0x00000000 sp 0x20010000 basepri 0x00
r6 0x00000000 lr 0xffffffff faultmask 0x00
r7 0x00000000 pc 0x08004300 control 0x00
### Source ####################################################################
~
1 #include "motor_controller.h"
2 #include "putil.h"
3 #include "stm32l4xx_hal_tim.h"
4 #include <math.h>
5
6 static TIM_HandleTypeDef *_motor_timer = NULL;
7 void mc_init(TIM_HandleTypeDef *tim)
8 {
9 _motor_timer = tim;
10 }
11
12 // degrees is anything from 0-359
13 // speed is anything from 0-99
14 void mc_service(uint16_t degrees, uint8_t speed)
15 {
16 float right_pwm = cos(((float)degrees * (3.1415 / 180.0f)));
17 float left_pwm = right_pwm;
18 // PDEBUG("| DEGREES | COS | SIN | \n");
19 // PDEBUG("| %7d | %-5.3f | %-5.3f | \n",
### Stack #####################################################################
[0] from 0x08004300 in mc_init+4 at shared/devices/motor_controller.c:10
[1] from 0xfffffffe
### Threads ###################################################################
[1] id 0 from 0x08004300 in mc_init+4 at shared/devices/motor_controller.c:10
### Variables #################################################################
arg tim = 0x0: {Instance = 0xffffffff,Init = {Prescaler = 4294967295,CounterMode = 4294967295,Period …
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96b0 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009870
Loading section .ARM, size 0x8 lma 0x8009d48
Loading section .init_array, size 0x8 lma 0x8009d50
Loading section .fini_array, size 0x8 lma 0x8009d58
Loading section .data, size 0x9a8 lma 0x8009d60
Start address 0x08004308, load size 42712
Transfer rate: 29 KB/sec, 4745 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150a main+150 bl 0x8004078 <p_printf>
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x80043a4 <memset>
0x0800151a main+166 bl 0x80042b8 <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151a control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151a in main+166 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234889,frame_data = "e\025\000\bg\0…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004308 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96b0 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009870
Loading section .ARM, size 0x8 lma 0x8009d48
Loading section .init_array, size 0x8 lma 0x8009d50
Loading section .fini_array, size 0x8 lma 0x8009d58
Loading section .data, size 0x9a8 lma 0x8009d60
Start address 0x08004308, load size 42712
Transfer rate: 29 KB/sec, 4745 bytes/write.
Breakpoint 1 at 0x8004234: file shared/drivers/p_serial_mgr.c, line 119.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042c2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:149
149 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x080042b8 p_serial_mgr_service+0 movs r3, #0
0x080042ba p_serial_mgr_service+2 b.n 0x80042be <p_serial_mgr_service+6>
0x080042bc p_serial_mgr_service+4 adds r3, #1
0x080042be p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042e0 <p_serial_mgr_service+40>)
0x080042c0 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042c2 p_serial_mgr_service+10 cmp r2, r3
0x080042c4 p_serial_mgr_service+12 ble.n 0x80042dc <p_serial_mgr_service+36>
0x080042c6 p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042e0 <p_serial_mgr_service+40>)
0x080042c8 p_serial_mgr_service+16 ldr r0, [r2, #0]
0x080042ca p_serial_mgr_service+18 mov.w r2, #268 ; 0x10c
### Breakpoints ###############################################################
[1] break at 0x08004234 in shared/drivers/p_serial_mgr.c:119 for p_serial_mgr.c:119
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042c2 control 0x04
### Source ####################################################################
139 {
140 _serial_huart_inst = huart;
141 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
142
143 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
144 }
145
146 serial_pkt_t *p_serial_mgr_service(void)
147 {
148 // this will be less garbage when i switch to a queue
149 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
150 {
151 if (serial_pkt_cb.buffer[ind].b_ready)
152 {
153 return &serial_pkt_cb.buffer[ind];
154 }
155 }
156 return NULL;
157 }
158
### Stack #####################################################################
[0] from 0x080042c2 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:149
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042c2 in p_serial_mgr_service+10 at shared/drivers/p_serial_mgr.c:149
### Variables #################################################################
loc ind = 0
###############################################################################
Quit
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x080042c2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:150
150 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
0x080042bc p_serial_mgr_service+0 adds r3, #1
0x080042be p_serial_mgr_service+2 ldr r2, [pc, #32] ; (0x80042e0 <p_serial_mgr_service+36>)
0x080042c0 p_serial_mgr_service+4 ldrh r2, [r2, #6]
0x080042c2 p_serial_mgr_service+6 cmp r2, r3
0x080042c4 p_serial_mgr_service+8 ble.n 0x80042dc <p_serial_mgr_service+32>
0x080042c6 p_serial_mgr_service+10 ldr r2, [pc, #24] ; (0x80042e0 <p_serial_mgr_service+36>)
0x080042c8 p_serial_mgr_service+12 ldr r0, [r2, #0]
0x080042ca p_serial_mgr_service+14 mov.w r2, #268 ; 0x10c
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042c2 control 0x04
### Source ####################################################################
140 {
141 _serial_huart_inst = huart;
142 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
143
144 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
145 }
146
147 serial_pkt_t *p_serial_mgr_service(void)
148 {
149 // this will be less garbage when i switch to a queue
150 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
151 {
152 if (serial_pkt_cb.buffer[ind].b_ready)
153 {
154 return &serial_pkt_cb.buffer[ind];
155 }
156 }
157 return NULL;
158 }
159
### Stack #####################################################################
[0] from 0x080042c2 in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:150
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042c2 in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:150
### Variables #################################################################
loc ind = 0
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004308 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96b0 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009870
Loading section .ARM, size 0x8 lma 0x8009d48
Loading section .init_array, size 0x8 lma 0x8009d50
Loading section .fini_array, size 0x8 lma 0x8009d58
Loading section .data, size 0x9a8 lma 0x8009d60
Start address 0x0800430c, load size 42712
Transfer rate: 29 KB/sec, 4745 bytes/write.
Breakpoint 1 at 0x80041e8: file shared/drivers/p_serial_mgr.c, line 87.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:87
87 asm volatile("nop");
### Assembly ##################################################################
0x080041de UART1_RxCpltCallback+210 bne.n 0x8004262 <UART1_RxCpltCallback+342>
0x080041e0 UART1_RxCpltCallback+212 ldr r3, [pc, #148] ; (0x8004278 <UART1_RxCpltCallback+364>)
0x080041e2 UART1_RxCpltCallback+214 movs r2, #4
0x080041e4 UART1_RxCpltCallback+216 strb r2, [r3, #0]
0x080041e6 UART1_RxCpltCallback+218 b.n 0x8004262 <UART1_RxCpltCallback+342>
!0x080041e8 UART1_RxCpltCallback+220 nop
0x080041ea UART1_RxCpltCallback+222 b.n 0x8004262 <UART1_RxCpltCallback+342>
0x080041ec UART1_RxCpltCallback+224 ldr r3, [pc, #136] ; (0x8004278 <UART1_RxCpltCallback+364>)
0x080041ee UART1_RxCpltCallback+226 movs r2, #3
0x080041f0 UART1_RxCpltCallback+228 strb r2, [r3, #0]
### Breakpoints ###############################################################
[1] break at 0x080041e8 in shared/drivers/p_serial_mgr.c:87 for p_serial_mgr.c:87 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x61000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x0000007e r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041e8 control 0x00
### Source ####################################################################
77 // shouldnt get here
78 for (;;) {}
79 }
80 };
81 }
82 break;
83 case SS_FRAME:
84 {
85 if (rxc == 0x7E)
86 {
!87 asm volatile("nop");
88 // error occured. bail
89 #pragma message(Reminder "add a safe escape routine for this")
90 }
91 else if (rxc == 0x7D)
92 {
93 sstate = SS_ESC;
94 }
95 else
96 {
### Stack #####################################################################
[0] from 0x080041e8 in UART1_RxCpltCallback+220 at shared/drivers/p_serial_mgr.c:87
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x080042e0 in p_serial_mgr_service+36 at shared/drivers/p_serial_mgr.c:157
[6] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041e8 in UART1_RxCpltCallback+220 at shared/drivers/p_serial_mgr.c:87
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$1 = {
src_addr = 0 '\000',
dest_addr = 0 '\000',
len = 134234893,
frame_data = "e\025\000\bg\025\000\bi\025\000\bk\025\000\bm\025\000\b", '\000' <repeats 16 times>, "o\025\000\bq\025\000\b\000\000\000\000s\025\000\bu\025\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b]C\000\b\000\000\000\000\000\000\000\000]C\000\b]C\000\b\000\000\000\000\000\000\000\000]C\000\b"...,
checksum = 0 '\000',
b_ready = false
}
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:87
87 asm volatile("nop");
### Assembly ##################################################################
0x080041de UART1_RxCpltCallback+210 bne.n 0x8004262 <UART1_RxCpltCallback+342>
0x080041e0 UART1_RxCpltCallback+212 ldr r3, [pc, #148] ; (0x8004278 <UART1_RxCpltCallback+364>)
0x080041e2 UART1_RxCpltCallback+214 movs r2, #4
0x080041e4 UART1_RxCpltCallback+216 strb r2, [r3, #0]
0x080041e6 UART1_RxCpltCallback+218 b.n 0x8004262 <UART1_RxCpltCallback+342>
0x080041e8 UART1_RxCpltCallback+220 nop
0x080041ea UART1_RxCpltCallback+222 b.n 0x8004262 <UART1_RxCpltCallback+342>
0x080041ec UART1_RxCpltCallback+224 ldr r3, [pc, #136] ; (0x8004278 <UART1_RxCpltCallback+364>)
0x080041ee UART1_RxCpltCallback+226 movs r2, #3
0x080041f0 UART1_RxCpltCallback+228 strb r2, [r3, #0]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x61000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x0000007e r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041e8 control 0x00
### Source ####################################################################
77 // shouldnt get here
78 for (;;) {}
79 }
80 };
81 }
82 break;
83 case SS_FRAME:
84 {
85 if (rxc == 0x7E)
86 {
87 asm volatile("nop");
88 // error occured. bail
89 #pragma message(Reminder "add a safe escape routine for this")
90 sstate = SS_START;
91 }
92 else if (rxc == 0x7D)
93 {
94 sstate = SS_ESC;
95 }
96 else
### Stack #####################################################################
[0] from 0x080041e8 in UART1_RxCpltCallback+220 at shared/drivers/p_serial_mgr.c:87
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x080042e0 in p_serial_mgr_service+28 at shared/drivers/p_serial_mgr.c:153
[6] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041e8 in UART1_RxCpltCallback+220 at shared/drivers/p_serial_mgr.c:87
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96b8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009878
Loading section .ARM, size 0x8 lma 0x8009d50
Loading section .init_array, size 0x8 lma 0x8009d58
Loading section .fini_array, size 0x8 lma 0x8009d60
Loading section .data, size 0x9a8 lma 0x8009d68
Start address 0x08004314, load size 42720
Transfer rate: 29 KB/sec, 4746 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042c6 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:151
151 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
0x080042c4 p_serial_mgr_service+0 movs r3, #0
0x080042c6 p_serial_mgr_service+2 b.n 0x80042ca <p_serial_mgr_service+6>
0x080042c8 p_serial_mgr_service+4 adds r3, #1
0x080042ca p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042ec <p_serial_mgr_service+40>)
0x080042cc p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042ce p_serial_mgr_service+10 cmp r2, r3
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042c6 control 0x04
### Source ####################################################################
141 {
142 _serial_huart_inst = huart;
143 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
144
145 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
146 }
147
148 serial_pkt_t *p_serial_mgr_service(void)
149 {
150 // this will be less garbage when i switch to a queue
151 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
152 {
153 if (serial_pkt_cb.buffer[ind].b_ready)
154 {
155 return &serial_pkt_cb.buffer[ind];
156 }
157 }
158 return NULL;
159 }
160
### Stack #####################################################################
[0] from 0x080042c6 in p_serial_mgr_service+2 at shared/drivers/p_serial_mgr.c:151
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042c6 in p_serial_mgr_service+2 at shared/drivers/p_serial_mgr.c:151
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96b8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009878
Loading section .ARM, size 0x8 lma 0x8009d50
Loading section .init_array, size 0x8 lma 0x8009d58
Loading section .fini_array, size 0x8 lma 0x8009d60
Loading section .data, size 0x9a8 lma 0x8009d68
Start address 0x08004314, load size 42720
Transfer rate: 29 KB/sec, 4746 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x08001b12 in HAL_TIM_IRQHandler (htim=0x20000a14 <htim6>) at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c:3978
3978 if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET)
### Assembly ##################################################################
0x08001b06 HAL_TIM_IRQHandler+222 ldr r2, [r3, #12]
0x08001b08 HAL_TIM_IRQHandler+224 tst.w r2, #128 ; 0x80
0x08001b0c HAL_TIM_IRQHandler+228 bne.n 0x8001b8a <HAL_TIM_IRQHandler+354>
0x08001b0e HAL_TIM_IRQHandler+230 ldr r3, [r4, #0]
0x08001b10 HAL_TIM_IRQHandler+232 ldr r2, [r3, #16]
0x08001b12 HAL_TIM_IRQHandler+234 tst.w r2, #256 ; 0x100
0x08001b16 HAL_TIM_IRQHandler+238 beq.n 0x8001b20 <HAL_TIM_IRQHandler+248>
0x08001b18 HAL_TIM_IRQHandler+240 ldr r2, [r3, #12]
0x08001b1a HAL_TIM_IRQHandler+242 tst.w r2, #128 ; 0x80
0x08001b1e HAL_TIM_IRQHandler+246 bne.n 0x8001b98 <HAL_TIM_IRQHandler+368>
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a14 r8 0x00000000 xPSR 0x41000046
r1 0x000000fa r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000ff78
r3 0x40001000 r11 0x00000000 psp 0x00000000
r4 0x20000a14 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000ff78 basepri 0x00
r6 0x00000000 lr 0x08001b89 faultmask 0x00
r7 0x00000000 pc 0x08001b12 control 0x00
### Source ####################################################################
3968 {
3969 __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK);
3970 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3971 htim->BreakCallback(htim);
3972 #else
3973 HAL_TIMEx_BreakCallback(htim);
3974 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
3975 }
3976 }
3977 /* TIM Break2 input event */
3978 if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET)
3979 {
3980 if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET)
3981 {
3982 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2);
3983 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3984 htim->Break2Callback(htim);
3985 #else
3986 HAL_TIMEx_Break2Callback(htim);
3987 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
### Stack #####################################################################
[0] from 0x08001b12 in HAL_TIM_IRQHandler+234 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c:3978
[1] from 0x080015a4 in TIM6_DAC_IRQHandler+8 at Core/Src/stm32l4xx_it.c:239
[2] from 0xffffffe9
[3] from 0x080042cc in p_serial_mgr_init+32 at shared/drivers/p_serial_mgr.c:147
[4] from 0x200016b4 in heap_end
### Threads ###################################################################
[1] id 0 from 0x08001b12 in HAL_TIM_IRQHandler+234 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c:3978
### Variables #################################################################
arg htim = 0x20000a14 <htim6>: {Instance = 0x40001000,Init = {Prescaler = 127,CounterMode = 0,Period =…
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96c8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009888
Loading section .ARM, size 0x8 lma 0x8009d60
Loading section .init_array, size 0x8 lma 0x8009d68
Loading section .fini_array, size 0x8 lma 0x8009d70
Loading section .data, size 0x9a8 lma 0x8009d78
Start address 0x08004324, load size 42736
Transfer rate: 29 KB/sec, 4748 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x0800151e in main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x80043c0 <memset>
0x0800151a main+166 bl 0x80042d4 <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
0x08001526 main+178 ldrb r1, [r0, #0]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151e control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151e in main+170 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234917,frame_data = "e\025\000\bg\0…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004324 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96c8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009888
Loading section .ARM, size 0x8 lma 0x8009d60
Loading section .init_array, size 0x8 lma 0x8009d68
Loading section .fini_array, size 0x8 lma 0x8009d70
Loading section .data, size 0x9a8 lma 0x8009d78
Start address 0x08004324, load size 42736
Transfer rate: 29 KB/sec, 4748 bytes/write.
Breakpoint 1 at 0x80041e8: file shared/drivers/p_serial_mgr.c, line 87.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:152
152 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
~
0x080042d4 p_serial_mgr_service+0 movs r3, #0
0x080042d6 p_serial_mgr_service+2 b.n 0x80042da <p_serial_mgr_service+6>
0x080042d8 p_serial_mgr_service+4 adds r3, #1
0x080042da p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042fc <p_serial_mgr_service+40>)
0x080042dc p_serial_mgr_service+8 ldrh r2, [r2, #6]
### Breakpoints ###############################################################
[1] break at 0x080041e8 in shared/drivers/p_serial_mgr.c:87 for p_serial_mgr.c:87
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042d4 control 0x04
### Source ####################################################################
142 {
143 _serial_huart_inst = huart;
144 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
145
146 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
147 }
148
149 serial_pkt_t *p_serial_mgr_service(void)
150 {
151 // this will be less garbage when i switch to a queue
152 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
153 {
154 if (serial_pkt_cb.buffer[ind].b_ready)
155 {
156 return &serial_pkt_cb.buffer[ind];
157 }
158 }
159 return NULL;
160 }
161
### Stack #####################################################################
[0] from 0x080042d4 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:152
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042d4 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:152
### Variables #################################################################
loc ind = 0
###############################################################################
Breakpoint 2 at 0x8004250: file shared/drivers/p_serial_mgr.c, line 122.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042da in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:152
152 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
0x080042d4 p_serial_mgr_service+0 movs r3, #0
0x080042d6 p_serial_mgr_service+2 b.n 0x80042da <p_serial_mgr_service+6>
0x080042d8 p_serial_mgr_service+4 adds r3, #1
0x080042da p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042fc <p_serial_mgr_service+40>)
0x080042dc p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042de p_serial_mgr_service+10 cmp r2, r3
0x080042e0 p_serial_mgr_service+12 ble.n 0x80042f8 <p_serial_mgr_service+36>
0x080042e2 p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042fc <p_serial_mgr_service+40>)
### Breakpoints ###############################################################
[1] break at 0x080041e8 in shared/drivers/p_serial_mgr.c:87 for p_serial_mgr.c:87
[2] break at 0x08004250 in shared/drivers/p_serial_mgr.c:122 for p_serial_mgr.c:122
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042da control 0x04
### Source ####################################################################
142 {
143 _serial_huart_inst = huart;
144 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
145
146 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
147 }
148
149 serial_pkt_t *p_serial_mgr_service(void)
150 {
151 // this will be less garbage when i switch to a queue
152 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
153 {
154 if (serial_pkt_cb.buffer[ind].b_ready)
155 {
156 return &serial_pkt_cb.buffer[ind];
157 }
158 }
159 return NULL;
160 }
161
### Stack #####################################################################
[0] from 0x080042da in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:152
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042da in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:152
### Variables #################################################################
loc ind = 0
###############################################################################
Quit
Quit
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x080042da in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:152
warning: Source file is more recent than executable.
152 // this will be less garbage when i switch to a queue
### Assembly ##################################################################
~
~
0x080042d4 p_serial_mgr_service+0 movs r3, #0
0x080042d6 p_serial_mgr_service+2 b.n 0x80042da <p_serial_mgr_service+6>
0x080042d8 p_serial_mgr_service+4 adds r3, #1
0x080042da p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x80042fc <p_serial_mgr_service+40>)
0x080042dc p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042de p_serial_mgr_service+10 cmp r2, r3
0x080042e0 p_serial_mgr_service+12 ble.n 0x80042f8 <p_serial_mgr_service+36>
0x080042e2 p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x80042fc <p_serial_mgr_service+40>)
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042da control 0x04
### Source ####################################################################
142 void p_serial_mgr_init(UART_HandleTypeDef *huart)
143 {
144 _serial_huart_inst = huart;
145 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
146
147 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
148 }
149
150 serial_pkt_t *p_serial_mgr_service(void)
151 {
152 // this will be less garbage when i switch to a queue
153 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
154 {
155 if (serial_pkt_cb.buffer[ind].b_ready)
156 {
157 return &serial_pkt_cb.buffer[ind];
158 }
159 }
160 return NULL;
161 }
### Stack #####################################################################
[0] from 0x080042da in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:152
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042da in p_serial_mgr_service+6 at shared/drivers/p_serial_mgr.c:152
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96c8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009888
Loading section .ARM, size 0x8 lma 0x8009d60
Loading section .init_array, size 0x8 lma 0x8009d68
Loading section .fini_array, size 0x8 lma 0x8009d70
Loading section .data, size 0x9a8 lma 0x8009d78
Start address 0x08004324, load size 42736
Transfer rate: 29 KB/sec, 4748 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042fa in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:155
155 if (serial_pkt_cb.buffer[ind].b_ready)
### Assembly ##################################################################
0x080042ee p_serial_mgr_service+18 ldrb.w r2, [r0, #265] ; 0x109
0x080042f2 p_serial_mgr_service+22 cmp r2, #0
0x080042f4 p_serial_mgr_service+24 beq.n 0x80042d8 <p_serial_mgr_init+36>
0x080042f6 p_serial_mgr_service+26 b.n 0x80042fa <p_serial_mgr_service+30>
0x080042f8 p_serial_mgr_service+28 movs r0, #0
0x080042fa p_serial_mgr_service+30 bx lr
0x080042fc p_serial_mgr_service+32 asrs r4, r3, #25
0x080042fe p_serial_mgr_service+34 movs r0, #0
0x08004300 p_serial_mgr_service+36 push {r3, lr}
0x08004302 p_serial_mgr_service+38 movs r2, #1
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042fa control 0x04
### Source ####################################################################
145 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
146
147 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
148 }
149
150 serial_pkt_t *p_serial_mgr_service(void)
151 {
152 // this will be less garbage when i switch to a queue
153 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
154 {
155 if (serial_pkt_cb.buffer[ind].b_ready)
156 {
157 return &serial_pkt_cb.buffer[ind];
158 }
159 }
160 return NULL;
161 }
162
163 void p_serial_mgr_start()
164 {
### Stack #####################################################################
[0] from 0x080042fa in p_serial_mgr_service+30 at shared/drivers/p_serial_mgr.c:155
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042fa in p_serial_mgr_service+30 at shared/drivers/p_serial_mgr.c:155
### Variables #################################################################
loc ind = 0
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96d0 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009890
Loading section .ARM, size 0x8 lma 0x8009d68
Loading section .init_array, size 0x8 lma 0x8009d70
Loading section .fini_array, size 0x8 lma 0x8009d78
Loading section .data, size 0x9a8 lma 0x8009d80
Start address 0x0800432c, load size 42744
Transfer rate: 29 KB/sec, 4749 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042e8 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:153
153 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x080042de p_serial_mgr_service+2 b.n 0x80042e2 <p_serial_mgr_service+6>
0x080042e0 p_serial_mgr_service+4 adds r3, #1
0x080042e2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x8004304 <p_serial_mgr_service+40>)
0x080042e4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042e6 p_serial_mgr_service+10 cmp r2, r3
0x080042e8 p_serial_mgr_service+12 ble.n 0x8004300 <p_serial_mgr_service+36>
0x080042ea p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x8004304 <p_serial_mgr_service+40>)
0x080042ec p_serial_mgr_service+16 ldr r0, [r2, #0]
0x080042ee p_serial_mgr_service+18 mov.w r2, #268 ; 0x10c
0x080042f2 p_serial_mgr_service+22 mla r0, r2, r3, r0
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042e8 control 0x04
### Source ####################################################################
143 {
144 _serial_huart_inst = huart;
145 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
146
147 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
148 }
149
150 serial_pkt_t *p_serial_mgr_service(void)
151 {
152 // this will be less garbage when i switch to a queue
153 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
154 {
155 if (serial_pkt_cb.buffer[ind].b_ready)
156 {
157 return &serial_pkt_cb.buffer[ind];
158 }
159 }
160 return NULL;
161 }
162
### Stack #####################################################################
[0] from 0x080042e8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:153
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042e8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:153
### Variables #################################################################
loc ind = 0
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800432c msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96d0 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009890
Loading section .ARM, size 0x8 lma 0x8009d68
Loading section .init_array, size 0x8 lma 0x8009d70
Loading section .fini_array, size 0x8 lma 0x8009d78
Loading section .data, size 0x9a8 lma 0x8009d80
Start address 0x0800432c, load size 42744
Transfer rate: 29 KB/sec, 4749 bytes/write.
Breakpoint 1 at 0x80041d6: file shared/drivers/p_serial_mgr.c, line 100.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x080042e8 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:153
153 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
0x080042de p_serial_mgr_service+2 b.n 0x80042e2 <p_serial_mgr_service+6>
0x080042e0 p_serial_mgr_service+4 adds r3, #1
0x080042e2 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x8004304 <p_serial_mgr_service+40>)
0x080042e4 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042e6 p_serial_mgr_service+10 cmp r2, r3
0x080042e8 p_serial_mgr_service+12 ble.n 0x8004300 <p_serial_mgr_service+36>
0x080042ea p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x8004304 <p_serial_mgr_service+40>)
0x080042ec p_serial_mgr_service+16 ldr r0, [r2, #0]
0x080042ee p_serial_mgr_service+18 mov.w r2, #268 ; 0x10c
0x080042f2 p_serial_mgr_service+22 mla r0, r2, r3, r0
### Breakpoints ###############################################################
[1] break at 0x080041d6 in shared/drivers/p_serial_mgr.c:100 for p_serial_mgr.c:100 if frame_index_tracker > 5
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042e8 control 0x04
### Source ####################################################################
143 {
144 _serial_huart_inst = huart;
145 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
146
147 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
148 }
149
150 serial_pkt_t *p_serial_mgr_service(void)
151 {
152 // this will be less garbage when i switch to a queue
153 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
154 {
155 if (serial_pkt_cb.buffer[ind].b_ready)
156 {
157 return &serial_pkt_cb.buffer[ind];
158 }
159 }
160 return NULL;
161 }
162
### Stack #####################################################################
[0] from 0x080042e8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:153
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042e8 in p_serial_mgr_service+12 at shared/drivers/p_serial_mgr.c:153
### Variables #################################################################
loc ind = 0
###############################################################################
Note: breakpoint 1 also set at pc 0x80041d6.
Breakpoint 2 at 0x80041d6: file shared/drivers/p_serial_mgr.c, line 100.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150a main+150 bl 0x8004078 <p_printf>
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x80043c8 <memset>
0x0800151a main+166 bl 0x80042dc <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
### Breakpoints ###############################################################
[1] break at 0x080041d6 in shared/drivers/p_serial_mgr.c:100 for p_serial_mgr.c:100 if frame_index_tracker > 5
[2] break at 0x080041d6 in shared/drivers/p_serial_mgr.c:100 for p_serial_mgr.c:100 if frame_index_tracker > 0
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151a control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151a in main+166 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234925,frame_data = "e\025\000\bg\0…
###############################################################################
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150a main+150 bl 0x8004078 <p_printf>
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x80043c8 <__libc_init_array+68>
0x0800151a main+166 bl 0x80042dc <p_serial_mgr_init+36>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151a control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151a in main+166 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234925,frame_data = "e\025\000\bg\0…
###############################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96d8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009898
Loading section .ARM, size 0x8 lma 0x8009d70
Loading section .init_array, size 0x8 lma 0x8009d78
Loading section .fini_array, size 0x8 lma 0x8009d80
Loading section .data, size 0x9a8 lma 0x8009d88
Start address 0x08004330, load size 42752
Transfer rate: 29 KB/sec, 4750 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
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]
0x080042e8 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:154
154 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
0x080042e0 p_serial_mgr_service+0 movs r3, #0
0x080042e2 p_serial_mgr_service+2 b.n 0x80042e6 <p_serial_mgr_service+6>
0x080042e4 p_serial_mgr_service+4 adds r3, #1
0x080042e6 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x8004308 <p_serial_mgr_service+40>)
0x080042e8 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042ea p_serial_mgr_service+10 cmp r2, r3
0x080042ec p_serial_mgr_service+12 ble.n 0x8004304 <p_serial_mgr_service+36>
0x080042ee p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x8004308 <p_serial_mgr_service+40>)
0x080042f0 p_serial_mgr_service+16 ldr r0, [r2, #0]
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x2000165c r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042e8 control 0x04
### Source ####################################################################
144 {
145 _serial_huart_inst = huart;
146 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
147
148 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
149 }
150
151 serial_pkt_t *p_serial_mgr_service(void)
152 {
153 // this will be less garbage when i switch to a queue
154 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
155 {
156 if (serial_pkt_cb.buffer[ind].b_ready)
157 {
158 return &serial_pkt_cb.buffer[ind];
159 }
160 }
161 return NULL;
162 }
163
### Stack #####################################################################
[0] from 0x080042e8 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:154
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042e8 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:154
### Variables #################################################################
loc ind = 0
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004330 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96d8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009898
Loading section .ARM, size 0x8 lma 0x8009d70
Loading section .init_array, size 0x8 lma 0x8009d78
Loading section .fini_array, size 0x8 lma 0x8009d80
Loading section .data, size 0x9a8 lma 0x8009d88
Start address 0x08004330, load size 42752
Transfer rate: 29 KB/sec, 4750 bytes/write.
Breakpoint 1 at 0x8004144: file shared/drivers/p_serial_mgr.c, line 79.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150a main+150 bl 0x8004078 <p_printf>
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x80043cc <memset>
0x0800151a main+166 bl 0x80042e0 <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
### Breakpoints ###############################################################
[1] break at 0x08004144 in shared/drivers/p_serial_mgr.c:79 for p_serial_mgr.c:79
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151a control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151a in main+166 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234929,frame_data = "e\025\000\bg\0…
###############################################################################
Breakpoint 2 at 0x80041b8: file shared/drivers/p_serial_mgr.c, line 100.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
halted: PC: 0x080041ba
halted: PC: 0x080041ba
Program received signal SIGINT, Interrupt.
0x080042e8 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:154
154 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
0x080042e0 p_serial_mgr_service+0 movs r3, #0
0x080042e2 p_serial_mgr_service+2 b.n 0x80042e6 <p_serial_mgr_service+6>
0x080042e4 p_serial_mgr_service+4 adds r3, #1
0x080042e6 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x8004308 <p_serial_mgr_service+40>)
0x080042e8 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042ea p_serial_mgr_service+10 cmp r2, r3
0x080042ec p_serial_mgr_service+12 ble.n 0x8004304 <p_serial_mgr_service+36>
0x080042ee p_serial_mgr_service+14 ldr r2, [pc, #24] ; (0x8004308 <p_serial_mgr_service+40>)
0x080042f0 p_serial_mgr_service+16 ldr r0, [r2, #0]
### Breakpoints ###############################################################
[1] break at 0x08004144 in shared/drivers/p_serial_mgr.c:79 for p_serial_mgr.c:79
[2] break at 0x080041b8 in shared/drivers/p_serial_mgr.c:100 for p_serial_mgr.c:100 if frame_index_tracker > 5
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x2000165c r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042e8 control 0x04
### Source ####################################################################
144 {
145 _serial_huart_inst = huart;
146 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
147
148 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
149 }
150
151 serial_pkt_t *p_serial_mgr_service(void)
152 {
153 // this will be less garbage when i switch to a queue
154 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
155 {
156 if (serial_pkt_cb.buffer[ind].b_ready)
157 {
158 return &serial_pkt_cb.buffer[ind];
159 }
160 }
161 return NULL;
162 }
163
### Stack #####################################################################
[0] from 0x080042e8 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:154
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042e8 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:154
### Variables #################################################################
loc ind = 0
###############################################################################
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
halted: PC: 0x080041ba
halted: PC: 0x080041ba
Program received signal SIGINT, Interrupt.
0x080042e2 in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:154
154 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
### Assembly ##################################################################
~
~
~
~
0x080042e0 p_serial_mgr_service+0 movs r3, #0
0x080042e2 p_serial_mgr_service+2 b.n 0x80042e6 <p_serial_mgr_service+6>
0x080042e4 p_serial_mgr_service+4 adds r3, #1
0x080042e6 p_serial_mgr_service+6 ldr r2, [pc, #32] ; (0x8004308 <p_serial_mgr_service+40>)
0x080042e8 p_serial_mgr_service+8 ldrh r2, [r2, #6]
0x080042ea p_serial_mgr_service+10 cmp r2, r3
### Breakpoints ###############################################################
[1] break at 0x08004144 in shared/drivers/p_serial_mgr.c:79 for p_serial_mgr.c:79
[2] break at 0x080041b8 in shared/drivers/p_serial_mgr.c:100 for p_serial_mgr.c:100 if frame_index_tracker > 5
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x080042e2 control 0x04
### Source ####################################################################
144 {
145 _serial_huart_inst = huart;
146 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
147
148 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
149 }
150
151 serial_pkt_t *p_serial_mgr_service(void)
152 {
153 // this will be less garbage when i switch to a queue
154 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
155 {
156 if (serial_pkt_cb.buffer[ind].b_ready)
157 {
158 return &serial_pkt_cb.buffer[ind];
159 }
160 }
161 return NULL;
162 }
163
### Stack #####################################################################
[0] from 0x080042e2 in p_serial_mgr_service+2 at shared/drivers/p_serial_mgr.c:154
[1] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080042e2 in p_serial_mgr_service+2 at shared/drivers/p_serial_mgr.c:154
### Variables #################################################################
loc ind = 0
###############################################################################
Breakpoint 3 at 0x8004210: file shared/drivers/p_serial_mgr.c, line 110.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
halted: PC: 0x080041ba
halted: PC: 0x080041ba
halted: PC: 0x080041ba
halted: PC: 0x080041ba
halted: PC: 0x080041ba
Program received signal SIGINT, Interrupt.
0x080041ba in UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:100
100 serial_pkt_cb.buffer[serial_pkt_cb.head].frame_data[frame_index_tracker++] = rxc;
### Assembly ##################################################################
0x080041b0 UART1_RxCpltCallback+164 cmp r3, #126 ; 0x7e
0x080041b2 UART1_RxCpltCallback+166 beq.n 0x80041ec <UART1_RxCpltCallback+224>
0x080041b4 UART1_RxCpltCallback+168 cmp r3, #125 ; 0x7d
0x080041b6 UART1_RxCpltCallback+170 beq.n 0x8004208 <UART1_RxCpltCallback+252>
!0x080041b8 UART1_RxCpltCallback+172 ldr r1, [pc, #236] ; (0x80042a8 <UART1_RxCpltCallback+412>)
0x080041ba UART1_RxCpltCallback+174 ldr r2, [r1, #0]
0x080041bc UART1_RxCpltCallback+176 ldrh r1, [r1, #4]
0x080041be UART1_RxCpltCallback+178 mov.w r0, #268 ; 0x10c
0x080041c2 UART1_RxCpltCallback+182 mla r2, r0, r1, r2
0x080041c6 UART1_RxCpltCallback+186 ldr r0, [pc, #228] ; (0x80042ac <UART1_RxCpltCallback+416>)
### Breakpoints ###############################################################
[1] break at 0x08004144 in shared/drivers/p_serial_mgr.c:79 for p_serial_mgr.c:79
[2] break at 0x080041b8 in shared/drivers/p_serial_mgr.c:100 for p_serial_mgr.c:100 if frame_index_tracker > 5
[3] break at 0x08004210 in shared/drivers/p_serial_mgr.c:110 for p_serial_mgr.c:110 if frame_index_tracker > 5
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x2000165c r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000001 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041ba control 0x00
### Source ####################################################################
90 #pragma message(Reminder "add a safe escape routine for this")
91 sstate = SS_IDLE;
92 memset(&serial_pkt_cb.buffer[serial_pkt_cb.head], 0, sizeof(serial_pkt_t));
93 }
94 else if (rxc == 0x7D)
95 {
96 sstate = SS_ESC;
97 }
98 else
99 {
!100 serial_pkt_cb.buffer[serial_pkt_cb.head].frame_data[frame_index_tracker++] = rxc;
101 if (frame_index_tracker >= serial_pkt_cb.buffer[serial_pkt_cb.head].len)
102 {
103 sstate = SS_CHECKSUM;
104 }
105 }
106 }
107 break;
108 case SS_ESC:
109 {
### Stack #####################################################################
[0] from 0x080041ba in UART1_RxCpltCallback+174 at shared/drivers/p_serial_mgr.c:100
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041ba in UART1_RxCpltCallback+174 at shared/drivers/p_serial_mgr.c:100
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
Quit
Breakpoint 4 at 0x8004144: file shared/drivers/p_serial_mgr.c, line 79.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Program received signal SIGINT, Interrupt.
0x0800151e in main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ##################################################################
0x0800150e main+154 mov.w r2, #268 ; 0x10c
0x08001512 main+158 movs r1, #0
0x08001514 main+160 mov r0, r4
0x08001516 main+162 bl 0x80043cc <memset>
0x0800151a main+166 bl 0x80042e0 <p_serial_mgr_service>
0x0800151e main+170 mov r4, r0
0x08001520 main+172 cmp r0, #0
0x08001522 main+174 beq.n 0x800151a <main+166>
0x08001524 main+176 ldrb r2, [r0, #1]
0x08001526 main+178 ldrb r1, [r0, #0]
### Breakpoints ###############################################################
[4] break at 0x08004144 in shared/drivers/p_serial_mgr.c:79 for p_serial_mgr.c:79
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x00000000 r8 0x00000000 xPSR 0x61000000
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x00000000 r10 0x00000000 msp 0x2000fff0
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x00000000 r12 0x00001000 primask 0x00
r5 0x200009c8 sp 0x2000fff0 basepri 0x00
r6 0x00000000 lr 0x0800151f faultmask 0x00
r7 0x00000000 pc 0x0800151e control 0x04
### Source ####################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack #####################################################################
[0] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800151e in main+170 at Core/Src/main.c:146
### Variables #################################################################
loc pkt = 0x0: {src_addr = 0 '\000',dest_addr = 0 '\000',len = 134234929,frame_data = "e\025\000\bg\0…
###############################################################################
Breakpoint 5 at 0x80041ac: file shared/drivers/p_serial_mgr.c, line 86.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 5, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:86
86 if (rxc == 0x7E)
### Assembly ##################################################################
0x080041a2 UART1_RxCpltCallback+150 str r2, [r3, #4]
0x080041a4 UART1_RxCpltCallback+152 ldr r3, [pc, #244] ; (0x800429c <UART1_RxCpltCallback+400>)
0x080041a6 UART1_RxCpltCallback+154 movs r2, #2
0x080041a8 UART1_RxCpltCallback+156 strb r2, [r3, #0]
0x080041aa UART1_RxCpltCallback+158 b.n 0x8004284 <UART1_RxCpltCallback+376>
!0x080041ac UART1_RxCpltCallback+160 ldr r3, [pc, #240] ; (0x80042a0 <UART1_RxCpltCallback+404>)
0x080041ae UART1_RxCpltCallback+162 ldrb r3, [r3, #0]
0x080041b0 UART1_RxCpltCallback+164 cmp r3, #126 ; 0x7e
0x080041b2 UART1_RxCpltCallback+166 beq.n 0x80041ec <UART1_RxCpltCallback+224>
0x080041b4 UART1_RxCpltCallback+168 cmp r3, #125 ; 0x7d
### Breakpoints ###############################################################
[5] break at 0x080041ac in shared/drivers/p_serial_mgr.c:86 for p_serial_mgr.c:86 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000002 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041ac control 0x00
### Source ####################################################################
76 default:
77 {
78 // shouldnt get here
79 asm volatile("nop");
80 }
81 };
82 }
83 break;
84 case SS_FRAME:
85 {
!86 if (rxc == 0x7E)
87 {
88 asm volatile("nop");
89 // error occured. bail
90 #pragma message(Reminder "add a safe escape routine for this")
91 sstate = SS_IDLE;
92 memset(&serial_pkt_cb.buffer[serial_pkt_cb.head], 0, sizeof(serial_pkt_t));
93 }
94 else if (rxc == 0x7D)
95 {
### Stack #####################################################################
[0] from 0x080041ac in UART1_RxCpltCallback+160 at shared/drivers/p_serial_mgr.c:86
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x080042e8 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:154
[6] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041ac in UART1_RxCpltCallback+160 at shared/drivers/p_serial_mgr.c:86
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$1 = 1 '\001'
$2 = {
src_addr = 0 '\000',
dest_addr = 0 '\000',
len = 134234929,
frame_data = "e\025\000\bg\025\000\bi\025\000\bk\025\000\bm\025\000\b", '\000' <repeats 16 times>, "o\025\000\bq\025\000\b\000\000\000\000s\025\000\bu\025\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\000\000\000\000\000\000\000\000\201C\000\b\201C\000\b\000\000\000\000\000\000\000\000\201C\000\b"...,
checksum = 0 '\000',
b_ready = false
}
$3 = "e\025\000\bg\025\000\bi\025\000\bk\025\000\bm\025\000\b", '\000' <repeats 16 times>, "o\025\000\bq\025\000\b\000\000\000\000s\025\000\bu\025\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\201C\000\b\000\000\000\000\000\000\000\000\201C\000\b\201C\000\b\000\000\000\000\000\000\000\000\201C\000\b"...
$4 = {[0x0] = 0x65, [0x1] = 0x15, [0x2] = 0x0, [0x3] = 0x8, [0x4] = 0x67, [0x5] = 0x15, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x0 <repeats 16 times>, [0x24] = 0x6f, [0x25] = 0x15, [0x26] = 0x0, [0x27] = 0x8, [0x28] = 0x71, [0x29] = 0x15, [0x2a] = 0x0, [0x2b] = 0x8, [0x2c] = 0x0, [0x2d] = 0x0, [0x2e] = 0x0, [0x2f] = 0x0, [0x30] = 0x73, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x75, [0x35] = 0x15, [0x36] = 0x0, [0x37] = 0x8, [0x38] = 0x81, [0x39] = 0x43, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0x81, [0x3d] = 0x43, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0x81, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0x81, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0x81, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0x81, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0x81, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0x81, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0x81, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0x81, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0x81, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0x81, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0x81, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0x81, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0x81, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0x81, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0x81, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0x81, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0x81, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0x81, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0x81, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0x81, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0x81, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0x81, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0x81, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0x81, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0x81, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0x81, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0x81, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0x0, [0xad] = 0x0, [0xae] = 0x0, [0xaf] = 0x0, [0xb0] = 0x0, [0xb1] = 0x0, [0xb2] = 0x0, [0xb3] = 0x0, [0xb4] = 0x81, [0xb5] = 0x43, [0xb6] = 0x0, [0xb7] = 0x8, [0xb8] = 0x81, [0xb9] = 0x43, [0xba] = 0x0, [0xbb] = 0x8, [0xbc] = 0x0, [0xbd] = 0x0, [0xbe] = 0x0, [0xbf] = 0x0, [0xc0] = 0x0, [0xc1] = 0x0, [0xc2] = 0x0, [0xc3] = 0x0, [0xc4] = 0x81, [0xc5] = 0x43, [0xc6] = 0x0, [0xc7] = 0x8, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0x7d, [0xcd] = 0x15...}
Quit
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:75
75 break;
### Assembly ##################################################################
0x080041a2 UART1_RxCpltCallback+150 str r2, [r3, #4]
0x080041a4 UART1_RxCpltCallback+152 ldr r3, [pc, #244] ; (0x800429c <UART1_RxCpltCallback+400>)
0x080041a6 UART1_RxCpltCallback+154 movs r2, #2
0x080041a8 UART1_RxCpltCallback+156 strb r2, [r3, #0]
0x080041aa UART1_RxCpltCallback+158 b.n 0x8004284 <UART1_RxCpltCallback+376>
0x080041ac UART1_RxCpltCallback+160 ldr r3, [pc, #240] ; (0x80042a0 <UART1_RxCpltCallback+404>)
0x080041ae UART1_RxCpltCallback+162 ldrb r3, [r3, #0]
0x080041b0 UART1_RxCpltCallback+164 cmp r3, #126 ; 0x7e
0x080041b2 UART1_RxCpltCallback+166 beq.n 0x80041ec <UART1_RxCpltCallback+224>
0x080041b4 UART1_RxCpltCallback+168 cmp r3, #125 ; 0x7d
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000002 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041ac control 0x00
### Source ####################################################################
65 start_index_tracker++;
66 }
67 break;
68 case 2:
69 {
70 start_index_tracker = 0;
71 frame_index_tracker = 0;
72 serial_pkt_cb.buffer[serial_pkt_cb.head].len = rxc;
73 sstate = SS_FRAME;
74 }
75 break;
76 default:
77 {
78 // shouldnt get here
79 asm volatile("nop");
80 }
81 };
82 }
83 break;
84 case SS_FRAME:
### Stack #####################################################################
[0] from 0x080041ac in UART1_RxCpltCallback+160 at shared/drivers/p_serial_mgr.c:75
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x080042e8 in p_serial_mgr_init+48 at shared/drivers/p_serial_mgr.c:150
[6] from 0x200016b4 in heap_end
### Threads ###################################################################
[1] id 0 from 0x080041ac in UART1_RxCpltCallback+160 at shared/drivers/p_serial_mgr.c:75
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004330 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x96e8 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x80098a8
Loading section .ARM, size 0x8 lma 0x8009d80
Loading section .init_array, size 0x8 lma 0x8009d88
Loading section .fini_array, size 0x8 lma 0x8009d90
Loading section .data, size 0x9a8 lma 0x8009d98
Start address 0x08004340, load size 42768
Transfer rate: 29 KB/sec, 4752 bytes/write.
Breakpoint 1 at 0x80041ae: file shared/drivers/p_serial_mgr.c, line 86.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:86
86 if (rxc == 0x7E)
### Assembly ##################################################################
0x080041a4 UART1_RxCpltCallback+152 ldr r3, [pc, #244] ; (0x800429c <UART1_RxCpltCallback+400>)
0x080041a6 UART1_RxCpltCallback+154 movs r2, #2
0x080041a8 UART1_RxCpltCallback+156 strb r2, [r3, #0]
0x080041aa UART1_RxCpltCallback+158 b.n 0x8004284 <UART1_RxCpltCallback+376>
0x080041ac UART1_RxCpltCallback+160 ldr r3, [pc, #240] ; (0x80042a0 <UART1_RxCpltCallback+404>)
!0x080041ae UART1_RxCpltCallback+162 ldrb r3, [r3, #0]
0x080041b0 UART1_RxCpltCallback+164 cmp r3, #126 ; 0x7e
0x080041b2 UART1_RxCpltCallback+166 beq.n 0x80041ec <UART1_RxCpltCallback+224>
0x080041b4 UART1_RxCpltCallback+168 cmp r3, #125 ; 0x7d
0x080041b6 UART1_RxCpltCallback+170 beq.n 0x8004208 <UART1_RxCpltCallback+252>
### Breakpoints ###############################################################
[1] break at 0x080041ae in shared/drivers/p_serial_mgr.c:86 for p_serial_mgr.c:86 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000002 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041ae control 0x00
### Source ####################################################################
76 default:
77 {
78 // shouldnt get here
79 asm volatile("nop");
80 }
81 };
82 }
83 break;
84 case SS_FRAME:
85 {
!86 if (rxc == 0x7E)
87 {
88 asm volatile("nop");
89 // error occured. bail
90 #pragma message(Reminder "add a safe escape routine for this")
91 sstate = SS_IDLE;
92 memset(&serial_pkt_cb.buffer[serial_pkt_cb.head], 0, sizeof(serial_pkt_t));
93 }
94 else if (rxc == 0x7D)
95 {
### Stack #####################################################################
[0] from 0x080041ae in UART1_RxCpltCallback+162 at shared/drivers/p_serial_mgr.c:86
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041ae in UART1_RxCpltCallback+162 at shared/drivers/p_serial_mgr.c:86
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$1 = 1 '\001'
$2 = {
src_addr = 0 '\000',
dest_addr = 0 '\000',
len = 134234945,
frame_data = "e\025\000\bg\025\000\bi\025\000\bk\025\000\bm\025\000\b", '\000' <repeats 16 times>, "o\025\000\bq\025\000\b\000\000\000\000s\025\000\bu\025\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\221C\000\b\000\000\000\000\000\000\000\000\221C\000\b\221C\000\b\000\000\000\000\000\000\000\000\221C\000\b"...,
checksum = 0 '\000',
b_ready = false
}
$3 = {[0x0] = 0x65, [0x1] = 0x15, [0x2] = 0x0, [0x3] = 0x8, [0x4] = 0x67, [0x5] = 0x15, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x0 <repeats 16 times>, [0x24] = 0x6f, [0x25] = 0x15, [0x26] = 0x0, [0x27] = 0x8, [0x28] = 0x71, [0x29] = 0x15, [0x2a] = 0x0, [0x2b] = 0x8, [0x2c] = 0x0, [0x2d] = 0x0, [0x2e] = 0x0, [0x2f] = 0x0, [0x30] = 0x73, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x75, [0x35] = 0x15, [0x36] = 0x0, [0x37] = 0x8, [0x38] = 0x91, [0x39] = 0x43, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0x91, [0x3d] = 0x43, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0x91, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0x91, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0x91, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0x91, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0x91, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0x91, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0x91, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0x91, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0x91, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0x91, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0x91, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0x91, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0x91, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0x91, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0x91, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0x91, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0x91, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0x91, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0x91, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0x91, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0x91, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0x91, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0x91, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0x91, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0x91, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0x91, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0x91, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0x0, [0xad] = 0x0, [0xae] = 0x0, [0xaf] = 0x0, [0xb0] = 0x0, [0xb1] = 0x0, [0xb2] = 0x0, [0xb3] = 0x0, [0xb4] = 0x91, [0xb5] = 0x43, [0xb6] = 0x0, [0xb7] = 0x8, [0xb8] = 0x91, [0xb9] = 0x43, [0xba] = 0x0, [0xbb] = 0x8, [0xbc] = 0x0, [0xbd] = 0x0, [0xbe] = 0x0, [0xbf] = 0x0, [0xc0] = 0x0, [0xc1] = 0x0, [0xc2] = 0x0, [0xc3] = 0x0, [0xc4] = 0x91, [0xc5] = 0x43, [0xc6] = 0x0, [0xc7] = 0x8, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0x7d, [0xcd] = 0x15...}
$4 = {[0x0] = 0x65, [0x1] = 0x15, [0x2] = 0x0, [0x3] = 0x8, [0x4] = 0x67, [0x5] = 0x15, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x0 <repeats 16 times>, [0x24] = 0x6f, [0x25] = 0x15, [0x26] = 0x0, [0x27] = 0x8, [0x28] = 0x71, [0x29] = 0x15, [0x2a] = 0x0, [0x2b] = 0x8, [0x2c] = 0x0, [0x2d] = 0x0, [0x2e] = 0x0, [0x2f] = 0x0, [0x30] = 0x73, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x75, [0x35] = 0x15, [0x36] = 0x0, [0x37] = 0x8, [0x38] = 0x91, [0x39] = 0x43, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0x91, [0x3d] = 0x43, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0x91, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0x91, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0x91, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0x91, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0x91, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0x91, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0x91, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0x91, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0x91, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0x91, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0x91, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0x91, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0x91, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0x91, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0x91, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0x91, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0x91, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0x91, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0x91, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0x91, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0x91, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0x91, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0x91, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0x91, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0x91, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0x91, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0x91, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0x0, [0xad] = 0x0, [0xae] = 0x0, [0xaf] = 0x0, [0xb0] = 0x0, [0xb1] = 0x0, [0xb2] = 0x0, [0xb3] = 0x0, [0xb4] = 0x91, [0xb5] = 0x43, [0xb6] = 0x0, [0xb7] = 0x8, [0xb8] = 0x91, [0xb9] = 0x43, [0xba] = 0x0, [0xbb] = 0x8, [0xbc] = 0x0, [0xbd] = 0x0, [0xbe] = 0x0, [0xbf] = 0x0, [0xc0] = 0x0, [0xc1] = 0x0, [0xc2] = 0x0, [0xc3] = 0x0, [0xc4] = 0x91, [0xc5] = 0x43, [0xc6] = 0x0, [0xc7] = 0x8, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0x7d, [0xcd] = 0x15...}
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:67
67 break;
### Assembly ##################################################################
0x080041a4 UART1_RxCpltCallback+112 str r2, [r3, #4]
0x080041a6 UART1_RxCpltCallback+114 ldr r3, [pc, #244] ; (0x800429c <UART1_RxCpltCallback+360>)
0x080041a8 UART1_RxCpltCallback+116 movs r2, #2
0x080041aa UART1_RxCpltCallback+118 strb r2, [r3, #0]
0x080041ac UART1_RxCpltCallback+120 b.n 0x8004286 <UART1_RxCpltCallback+338>
0x080041ae UART1_RxCpltCallback+122 ldr r3, [pc, #240] ; (0x80042a0 <UART1_RxCpltCallback+364>)
0x080041b0 UART1_RxCpltCallback+124 ldrb r3, [r3, #0]
0x080041b2 UART1_RxCpltCallback+126 cmp r3, #126 ; 0x7e
0x080041b4 UART1_RxCpltCallback+128 beq.n 0x80041ee <UART1_RxCpltCallback+186>
0x080041b6 UART1_RxCpltCallback+130 cmp r3, #125 ; 0x7d
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000002 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041ae control 0x00
### Source ####################################################################
57 {
58 serial_pkt_cb.buffer[serial_pkt_cb.head].src_addr = rxc;
59 start_index_tracker++;
60 }
61 break;
62 case 1:
63 {
64 serial_pkt_cb.buffer[serial_pkt_cb.head].dest_addr = rxc;
65 start_index_tracker++;
66 }
67 break;
68 case 2:
69 {
70 start_index_tracker = 0;
71 frame_index_tracker = 0;
72 serial_pkt_cb.buffer[serial_pkt_cb.head].len = rxc;
73 sstate = SS_FRAME;
74 }
75 break;
76 default:
### Stack #####################################################################
[0] from 0x080041ae in UART1_RxCpltCallback+122 at shared/drivers/p_serial_mgr.c:67
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800151a in main+166 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041ae in UART1_RxCpltCallback+122 at shared/drivers/p_serial_mgr.c:67
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004340 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9710 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x80098d0
Loading section .ARM, size 0x8 lma 0x8009da8
Loading section .init_array, size 0x8 lma 0x8009db0
Loading section .fini_array, size 0x8 lma 0x8009db8
Loading section .data, size 0x9a8 lma 0x8009dc0
Start address 0x08004368, load size 42808
Transfer rate: 29 KB/sec, 4756 bytes/write.
Breakpoint 1 at 0x80041d6: file shared/drivers/p_serial_mgr.c, line 86.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:86
86 if (rxc == 0x7E)
### Assembly ##################################################################
!0x080041d6 UART1_RxCpltCallback+162 ldr r3, [pc, #240] ; (0x80042c8 <UART1_RxCpltCallback+404>)
0x080041d8 UART1_RxCpltCallback+164 ldrb r3, [r3, #0]
0x080041da UART1_RxCpltCallback+166 cmp r3, #126 ; 0x7e
0x080041dc UART1_RxCpltCallback+168 beq.n 0x8004216 <UART1_RxCpltCallback+226>
0x080041de UART1_RxCpltCallback+170 cmp r3, #125 ; 0x7d
0x080041e0 UART1_RxCpltCallback+172 beq.n 0x8004232 <UART1_RxCpltCallback+254>
0x080041e2 UART1_RxCpltCallback+174 ldr r1, [pc, #236] ; (0x80042d0 <UART1_RxCpltCallback+412>)
0x080041e4 UART1_RxCpltCallback+176 ldr r2, [r1, #0]
0x080041e6 UART1_RxCpltCallback+178 ldrh r1, [r1, #4]
0x080041e8 UART1_RxCpltCallback+180 mov.w r0, #268 ; 0x10c
### Breakpoints ###############################################################
[1] break at 0x080041d6 in shared/drivers/p_serial_mgr.c:86 for p_serial_mgr.c:86 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000002 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041d6 control 0x00
### Source ####################################################################
76 default:
77 {
78 // shouldnt get here
79 asm volatile("nop");
80 }
81 };
82 }
83 break;
84 case SS_FRAME:
85 {
!86 if (rxc == 0x7E)
87 {
88 asm volatile("nop");
89 // error occured. bail
90 #pragma message(Reminder "add a safe escape routine for this")
91 sstate = SS_IDLE;
92 memset(&serial_pkt_cb.buffer[serial_pkt_cb.head], 0, sizeof(serial_pkt_t));
93 }
94 else if (rxc == 0x7D)
95 {
### Stack #####################################################################
[0] from 0x080041d6 in UART1_RxCpltCallback+162 at shared/drivers/p_serial_mgr.c:86
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004320 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:155
[6] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041d6 in UART1_RxCpltCallback+162 at shared/drivers/p_serial_mgr.c:86
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$1 = {[0x0] = 0x65, [0x1] = 0x15, [0x2] = 0x0, [0x3] = 0x8, [0x4] = 0x67, [0x5] = 0x15, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x0 <repeats 16 times>, [0x24] = 0x6f, [0x25] = 0x15, [0x26] = 0x0, [0x27] = 0x8, [0x28] = 0x71, [0x29] = 0x15, [0x2a] = 0x0, [0x2b] = 0x8, [0x2c] = 0x0, [0x2d] = 0x0, [0x2e] = 0x0, [0x2f] = 0x0, [0x30] = 0x73, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x75, [0x35] = 0x15, [0x36] = 0x0, [0x37] = 0x8, [0x38] = 0xb9, [0x39] = 0x43, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0xb9, [0x3d] = 0x43, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0xb9, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0xb9, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0xb9, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0xb9, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0xb9, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0xb9, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0xb9, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0xb9, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0xb9, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0xb9, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0xb9, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0xb9, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0xb9, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0xb9, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0xb9, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0xb9, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0xb9, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0xb9, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0xb9, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0xb9, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0xb9, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0xb9, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0xb9, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0xb9, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0xb9, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0xb9, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0xb9, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0x0, [0xad] = 0x0, [0xae] = 0x0, [0xaf] = 0x0, [0xb0] = 0x0, [0xb1] = 0x0, [0xb2] = 0x0, [0xb3] = 0x0, [0xb4] = 0xb9, [0xb5] = 0x43, [0xb6] = 0x0, [0xb7] = 0x8, [0xb8] = 0xb9, [0xb9] = 0x43, [0xba] = 0x0, [0xbb] = 0x8, [0xbc] = 0x0, [0xbd] = 0x0, [0xbe] = 0x0, [0xbf] = 0x0, [0xc0] = 0x0, [0xc1] = 0x0, [0xc2] = 0x0, [0xc3] = 0x0, [0xc4] = 0xb9, [0xc5] = 0x43, [0xc6] = 0x0, [0xc7] = 0x8, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0x7d, [0xcd] = 0x15...}
$2 = 0x0
Invalid character '\' in expression.
Invalid character '\' in expression.
Invalid character '\' in expression.
Undefined command: "pserial_pkt_cb.buffer". Try "help".
$3 = (serial_pkt_t *) 0x0
$4 = {
src_addr = 0 '\000',
dest_addr = 0 '\000',
len = 134234985,
frame_data = "e\025\000\bg\025\000\bi\025\000\bk\025\000\bm\025\000\b", '\000' <repeats 16 times>, "o\025\000\bq\025\000\b\000\000\000\000s\025\000\bu\025\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\000\000\000\000\000\000\000\000\271C\000\b\271C\000\b\000\000\000\000\000\000\000\000\271C\000\b"...,
checksum = 0 '\000',
b_ready = false
}
$5 = {
src_addr = 0x0,
dest_addr = 0x0,
len = 0x8004369,
frame_data = {[0x0] = 0x65, [0x1] = 0x15, [0x2] = 0x0, [0x3] = 0x8, [0x4] = 0x67, [0x5] = 0x15, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x0 <repeats 16 times>, [0x24] = 0x6f, [0x25] = 0x15, [0x26] = 0x0, [0x27] = 0x8, [0x28] = 0x71, [0x29] = 0x15, [0x2a] = 0x0, [0x2b] = 0x8, [0x2c] = 0x0, [0x2d] = 0x0, [0x2e] = 0x0, [0x2f] = 0x0, [0x30] = 0x73, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x75, [0x35] = 0x15, [0x36] = 0x0, [0x37] = 0x8, [0x38] = 0xb9, [0x39] = 0x43, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0xb9, [0x3d] = 0x43, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0xb9, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0xb9, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0xb9, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0xb9, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0xb9, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0xb9, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0xb9, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0xb9, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0xb9, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0xb9, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0xb9, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0xb9, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0xb9, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0xb9, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0xb9, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0xb9, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0xb9, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0xb9, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0xb9, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0xb9, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0xb9, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0xb9, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0xb9, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0xb9, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0xb9, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0xb9, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0xb9, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0x0, [0xad] = 0x0, [0xae] = 0x0, [0xaf] = 0x0, [0xb0] = 0x0, [0xb1] = 0x0, [0xb2] = 0x0, [0xb3] = 0x0, [0xb4] = 0xb9, [0xb5] = 0x43, [0xb6] = 0x0, [0xb7] = 0x8, [0xb8] = 0xb9, [0xb9] = 0x43, [0xba] = 0x0, [0xbb] = 0x8, [0xbc] = 0x0, [0xbd] = 0x0, [0xbe] = 0x0, [0xbf] = 0x0, [0xc0] = 0x0, [0xc1] = 0x0, [0xc2] = 0x0, [0xc3] = 0x0, [0xc4] = 0xb9, [0xc5] = 0x43, [0xc6] = 0x0, [0xc7] = 0x8, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0x7d, [0xcd] = 0x15...},
checksum = 0x0,
b_ready = 0x0
}
Quit
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:86
warning: Source file is more recent than executable.
86 if (rxc == 0x7E)
### Assembly ##################################################################
0x080041cc UART1_RxCpltCallback+152 str r2, [r3, #4]
0x080041ce UART1_RxCpltCallback+154 ldr r3, [pc, #244] ; (0x80042c4 <UART1_RxCpltCallback+400>)
0x080041d0 UART1_RxCpltCallback+156 movs r2, #2
0x080041d2 UART1_RxCpltCallback+158 strb r2, [r3, #0]
0x080041d4 UART1_RxCpltCallback+160 b.n 0x80042ae <UART1_RxCpltCallback+378>
0x080041d6 UART1_RxCpltCallback+162 ldr r3, [pc, #240] ; (0x80042c8 <UART1_RxCpltCallback+404>)
0x080041d8 UART1_RxCpltCallback+164 ldrb r3, [r3, #0]
0x080041da UART1_RxCpltCallback+166 cmp r3, #126 ; 0x7e
0x080041dc UART1_RxCpltCallback+168 beq.n 0x8004216 <UART1_RxCpltCallback+226>
0x080041de UART1_RxCpltCallback+170 cmp r3, #125 ; 0x7d
### Breakpoints ###############################################################
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000002 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x080041d6 control 0x00
### Source ####################################################################
76 default:
77 {
78 // shouldnt get here
79 asm volatile("nop");
80 }
81 };
82 }
83 break;
84 case SS_FRAME:
85 {
86 if (rxc == 0x7E)
87 {
88 asm volatile("nop");
89 // error occured. bail
90 #pragma message(Reminder "add a safe escape routine for this")
91 sstate = SS_IDLE;
92 memset(&serial_pkt_cb.buffer[serial_pkt_cb.head], 0, sizeof(serial_pkt_t));
93 }
94 else if (rxc == 0x7D)
95 {
### Stack #####################################################################
[0] from 0x080041d6 in UART1_RxCpltCallback+162 at shared/drivers/p_serial_mgr.c:86
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004320 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:155
[6] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x080041d6 in UART1_RxCpltCallback+162 at shared/drivers/p_serial_mgr.c:86
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004368 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9710 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x80098d0
Loading section .ARM, size 0x8 lma 0x8009da8
Loading section .init_array, size 0x8 lma 0x8009db0
Loading section .fini_array, size 0x8 lma 0x8009db8
Loading section .data, size 0x9a8 lma 0x8009dc0
Start address 0x08004368, load size 42808
Transfer rate: 29 KB/sec, 4756 bytes/write.
Breakpoint 1 at 0x800414a: file shared/drivers/p_serial_mgr.c, line 46.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages ###########################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ##################################################################
0x0800413c UART1_RxCpltCallback+8 bhi.w 0x80042bc <UART1_RxCpltCallback+392>
0x08004140 UART1_RxCpltCallback+12 tbb [pc, r3]
0x08004144 UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x08004146 UART1_RxCpltCallback+18 ldrb r1, [r1, #13]
0x08004148 UART1_RxCpltCallback+20 lsls r5, r3, #2
!0x0800414a UART1_RxCpltCallback+22 ldr r3, [pc, #380] ; (0x80042c8 <UART1_RxCpltCallback+404>)
0x0800414c UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
0x0800414e UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004150 UART1_RxCpltCallback+28 bne.w 0x80042ae <UART1_RxCpltCallback+378>
0x08004154 UART1_RxCpltCallback+32 ldr r3, [pc, #364] ; (0x80042c4 <UART1_RxCpltCallback+400>)
### Breakpoints ###############################################################
[1] break at 0x0800414a in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions ###############################################################
### History ###################################################################
### Memory ####################################################################
### Registers #################################################################
r0 0x20000a60 r8 0x00000000 xPSR 0x81000035
r1 0x00000000 r9 0x00000000 fpscr 0x00000010
r2 0x40013808 r10 0x00000000 msp 0x2000ff60
r3 0x00000000 r11 0x00000000 psp 0x00000000
r4 0x20000a60 r12 0x00001000 primask 0x00
r5 0x00004001 sp 0x2000ff60 basepri 0x00
r6 0x00000000 lr 0x0800348f faultmask 0x00
r7 0x00000000 pc 0x0800414a control 0x00
### Source ####################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack #####################################################################
[0] from 0x0800414a in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
[1] from 0x0800348e in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001584 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004320 in p_serial_mgr_service+8 at shared/drivers/p_serial_mgr.c:155
[6] from 0x0800151e in main+170 at Core/Src/main.c:146
### Threads ###################################################################
[1] id 0 from 0x0800414a in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
### Variables #################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
###############################################################################
$1 = 0
$2 = {
src_addr = 0 '\000',
dest_addr = 0 '\000',
len = 134234985,
frame_data = "e\025\000\bg\025\000\bi\025\000\bk\025\000\bm\025\000\b", '\000' <repeats 16 times>, "o\025\000\bq\025\000\b\000\000\000\000s\025\000\bu\025\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\271C\000\b\000\000\000\000\000\000\000\000\271C\000\b\271C\000\b\000\000\000\000\000\000\000\000\271C\000\b"...,
checksum = 0 '\000',
b_ready = false
}
$3 = {
src_addr = 0x0,
dest_addr = 0x0,
len = 0x8004369,
frame_data = {[0x0] = 0x65, [0x1] = 0x15, [0x2] = 0x0, [0x3] = 0x8, [0x4] = 0x67, [0x5] = 0x15, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x0 <repeats 16 times>, [0x24] = 0x6f, [0x25] = 0x15, [0x26] = 0x0, [0x27] = 0x8, [0x28] = 0x71, [0x29] = 0x15, [0x2a] = 0x0, [0x2b] = 0x8, [0x2c] = 0x0, [0x2d] = 0x0, [0x2e] = 0x0, [0x2f] = 0x0, [0x30] = 0x73, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x75, [0x35] = 0x15, [0x36] = 0x0, [0x37] = 0x8, [0x38] = 0xb9, [0x39] = 0x43, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0xb9, [0x3d] = 0x43, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0xb9, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0xb9, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0xb9, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0xb9, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0xb9, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0xb9, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0xb9, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0xb9, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0xb9, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0xb9, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0xb9, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0xb9, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0xb9, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0xb9, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0xb9, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0xb9, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0xb9, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0xb9, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0xb9, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0xb9, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0xb9, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0xb9, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0xb9, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0xb9, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0xb9, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0xb9, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0xb9, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0x0, [0xad] = 0x0, [0xae] = 0x0, [0xaf] = 0x0, [0xb0] = 0x0, [0xb1] = 0x0, [0xb2] = 0x0, [0xb3] = 0x0, [0xb4] = 0xb9, [0xb5] = 0x43, [0xb6] = 0x0, [0xb7] = 0x8, [0xb8] = 0xb9, [0xb9] = 0x43, [0xba] = 0x0, [0xbb] = 0x8, [0xbc] = 0x0, [0xbd] = 0x0, [0xbe] = 0x0, [0xbf] = 0x0, [0xc0] = 0x0, [0xc1] = 0x0, [0xc2] = 0x0, [0xc3] = 0x0, [0xc4] = 0xb9, [0xc5] = 0x43, [0xc6] = 0x0, [0xc7] = 0x8, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0x7d, [0xcd] = 0x15...},
checksum = 0x0,
b_ready = 0x0
}
Quit
$4 = 268
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]
0x0800414a in UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:42
42 switch (sstate)
### Assembly ############################################################################################################################
0x0800413c UART1_RxCpltCallback+4 bhi.w 0x80042bc <UART1_RxCpltCallback+388>
0x08004140 UART1_RxCpltCallback+8 tbb [pc, r3]
0x08004144 UART1_RxCpltCallback+12 lsrs r3, r0, #16
0x08004146 UART1_RxCpltCallback+14 ldrb r1, [r1, #13]
0x08004148 UART1_RxCpltCallback+16 lsls r5, r3, #2
0x0800414a UART1_RxCpltCallback+18 ldr r3, [pc, #380] ; (0x80042c8 <UART1_RxCpltCallback+400>)
0x0800414c UART1_RxCpltCallback+20 ldrb r3, [r3, #0]
0x0800414e UART1_RxCpltCallback+22 cmp r3, #126 ; 0x7e
0x08004150 UART1_RxCpltCallback+24 bne.w 0x80042ae <UART1_RxCpltCallback+374>
0x08004154 UART1_RxCpltCallback+28 ldr r3, [pc, #364] ; (0x80042c4 <UART1_RxCpltCallback+396>)
### Breakpoints #########################################################################################################################
### Expressions #########################################################################################################################
### History #############################################################################################################################
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a60 r4 0x20000a60 r8 0x00000000 r12 0x00001000 xPSR 0x81000035 primask 0x00
r1 0x00000000 r5 0x00004001 r9 0x00000000 sp 0x2000ff60 fpscr 0x00000010 basepri 0x00
r2 0x40013808 r6 0x00000000 r10 0x00000000 lr 0x0800348f msp 0x2000ff60 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x0800414a psp 0x00000000 control 0x00
### Source ##############################################################################################################################
32 static serial_pkt_t pkt_bank[10];
33 static p_cb_serial_pkt_t serial_pkt_cb;
34
35 static volatile uint8_t start_index_tracker = 0;
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
### Stack ###############################################################################################################################
[0] from 0x0800414a in UART1_RxCpltCallback+18 at shared/drivers/p_serial_mgr.c:42
[1] from 0x0800348e in UART_RxISR_8BIT+126 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e0 in HAL_UART_IRQHandler+104 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2345
[3] from 0x08001584 in USART1_IRQHandler+4 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004320 in p_serial_mgr_init+4 at shared/drivers/p_serial_mgr.c:145
[6] from 0x200016b4 in end
### Threads #############################################################################################################################
[1] id 0 from 0x0800414a in UART1_RxCpltCallback+18 at shared/drivers/p_serial_mgr.c:42
### Variables ###########################################################################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
#########################################################################################################################################
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08004368 msp: 0x20010000
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0x9750 lma 0x80001c0
Loading section .rodata, size 0x4d8 lma 0x8009910
Loading section .ARM, size 0x8 lma 0x8009de8
Loading section .init_array, size 0x8 lma 0x8009df0
Loading section .fini_array, size 0x8 lma 0x8009df8
Loading section .data, size 0x9a8 lma 0x8009e00
Start address 0x080043a8, load size 42872
Transfer rate: 29 KB/sec, 4763 bytes/write.
Breakpoint 1 at 0x800414e: file shared/drivers/p_serial_mgr.c, line 46.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages #####################################################################################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ############################################################################################################################
0x08004144 UART1_RxCpltCallback+12 lsrs r3, r0, #16
0x08004146 UART1_RxCpltCallback+14 ldrb r1, [r1, #13]
0x08004148 UART1_RxCpltCallback+16 lsls r5, r3, #2
0x0800414a UART1_RxCpltCallback+18 ldr r3, [pc, #380] ; (0x80042c8 <UART1_RxCpltCallback+400>)
0x0800414c UART1_RxCpltCallback+20 ldrb r3, [r3, #0]
!0x0800414e UART1_RxCpltCallback+22 cmp r3, #126 ; 0x7e
0x08004150 UART1_RxCpltCallback+24 bne.w 0x80042ae <UART1_RxCpltCallback+374>
0x08004154 UART1_RxCpltCallback+28 ldr r3, [pc, #364] ; (0x80042c4 <UART1_RxCpltCallback+396>)
0x08004156 UART1_RxCpltCallback+30 movs r2, #1
0x08004158 UART1_RxCpltCallback+32 strb r2, [r3, #0]
### Breakpoints #########################################################################################################################
[1] break at 0x0800414e in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a60 r4 0x20000a60 r8 0x00000000 r12 0x00001000 xPSR 0x81000035 primask 0x00
r1 0x00000000 r5 0x00004001 r9 0x00000000 sp 0x2000ff60 fpscr 0x00000010 basepri 0x00
r2 0x40013808 r6 0x00000000 r10 0x00000000 lr 0x08003493 msp 0x2000ff60 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x0800414e psp 0x00000000 control 0x00
### Source ##############################################################################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack ###############################################################################################################################
[0] from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
[1] from 0x08003492 in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e4 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001588 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800437a in p_serial_mgr_service+38 at shared/drivers/p_serial_mgr.c:162
[6] from 0x080014f2 in main+126 at Core/Src/main.c:146
### Threads #############################################################################################################################
[1] id 0 from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
### Variables ###########################################################################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
#########################################################################################################################################
$1 = 261
Continuing.
### Output/messages #####################################################################################################################
halted: PC: 0x08004150
Program received signal SIGINT, Interrupt.
HAL_TIM_IRQHandler (htim=0x20000a14 <htim6>) at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c:3965
3965 if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET)
### Assembly ############################################################################################################################
0x08001af2 HAL_TIM_IRQHandler+198 tst.w r2, #1
0x08001af6 HAL_TIM_IRQHandler+202 beq.n 0x8001b00 <HAL_TIM_IRQHandler+212>
0x08001af8 HAL_TIM_IRQHandler+204 ldr r2, [r3, #12]
0x08001afa HAL_TIM_IRQHandler+206 tst.w r2, #1
0x08001afe HAL_TIM_IRQHandler+210 bne.n 0x8001b80 <HAL_TIM_IRQHandler+340>
0x08001b00 HAL_TIM_IRQHandler+212 ldr r3, [r4, #0]
0x08001b02 HAL_TIM_IRQHandler+214 ldr r2, [r3, #16]
0x08001b04 HAL_TIM_IRQHandler+216 tst.w r2, #128 ; 0x80
0x08001b08 HAL_TIM_IRQHandler+220 beq.n 0x8001b12 <HAL_TIM_IRQHandler+230>
0x08001b0a HAL_TIM_IRQHandler+222 ldr r2, [r3, #12]
### Breakpoints #########################################################################################################################
[1] break at 0x0800414e in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$0 = 261
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a14 r4 0x20000a14 r8 0x00000000 r12 0x00001000 xPSR 0x21000046 primask 0x00
r1 0x000000fa r5 0x200009c8 r9 0x00000000 sp 0x2000ff78 fpscr 0x00000010 basepri 0x00
r2 0x00002e66 r6 0x00000000 r10 0x00000000 lr 0x08001b8d msp 0x2000ff78 faultmask 0x00
r3 0x00000080 r7 0x00000000 r11 0x00000000 pc 0x08001b00 psp 0x00000000 control 0x00
### Source ##############################################################################################################################
3955 {
3956 __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
3957 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3958 htim->PeriodElapsedCallback(htim);
3959 #else
3960 HAL_TIM_PeriodElapsedCallback(htim);
3961 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
3962 }
3963 }
3964 /* TIM Break input event */
3965 if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET)
3966 {
3967 if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET)
3968 {
3969 __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK);
3970 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3971 htim->BreakCallback(htim);
3972 #else
3973 HAL_TIMEx_BreakCallback(htim);
3974 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
### Stack ###############################################################################################################################
[0] from 0x08001b00 in HAL_TIM_IRQHandler+212 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c:3965
[1] from 0x080015a8 in TIM6_DAC_IRQHandler+8 at Core/Src/stm32l4xx_it.c:239
[2] from 0xffffffe9
[3] from 0x080014f2 in main+126 at Core/Src/main.c:146
### Threads #############################################################################################################################
[1] id 0 from 0x08001b00 in HAL_TIM_IRQHandler+212 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c:3965
### Variables ###########################################################################################################################
arg htim = 0x20000a14 <htim6>: {Instance = 0x40001000,Init = {Prescaler = 127,CounterMode = 0,Period =…
#########################################################################################################################################
Continuing.
### Output/messages #####################################################################################################################
Program received signal SIGINT, Interrupt.
0x080014f6 in main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ############################################################################################################################
0x080014e6 main+114 bl 0x80019b8 <HAL_TIM_Base_Start_IT>
0x080014ea main+118 bl 0x8004384 <p_serial_mgr_start>
0x080014ee main+122 bl 0x8004354 <p_serial_mgr_service>
0x080014f2 main+126 mov r4, r0
0x080014f4 main+128 cmp r0, #0
0x080014f6 main+130 beq.n 0x80014ee <main+122>
0x080014f8 main+132 ldrb.w r2, [r0, #257] ; 0x101
0x080014fc main+136 ldrb.w r1, [r0, #256] ; 0x100
0x08001500 main+140 ldr r0, [pc, #80] ; (0x8001554 <main+224>)
0x08001502 main+142 bl 0x800407c <p_printf>
### Breakpoints #########################################################################################################################
[1] break at 0x0800414e in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$0 = 261
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x00000000 r4 0x00000000 r8 0x00000000 r12 0x00001000 xPSR 0x61000000 primask 0x00
r1 0x00000000 r5 0x200009c8 r9 0x00000000 sp 0x2000fff0 fpscr 0x00000010 basepri 0x00
r2 0x00000000 r6 0x00000000 r10 0x00000000 lr 0x080014f3 msp 0x2000fff0 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x080014f6 psp 0x00000000 control 0x04
### Source ##############################################################################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack ###############################################################################################################################
[0] from 0x080014f6 in main+130 at Core/Src/main.c:146
### Threads #############################################################################################################################
[1] id 0 from 0x080014f6 in main+130 at Core/Src/main.c:146
### Variables ###########################################################################################################################
loc pkt = 0x0: {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\0…
#########################################################################################################################################
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages #####################################################################################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ############################################################################################################################
0x08004140 UART1_RxCpltCallback+8 bhi.w 0x80042f8 <UART1_RxCpltCallback+448>
0x08004144 UART1_RxCpltCallback+12 tbb [pc, r3]
0x08004148 UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x0800414a UART1_RxCpltCallback+18 ldrh r7, [r1, #42] ; 0x2a
0x0800414c UART1_RxCpltCallback+20 lsls r0, r7, #2
!0x0800414e UART1_RxCpltCallback+22 ldr r3, [pc, #436] ; (0x8004304 <UART1_RxCpltCallback+460>)
0x08004150 UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
0x08004152 UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004154 UART1_RxCpltCallback+28 bne.w 0x80042ea <UART1_RxCpltCallback+434>
0x08004158 UART1_RxCpltCallback+32 ldr r3, [pc, #420] ; (0x8004300 <UART1_RxCpltCallback+456>)
### Breakpoints #########################################################################################################################
[1] break at 0x0800414e in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$0 = 261
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a60 r4 0x20000a60 r8 0x00000000 r12 0x00001000 xPSR 0x81000035 primask 0x00
r1 0x00000000 r5 0x00004001 r9 0x00000000 sp 0x2000ff60 fpscr 0x00000010 basepri 0x00
r2 0x40013808 r6 0x00000000 r10 0x00000000 lr 0x08003493 msp 0x2000ff60 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x0800414e psp 0x00000000 control 0x00
### Source ##############################################################################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack ###############################################################################################################################
[0] from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
[1] from 0x08003492 in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e4 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001588 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004354 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:155
[6] from 0x080014f2 in main+126 at Core/Src/main.c:146
### Threads #############################################################################################################################
[1] id 0 from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
### Variables ###########################################################################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
#########################################################################################################################################
`/storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf' has changed; re-reading symbols.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages #####################################################################################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ############################################################################################################################
0x08004140 UART1_RxCpltCallback+8 bhi.w 0x80042f8 <UART1_RxCpltCallback+448>
0x08004144 UART1_RxCpltCallback+12 tbb [pc, r3]
0x08004148 UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x0800414a UART1_RxCpltCallback+18 ldrh r7, [r1, #42] ; 0x2a
0x0800414c UART1_RxCpltCallback+20 lsls r0, r7, #2
!0x0800414e UART1_RxCpltCallback+22 ldr r3, [pc, #436] ; (0x8004304 <UART1_RxCpltCallback+460>)
0x08004150 UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
0x08004152 UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004154 UART1_RxCpltCallback+28 bne.w 0x80042ea <UART1_RxCpltCallback+434>
0x08004158 UART1_RxCpltCallback+32 ldr r3, [pc, #420] ; (0x8004300 <UART1_RxCpltCallback+456>)
### Breakpoints #########################################################################################################################
[1] break at 0x0800414e in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$0 = 261
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a60 r4 0x20000a60 r8 0x00000000 r12 0x00001000 xPSR 0x81000035 primask 0x00
r1 0x00000000 r5 0x00004001 r9 0x00000000 sp 0x2000ff60 fpscr 0x00000010 basepri 0x00
r2 0x40013808 r6 0x00000000 r10 0x00000000 lr 0x08003493 msp 0x2000ff60 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x0800414e psp 0x00000000 control 0x00
### Source ##############################################################################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack ###############################################################################################################################
[0] from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
[1] from 0x08003492 in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e4 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001588 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x0800435a in p_serial_mgr_init+50 at shared/drivers/p_serial_mgr.c:151
[6] from 0x2000166c in heap_end
### Threads #############################################################################################################################
[1] id 0 from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
### Variables ###########################################################################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
#########################################################################################################################################
Continuing.
### Output/messages #####################################################################################################################
halted: PC: 0x08004150
Program received signal SIGINT, Interrupt.
0x080014f2 in main () at Core/Src/main.c:146
146 if ((pkt = p_serial_mgr_service()) != NULL)
### Assembly ############################################################################################################################
0x080014e0 main+108 bl 0x8003f6c <HAL_UART_Receive_IT>
0x080014e4 main+112 ldr r0, [pc, #104] ; (0x8001550 <main+220>)
0x080014e6 main+114 bl 0x80019b8 <HAL_TIM_Base_Start_IT>
0x080014ea main+118 bl 0x8004384 <p_serial_mgr_service+36>
0x080014ee main+122 bl 0x8004354 <p_serial_mgr_init+44>
0x080014f2 main+126 mov r4, r0
0x080014f4 main+128 cmp r0, #0
0x080014f6 main+130 beq.n 0x80014ee <main+122>
0x080014f8 main+132 ldrb.w r2, [r0, #257] ; 0x101
0x080014fc main+136 ldrb.w r1, [r0, #256] ; 0x100
### Breakpoints #########################################################################################################################
[1] break at 0x0800414e in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$0 = 261
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x00000000 r4 0x00000000 r8 0x00000000 r12 0x00001000 xPSR 0x61000000 primask 0x00
r1 0x00000000 r5 0x200009c8 r9 0x00000000 sp 0x2000fff0 fpscr 0x00000010 basepri 0x00
r2 0x00000000 r6 0x00000000 r10 0x00000000 lr 0x080014f3 msp 0x2000fff0 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x080014f2 psp 0x00000000 control 0x04
### Source ##############################################################################################################################
136 while (1)
137 {
138 // if (b_timer_struck)
139 // {
140 // // PDEBUG("%d\n", sys_time);
141 // b_timer_struck = false;
142 // motor_degrees = (motor_degrees + 1) % 360;
143 // mc_service(motor_degrees, 50);
144 // }
145 serial_pkt_t *pkt = NULL;
146 if ((pkt = p_serial_mgr_service()) != NULL)
147 {
148 PDEBUG("Source: %02x\n"
149 "Destination: %02x\n",
150 pkt->src_addr, pkt->dest_addr);
151 PDEBUG("Frame Data: \n");
152 for (int ind = 0; ind < pkt->len; pkt++)
153 {
154 if (ind % 8 == 0)
155 {
### Stack ###############################################################################################################################
[0] from 0x080014f2 in main+126 at Core/Src/main.c:146
### Threads #############################################################################################################################
[1] id 0 from 0x080014f2 in main+126 at Core/Src/main.c:146
### Variables ###########################################################################################################################
loc pkt = 0x0: {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\0…
#########################################################################################################################################
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages #####################################################################################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ############################################################################################################################
0x08004140 UART1_RxCpltCallback+8 bhi.w 0x80042f8 <UART1_RxCpltCallback+448>
0x08004144 UART1_RxCpltCallback+12 tbb [pc, r3]
0x08004148 UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x0800414a UART1_RxCpltCallback+18 ldrh r7, [r1, #42] ; 0x2a
0x0800414c UART1_RxCpltCallback+20 lsls r0, r7, #2
!0x0800414e UART1_RxCpltCallback+22 ldr r3, [pc, #436] ; (0x8004304 <UART1_RxCpltCallback+460>)
0x08004150 UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
0x08004152 UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004154 UART1_RxCpltCallback+28 bne.w 0x80042ea <UART1_RxCpltCallback+434>
0x08004158 UART1_RxCpltCallback+32 ldr r3, [pc, #420] ; (0x8004300 <UART1_RxCpltCallback+456>)
### Breakpoints #########################################################################################################################
[1] break at 0x0800414e in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$0 = 261
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a60 r4 0x20000a60 r8 0x00000000 r12 0x00001000 xPSR 0x81000035 primask 0x00
r1 0x00000000 r5 0x00004001 r9 0x00000000 sp 0x2000ff60 fpscr 0x00000010 basepri 0x00
r2 0x40013808 r6 0x00000000 r10 0x00000000 lr 0x08003493 msp 0x2000ff60 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x0800414e psp 0x00000000 control 0x00
### Source ##############################################################################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack ###############################################################################################################################
[0] from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
[1] from 0x08003492 in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e4 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001588 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004354 in p_serial_mgr_init+44 at shared/drivers/p_serial_mgr.c:151
[6] from 0x2000166c in heap_end
### Threads #############################################################################################################################
[1] id 0 from 0x0800414e in UART1_RxCpltCallback+22 at shared/drivers/p_serial_mgr.c:46
### Variables ###########################################################################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
#########################################################################################################################################
$2 = 261
$3 = {
frame_data = {[0x0] = 0x0, [0x1] = 0x0, [0x2] = 0x1, [0x3] = 0x20, [0x4] = 0xa9, [0x5] = 0x43, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x6f, [0x15] = 0x15, [0x16] = 0x0, [0x17] = 0x8, [0x18] = 0x71, [0x19] = 0x15, [0x1a] = 0x0, [0x1b] = 0x8, [0x1c] = 0x0 <repeats 16 times>, [0x2c] = 0x73, [0x2d] = 0x15, [0x2e] = 0x0, [0x2f] = 0x8, [0x30] = 0x75, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x0, [0x35] = 0x0, [0x36] = 0x0, [0x37] = 0x0, [0x38] = 0x77, [0x39] = 0x15, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0x79, [0x3d] = 0x15, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0xf9, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0xf9, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0xf9, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0xf9, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0xf9, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0xf9, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0xf9, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0xf9, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0xf9, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0xf9, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0xf9, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0xf9, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0xf9, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0xf9, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0xf9, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0xf9, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0xf9, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0xf9, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0xf9, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0xf9, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0xf9, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0xf9, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0xf9, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0xf9, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0xf9, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0xf9, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0xf9, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0xf9, [0xad] = 0x43, [0xae] = 0x0, [0xaf] = 0x8, [0xb0] = 0xf9, [0xb1] = 0x43, [0xb2] = 0x0, [0xb3] = 0x8, [0xb4] = 0x0, [0xb5] = 0x0, [0xb6] = 0x0, [0xb7] = 0x0, [0xb8] = 0x0, [0xb9] = 0x0, [0xba] = 0x0, [0xbb] = 0x0, [0xbc] = 0xf9, [0xbd] = 0x43, [0xbe] = 0x0, [0xbf] = 0x8, [0xc0] = 0xf9, [0xc1] = 0x43, [0xc2] = 0x0, [0xc3] = 0x8, [0xc4] = 0x0, [0xc5] = 0x0, [0xc6] = 0x0, [0xc7] = 0x0, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0xf9, [0xcd] = 0x43...},
src_addr = 0x0,
dest_addr = 0x0,
checksum = 0x0,
len = 0x0,
b_ready = 0x0
}
`/storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf' has changed; re-reading symbols.
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages #####################################################################################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ############################################################################################################################
0x08004148 UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x0800414a UART1_RxCpltCallback+18 ldrh r7, [r1, #42] ; 0x2a
0x0800414c UART1_RxCpltCallback+20 lsls r0, r7, #2
0x0800414e UART1_RxCpltCallback+22 ldr r3, [pc, #436] ; (0x8004304 <UART1_RxCpltCallback+460>)
0x08004150 UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
!0x08004152 UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004154 UART1_RxCpltCallback+28 bne.w 0x80042ea <UART1_RxCpltCallback+434>
0x08004158 UART1_RxCpltCallback+32 ldr r3, [pc, #420] ; (0x8004300 <UART1_RxCpltCallback+456>)
0x0800415a UART1_RxCpltCallback+34 movs r2, #1
0x0800415c UART1_RxCpltCallback+36 strb r2, [r3, #0]
### Breakpoints #########################################################################################################################
[1] break at 0x08004152 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$2 = 261
$$1 = 261
$$0 = {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\025\000\b", '\0…
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a60 r4 0x20000a60 r8 0x00000000 r12 0x00001000 xPSR 0x81000035 primask 0x00
r1 0x00000000 r5 0x00004001 r9 0x00000000 sp 0x2000ff60 fpscr 0x00000010 basepri 0x00
r2 0x40013808 r6 0x00000000 r10 0x00000000 lr 0x08003493 msp 0x2000ff60 faultmask 0x00
r3 0x0000007e r7 0x00000000 r11 0x00000000 pc 0x08004152 psp 0x00000000 control 0x00
### Source ##############################################################################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack ###############################################################################################################################
[0] from 0x08004152 in UART1_RxCpltCallback+26 at shared/drivers/p_serial_mgr.c:46
[1] from 0x08003492 in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e4 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001588 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004354 in p_serial_mgr_init+4 at shared/drivers/p_serial_mgr.c:146
[6] from 0x2000166c in heap_end
### Threads #############################################################################################################################
[1] id 0 from 0x08004152 in UART1_RxCpltCallback+26 at shared/drivers/p_serial_mgr.c:46
### Variables ###########################################################################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
#########################################################################################################################################
$4 = {
frame_data = {[0x0] = 0x0, [0x1] = 0x0, [0x2] = 0x1, [0x3] = 0x20, [0x4] = 0xa9, [0x5] = 0x43, [0x6] = 0x0, [0x7] = 0x8, [0x8] = 0x69, [0x9] = 0x15, [0xa] = 0x0, [0xb] = 0x8, [0xc] = 0x6b, [0xd] = 0x15, [0xe] = 0x0, [0xf] = 0x8, [0x10] = 0x6d, [0x11] = 0x15, [0x12] = 0x0, [0x13] = 0x8, [0x14] = 0x6f, [0x15] = 0x15, [0x16] = 0x0, [0x17] = 0x8, [0x18] = 0x71, [0x19] = 0x15, [0x1a] = 0x0, [0x1b] = 0x8, [0x1c] = 0x0 <repeats 16 times>, [0x2c] = 0x73, [0x2d] = 0x15, [0x2e] = 0x0, [0x2f] = 0x8, [0x30] = 0x75, [0x31] = 0x15, [0x32] = 0x0, [0x33] = 0x8, [0x34] = 0x0, [0x35] = 0x0, [0x36] = 0x0, [0x37] = 0x0, [0x38] = 0x77, [0x39] = 0x15, [0x3a] = 0x0, [0x3b] = 0x8, [0x3c] = 0x79, [0x3d] = 0x15, [0x3e] = 0x0, [0x3f] = 0x8, [0x40] = 0xf9, [0x41] = 0x43, [0x42] = 0x0, [0x43] = 0x8, [0x44] = 0xf9, [0x45] = 0x43, [0x46] = 0x0, [0x47] = 0x8, [0x48] = 0xf9, [0x49] = 0x43, [0x4a] = 0x0, [0x4b] = 0x8, [0x4c] = 0xf9, [0x4d] = 0x43, [0x4e] = 0x0, [0x4f] = 0x8, [0x50] = 0xf9, [0x51] = 0x43, [0x52] = 0x0, [0x53] = 0x8, [0x54] = 0xf9, [0x55] = 0x43, [0x56] = 0x0, [0x57] = 0x8, [0x58] = 0xf9, [0x59] = 0x43, [0x5a] = 0x0, [0x5b] = 0x8, [0x5c] = 0xf9, [0x5d] = 0x43, [0x5e] = 0x0, [0x5f] = 0x8, [0x60] = 0xf9, [0x61] = 0x43, [0x62] = 0x0, [0x63] = 0x8, [0x64] = 0xf9, [0x65] = 0x43, [0x66] = 0x0, [0x67] = 0x8, [0x68] = 0xf9, [0x69] = 0x43, [0x6a] = 0x0, [0x6b] = 0x8, [0x6c] = 0xf9, [0x6d] = 0x43, [0x6e] = 0x0, [0x6f] = 0x8, [0x70] = 0xf9, [0x71] = 0x43, [0x72] = 0x0, [0x73] = 0x8, [0x74] = 0xf9, [0x75] = 0x43, [0x76] = 0x0, [0x77] = 0x8, [0x78] = 0xf9, [0x79] = 0x43, [0x7a] = 0x0, [0x7b] = 0x8, [0x7c] = 0xf9, [0x7d] = 0x43, [0x7e] = 0x0, [0x7f] = 0x8, [0x80] = 0xf9, [0x81] = 0x43, [0x82] = 0x0, [0x83] = 0x8, [0x84] = 0xf9, [0x85] = 0x43, [0x86] = 0x0, [0x87] = 0x8, [0x88] = 0xf9, [0x89] = 0x43, [0x8a] = 0x0, [0x8b] = 0x8, [0x8c] = 0xf9, [0x8d] = 0x43, [0x8e] = 0x0, [0x8f] = 0x8, [0x90] = 0xf9, [0x91] = 0x43, [0x92] = 0x0, [0x93] = 0x8, [0x94] = 0xf9, [0x95] = 0x43, [0x96] = 0x0, [0x97] = 0x8, [0x98] = 0xf9, [0x99] = 0x43, [0x9a] = 0x0, [0x9b] = 0x8, [0x9c] = 0xf9, [0x9d] = 0x43, [0x9e] = 0x0, [0x9f] = 0x8, [0xa0] = 0xf9, [0xa1] = 0x43, [0xa2] = 0x0, [0xa3] = 0x8, [0xa4] = 0xf9, [0xa5] = 0x43, [0xa6] = 0x0, [0xa7] = 0x8, [0xa8] = 0xf9, [0xa9] = 0x43, [0xaa] = 0x0, [0xab] = 0x8, [0xac] = 0xf9, [0xad] = 0x43, [0xae] = 0x0, [0xaf] = 0x8, [0xb0] = 0xf9, [0xb1] = 0x43, [0xb2] = 0x0, [0xb3] = 0x8, [0xb4] = 0x0, [0xb5] = 0x0, [0xb6] = 0x0, [0xb7] = 0x0, [0xb8] = 0x0, [0xb9] = 0x0, [0xba] = 0x0, [0xbb] = 0x0, [0xbc] = 0xf9, [0xbd] = 0x43, [0xbe] = 0x0, [0xbf] = 0x8, [0xc0] = 0xf9, [0xc1] = 0x43, [0xc2] = 0x0, [0xc3] = 0x8, [0xc4] = 0x0, [0xc5] = 0x0, [0xc6] = 0x0, [0xc7] = 0x0, [0xc8] = 0x0, [0xc9] = 0x0, [0xca] = 0x0, [0xcb] = 0x0, [0xcc] = 0xf9, [0xcd] = 0x43...},
src_addr = 0x0,
dest_addr = 0x0,
checksum = 0x0,
len = 0x0,
b_ready = 0x0
}
Continuing.
### Output/messages #####################################################################################################################
halted: PC: 0x08004154
Program received signal SIGINT, Interrupt.
0x0800437c in p_serial_mgr_init (huart=<optimized out>) at shared/drivers/p_serial_mgr.c:151
151 }
### Assembly ############################################################################################################################
0x08004370 p_serial_mgr_init+32 ldrb.w r2, [r0, #260] ; 0x104
0x08004374 p_serial_mgr_init+36 cmp r2, #0
0x08004376 p_serial_mgr_init+38 beq.n 0x8004358 <p_serial_mgr_init+8>
0x08004378 p_serial_mgr_init+40 b.n 0x800437c <p_serial_mgr_init+44>
0x0800437a p_serial_mgr_init+42 movs r0, #0
0x0800437c p_serial_mgr_init+44 bx lr
0x0800437e p_serial_mgr_init+46 nop
0x08004380 p_serial_mgr_init+48 asrs r4, r2, #24
0x08004382 p_serial_mgr_init+50 movs r0, #0
0x08004384 p_serial_mgr_init+52 push {r3, lr}
### Breakpoints #########################################################################################################################
[1] break at 0x08004152 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$2 = 261
$$1 = {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\025\000\b", '\0…
$$0 = {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\025\000\b", '\0…
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x00000000 r4 0x00000000 r8 0x00000000 r12 0x00001000 xPSR 0x61000000 primask 0x00
r1 0x00000000 r5 0x200009c8 r9 0x00000000 sp 0x2000fff0 fpscr 0x00000010 basepri 0x00
r2 0x00000000 r6 0x00000000 r10 0x00000000 lr 0x080014f3 msp 0x2000fff0 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x0800437c psp 0x00000000 control 0x04
### Source ##############################################################################################################################
141 // HAL_UART_Receive_IT(&huart1, &huart1_rxc, 1);
142 // HAL_GPIO_WritePin(USART1_DE_GPIO_Port, USART1_DE_Pin, 0);
143 }
144 void p_serial_mgr_init(UART_HandleTypeDef *huart)
145 {
146 _serial_huart_inst = huart;
147 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
148
149 memset(pkt_bank, 0, sizeof(serial_pkt_t) * 10);
150 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
151 }
152
153 serial_pkt_t *p_serial_mgr_service(void)
154 {
155 // this will be less garbage when i switch to a queue
156 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
157 {
158 if (serial_pkt_cb.buffer[ind].b_ready)
159 {
160 return &serial_pkt_cb.buffer[ind];
### Stack ###############################################################################################################################
[0] from 0x0800437c in p_serial_mgr_init+44 at shared/drivers/p_serial_mgr.c:151
[1] from 0x2000166c in heap_end
### Threads #############################################################################################################################
[1] id 0 from 0x0800437c in p_serial_mgr_init+44 at shared/drivers/p_serial_mgr.c:151
### Variables ###########################################################################################################################
arg huart = <optimized out>
#########################################################################################################################################
Starting program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf
### Output/messages #####################################################################################################################
Breakpoint 1, UART1_RxCpltCallback (huart=0x20000a60 <huart1>) at shared/drivers/p_serial_mgr.c:46
46 if (rxc == 0x7E)
### Assembly ############################################################################################################################
0x08004148 UART1_RxCpltCallback+16 lsrs r3, r0, #16
0x0800414a UART1_RxCpltCallback+18 ldrh r7, [r1, #42] ; 0x2a
0x0800414c UART1_RxCpltCallback+20 lsls r0, r7, #2
0x0800414e UART1_RxCpltCallback+22 ldr r3, [pc, #436] ; (0x8004304 <UART1_RxCpltCallback+460>)
0x08004150 UART1_RxCpltCallback+24 ldrb r3, [r3, #0]
!0x08004152 UART1_RxCpltCallback+26 cmp r3, #126 ; 0x7e
0x08004154 UART1_RxCpltCallback+28 bne.w 0x80042ea <UART1_RxCpltCallback+434>
0x08004158 UART1_RxCpltCallback+32 ldr r3, [pc, #420] ; (0x8004300 <UART1_RxCpltCallback+456>)
0x0800415a UART1_RxCpltCallback+34 movs r2, #1
0x0800415c UART1_RxCpltCallback+36 strb r2, [r3, #0]
### Breakpoints #########################################################################################################################
[1] break at 0x08004152 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$2 = 261
$$1 = {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\025\000\b", '\0…
$$0 = {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\025\000\b", '\0…
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x20000a60 r4 0x20000a60 r8 0x00000000 r12 0x00001000 xPSR 0x81000035 primask 0x00
r1 0x00000000 r5 0x00004001 r9 0x00000000 sp 0x2000ff60 fpscr 0x00000010 basepri 0x00
r2 0x40013808 r6 0x00000000 r10 0x00000000 lr 0x08003493 msp 0x2000ff60 faultmask 0x00
r3 0x0000007e r7 0x00000000 r11 0x00000000 pc 0x08004152 psp 0x00000000 control 0x00
### Source ##############################################################################################################################
36 static volatile uint8_t frame_index_tracker = 0;
37
38 #pragma message(Reminder "Move away from cirular buffer to a managed queue")
39
40 void UART1_RxCpltCallback(UART_HandleTypeDef *huart)
41 {
42 switch (sstate)
43 {
44 case SS_IDLE: // packet start
45 {
!46 if (rxc == 0x7E)
47 {
48 sstate = SS_START;
49 }
50 }
51 break;
52 case SS_START:
53 {
54 switch (start_index_tracker)
55 {
### Stack ###############################################################################################################################
[0] from 0x08004152 in UART1_RxCpltCallback+26 at shared/drivers/p_serial_mgr.c:46
[1] from 0x08003492 in UART_RxISR_8BIT+130 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4430
[2] from 0x080035e4 in HAL_UART_IRQHandler+108 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2347
[3] from 0x08001588 in USART1_IRQHandler+8 at Core/Src/stm32l4xx_it.c:211
[4] from 0xffffffe9
[5] from 0x08004360 in p_serial_mgr_init+16 at shared/drivers/p_serial_mgr.c:149
[6] from 0x2000166c in heap_end
### Threads #############################################################################################################################
[1] id 0 from 0x08004152 in UART1_RxCpltCallback+26 at shared/drivers/p_serial_mgr.c:46
### Variables ###########################################################################################################################
arg huart = 0x20000a60 <huart1>: {Instance = 0x40013800,Init = {BaudRate = 115200,WordLength = 0,StopBi…
#########################################################################################################################################
Continuing.
### Output/messages #####################################################################################################################
halted: PC: 0x08004154
Program received signal SIGINT, Interrupt.
p_serial_mgr_init (huart=0x0) at shared/drivers/p_serial_mgr.c:149
149 memset(pkt_bank, 0, sizeof(serial_pkt_t) * 10);
### Assembly ############################################################################################################################
0x08004352 p_serial_mgr_init+2 movs r0, #0
0x08004354 p_serial_mgr_init+4 movs r3, #0
0x08004356 p_serial_mgr_init+6 b.n 0x800435a <p_serial_mgr_init+10>
0x08004358 p_serial_mgr_init+8 adds r3, #1
0x0800435a p_serial_mgr_init+10 ldr r2, [pc, #36] ; (0x8004380 <p_serial_mgr_init+48>)
0x0800435c p_serial_mgr_init+12 ldrh r2, [r2, #6]
0x0800435e p_serial_mgr_init+14 cmp r2, r3
0x08004360 p_serial_mgr_init+16 ble.n 0x800437a <p_serial_mgr_init+42>
0x08004362 p_serial_mgr_init+18 ldr r2, [pc, #28] ; (0x8004380 <p_serial_mgr_init+48>)
0x08004364 p_serial_mgr_init+20 ldr r0, [r2, #0]
### Breakpoints #########################################################################################################################
[1] break at 0x08004152 in shared/drivers/p_serial_mgr.c:46 for p_serial_mgr.c:44 hit 1 time
### Expressions #########################################################################################################################
### History #############################################################################################################################
$$2 = 261
$$1 = {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\025\000\b", '\0…
$$0 = {frame_data = "\000\000\001 \251C\000\bi\025\000\bk\025\000\bm\025\000\bo\025\000\bq\025\000\b", '\0…
### Memory ##############################################################################################################################
### Registers ###########################################################################################################################
r0 0x00000000 r4 0x00000000 r8 0x00000000 r12 0x00001000 xPSR 0x61000000 primask 0x00
r1 0x00000000 r5 0x200009c8 r9 0x00000000 sp 0x2000fff0 fpscr 0x00000010 basepri 0x00
r2 0x20001614 r6 0x00000000 r10 0x00000000 lr 0x080014f3 msp 0x2000fff0 faultmask 0x00
r3 0x00000000 r7 0x00000000 r11 0x00000000 pc 0x0800435c psp 0x00000000 control 0x04
### Source ##############################################################################################################################
139
140 // HAL_UART_Transmit(&huart2, &huart2_rxc, 1, 500);
141 // HAL_UART_Receive_IT(&huart1, &huart1_rxc, 1);
142 // HAL_GPIO_WritePin(USART1_DE_GPIO_Port, USART1_DE_Pin, 0);
143 }
144 void p_serial_mgr_init(UART_HandleTypeDef *huart)
145 {
146 _serial_huart_inst = huart;
147 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
148
149 memset(pkt_bank, 0, sizeof(serial_pkt_t) * 10);
150 p_cb_serial_pkt_init(&serial_pkt_cb, pkt_bank, 10);
151 }
152
153 serial_pkt_t *p_serial_mgr_service(void)
154 {
155 // this will be less garbage when i switch to a queue
156 for (int ind = 0; ind < serial_pkt_cb.max_len; ind++)
157 {
158 if (serial_pkt_cb.buffer[ind].b_ready)
### Stack ###############################################################################################################################
[0] from 0x0800435c in p_serial_mgr_init+12 at shared/drivers/p_serial_mgr.c:149
[1] from 0x2000166c in heap_end
### Threads #############################################################################################################################
[1] id 0 from 0x0800435c in p_serial_mgr_init+12 at shared/drivers/p_serial_mgr.c:149
### Variables ###########################################################################################################################
arg huart = 0x0: {Instance = 0x20010000,Init = {BaudRate = 134235049,WordLength = 134223209,StopBits = …
#########################################################################################################################################
Quit
Detaching from program: /storage/Shared/Projects/Penguinator/motor_controller/build/motor_controller.elf, Remote target
[Inferior 1 (Remote target) detached]