From 90c34abb14ac6816933f31677ef69d4e1a1253ef Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Wed, 17 Jun 2026 18:27:19 +0200 Subject: [PATCH] Initialize JTAG hardware - To debug with ST-Link --- Core/Inc/main.h | 1 + Core/Src/main.c | 27 +++++++++------------ can_logger.ioc | 62 +++++++++++++++++++++++++++++++------------------ 3 files changed, 52 insertions(+), 38 deletions(-) diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 333d59d..579e2b4 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -31,6 +31,7 @@ extern "C" { /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include +#include "canlog.h" /* USER CODE END Includes */ /* Exported types ------------------------------------------------------------*/ diff --git a/Core/Src/main.c b/Core/Src/main.c index d538f06..b62232c 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -439,7 +439,7 @@ static void MX_GPIO_Init(void) __HAL_RCC_GPIOD_CLK_ENABLE(); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_RESET); /*Configure GPIO pins : PC13 PC14 PC15 PC0 PC1 PC2 PC3 PC4 @@ -457,30 +457,26 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); - /*Configure GPIO pins : PA0 PA1 PA2 PA3 - PA4 PA5 PA6 PA7 - PA8 PA11 PA12 PA13 - PA14 PA15 */ - GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 - |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 - |GPIO_PIN_8|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 - |GPIO_PIN_14|GPIO_PIN_15; + /*Configure GPIO pins : PA1 PA2 PA3 PA4 + PA5 PA6 PA7 PA8 + PA11 PA12 */ + GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4 + |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8 + |GPIO_PIN_11|GPIO_PIN_12; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pins : PB0 PB1 PB2 PB10 - PB11 PB14 PB15 PB6 - PB7 */ + PB11 PB14 PB15 */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10 - |GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_6 - |GPIO_PIN_7; + |GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_15; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - /*Configure GPIO pins : PB4 PB5 */ - GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5; + /*Configure GPIO pins : PB5 PB6 PB7 */ + GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; @@ -493,7 +489,6 @@ static void MX_GPIO_Init(void) /* USER CODE BEGIN 4 */ /* USER CODE END 4 */ - /** * @brief Period elapsed callback in non blocking mode * @note This function is called when TIM6 interrupt took place, inside diff --git a/can_logger.ioc b/can_logger.ioc index 29ccd68..6a0354e 100644 --- a/can_logger.ioc +++ b/can_logger.ioc @@ -68,24 +68,30 @@ Mcu.IP8=USART1 Mcu.IPNb=9 Mcu.Name=STM32F405RGTx Mcu.Package=LQFP64 -Mcu.Pin0=PB12 -Mcu.Pin1=PB13 -Mcu.Pin10=PB3 -Mcu.Pin11=PB4 -Mcu.Pin12=PB5 -Mcu.Pin13=PB8 -Mcu.Pin14=PB9 -Mcu.Pin15=VP_FREERTOS_VS_CMSIS_V2 -Mcu.Pin16=VP_SYS_VS_tim6 -Mcu.Pin2=PC8 -Mcu.Pin3=PC9 -Mcu.Pin4=PA9 -Mcu.Pin5=PA10 -Mcu.Pin6=PC10 -Mcu.Pin7=PC11 -Mcu.Pin8=PC12 -Mcu.Pin9=PD2 -Mcu.PinsNb=17 +Mcu.Pin0=PA0-WKUP +Mcu.Pin1=PB12 +Mcu.Pin10=PC10 +Mcu.Pin11=PC11 +Mcu.Pin12=PC12 +Mcu.Pin13=PD2 +Mcu.Pin14=PB3 +Mcu.Pin15=PB4 +Mcu.Pin16=PB5 +Mcu.Pin17=PB6 +Mcu.Pin18=PB7 +Mcu.Pin19=PB8 +Mcu.Pin2=PB13 +Mcu.Pin20=PB9 +Mcu.Pin21=VP_FREERTOS_VS_CMSIS_V2 +Mcu.Pin22=VP_SYS_VS_tim6 +Mcu.Pin3=PC8 +Mcu.Pin4=PC9 +Mcu.Pin5=PA9 +Mcu.Pin6=PA10 +Mcu.Pin7=PA13 +Mcu.Pin8=PA14 +Mcu.Pin9=PA15 +Mcu.PinsNb=23 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F405RGTx @@ -111,20 +117,32 @@ NVIC.TIM6_DAC_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true NVIC.TimeBase=TIM6_DAC_IRQn NVIC.TimeBaseIP=TIM6 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +PA0-WKUP.Mode=SYS_WakeUp0 +PA0-WKUP.Signal=SYS_WKUP PA10.Mode=Asynchronous PA10.Signal=USART1_RX +PA13.Mode=JTAG_5_pins +PA13.Signal=SYS_JTMS-SWDIO +PA14.Mode=JTAG_5_pins +PA14.Signal=SYS_JTCK-SWCLK +PA15.Mode=JTAG_5_pins +PA15.Signal=SYS_JTDI PA9.Mode=Asynchronous PA9.Signal=USART1_TX PB12.Mode=CAN_Activate PB12.Signal=CAN2_RX PB13.Mode=CAN_Activate PB13.Signal=CAN2_TX -PB3.Locked=true -PB3.Signal=GPIO_Output -PB4.Locked=true -PB4.Signal=GPIO_Output +PB3.Mode=JTAG_5_pins +PB3.Signal=SYS_JTDO-SWO +PB4.Mode=JTAG_5_pins +PB4.Signal=SYS_JTRST PB5.Locked=true PB5.Signal=GPIO_Output +PB6.Locked=true +PB6.Signal=GPIO_Output +PB7.Locked=true +PB7.Signal=GPIO_Output PB8.Mode=CAN_Activate PB8.Signal=CAN1_RX PB9.Locked=true