2023-11-13 05:47 AM
Hello,
I am using a sTM32L430 with a JTAG access throgh ST LINK V2 and STM32CubeIDE. The project has a few GPIO to debug and an USART to generate interrupts:
To try to undersand my problem I build a small project with STM32CubeMX to have code genrated by STM and not by me.
I added a few code to remove data from the USART BX buffer and to toggle debug pins.
void USART3_IRQHandler(void)
{
/* USER CODE BEGIN USART3_IRQn 0 */
int val;
/* USER CODE END USART3_IRQn 0 */
/* USER CODE BEGIN USART3_IRQn 1 */
LL_GPIO_TogglePin(GPIOH, LL_GPIO_PIN_0);
val = LL_USART_ReceiveData8(USART3); //read byte to clear RXNE flag
val++;
/* USER CODE END USART3_IRQn 1 */
}
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SYSCFG);
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_PWR);
/* System interrupt init*/
NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
/* SysTick_IRQn interrupt configuration */
NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),15, 0));
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART3_UART_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
__delay_cycles(1000000);
LL_GPIO_TogglePin(GPIOH, LL_GPIO_PIN_1); // Green led
}
/* USER CODE END 3 */
}
I load and run the program. If an interrupt occurs during debugging I have the following issue:
Program stops (led do not toggles) and current consumption increases from 2mA to 14mA. If I click on the suspend button I have the following message:
Break at address "0x1fff3f36" with no debug information available, or outside of program code.
This address is inside the System memory.
When I have interrupts while not in debugging mode there is no issue at all.
Do you have any suggestion for this issue which prevents me of debugging capabilities?
Best regards
Mich
Solved! Go to Solution.
2023-11-16 05:13 AM
It seems to be linked to a solder issue around the LSE quartz.
The microC reacts differently when started from JTAG or from power on...
2023-11-13 05:57 AM - edited 2023-11-13 05:58 AM
boot0 pin (PH3 ?) needs pulldown. or gnd . otherwise jumping to system bootloader mode...
2023-11-13 06:58 AM
PH3 has a pull-down
2023-11-16 05:13 AM
It seems to be linked to a solder issue around the LSE quartz.
The microC reacts differently when started from JTAG or from power on...