From 2f79e87bd30214cac27b5e9df45c1bff80355d98 Mon Sep 17 00:00:00 2001 From: Ziga Mahne Date: Wed, 2 Oct 2024 13:41:15 +0200 Subject: [PATCH] Update Board layer - swap pins PA8 and PI0 on Arduino Connector - add note in README.md --- .ci/Layers/Default_GCC/CubeMX/MX_Device/MX_Device.h | 2 +- .ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Inc/main.h | 12 ++++++------ .../Default_GCC/CubeMX/STM32CubeMX/STM32CubeMX.ioc | 4 ++-- .ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/main.c | 8 ++++---- .../CubeMX/STM32CubeMX/Src/stm32f7xx_it.c | 4 ++-- .ci/Layers/Default_GCC/README.md | 2 ++ .ci/Layers/Default_GCC/STM32F746G-DISCO.h | 4 ++-- Layers/Default/CubeMX/MX_Device/MX_Device.h | 2 +- Layers/Default/CubeMX/STM32CubeMX/Inc/main.h | 12 ++++++------ Layers/Default/CubeMX/STM32CubeMX/STM32CubeMX.ioc | 4 ++-- Layers/Default/CubeMX/STM32CubeMX/Src/main.c | 8 ++++---- Layers/Default/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c | 4 ++-- Layers/Default/README.md | 2 ++ Layers/Default/STM32F746G-DISCO.h | 4 ++-- 14 files changed, 38 insertions(+), 34 deletions(-) diff --git a/.ci/Layers/Default_GCC/CubeMX/MX_Device/MX_Device.h b/.ci/Layers/Default_GCC/CubeMX/MX_Device/MX_Device.h index 56ed007..68cf86c 100644 --- a/.ci/Layers/Default_GCC/CubeMX/MX_Device/MX_Device.h +++ b/.ci/Layers/Default_GCC/CubeMX/MX_Device/MX_Device.h @@ -1,6 +1,6 @@ /****************************************************************************** * File Name : MX_Device.h - * Date : 30/09/2024 13:01:53 + * Date : 03/10/2024 11:01:52 * Description : STM32Cube MX parameter definitions * Note : This file is generated with a generator out of the * STM32CubeMX project and its generated files (DO NOT EDIT!) diff --git a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Inc/main.h b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Inc/main.h index d88cb8e..7abecb7 100644 --- a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Inc/main.h +++ b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Inc/main.h @@ -193,9 +193,9 @@ extern int shield_setup (void); #define DCMI_PWR_EN_GPIO_Port GPIOH #define DCMI_D4_Pin GPIO_PIN_14 #define DCMI_D4_GPIO_Port GPIOH -#define ARDUINO_D10_Pin GPIO_PIN_0 -#define ARDUINO_D10_GPIO_Port GPIOI -#define ARDUINO_D10_EXTI_IRQn EXTI0_IRQn +#define ARDUINO_D5_Pin GPIO_PIN_0 +#define ARDUINO_D5_GPIO_Port GPIOI +#define ARDUINO_D5_EXTI_IRQn EXTI0_IRQn #define VCP_TX_Pin GPIO_PIN_9 #define VCP_TX_GPIO_Port GPIOA #define RCC_OSC32_OUT_Pin GPIO_PIN_15 @@ -204,9 +204,9 @@ extern int shield_setup (void); #define LCD_G6_GPIO_Port GPIOK #define LCD_G7_Pin GPIO_PIN_2 #define LCD_G7_GPIO_Port GPIOK -#define ARDUINO_D5_Pin GPIO_PIN_8 -#define ARDUINO_D5_GPIO_Port GPIOA -#define ARDUINO_D5_EXTI_IRQn EXTI9_5_IRQn +#define ARDUINO_D10_Pin GPIO_PIN_8 +#define ARDUINO_D10_GPIO_Port GPIOA +#define ARDUINO_D10_EXTI_IRQn EXTI9_5_IRQn #define OSC_25M_Pin GPIO_PIN_0 #define OSC_25M_GPIO_Port GPIOH #define FMC_A2_Pin GPIO_PIN_2 diff --git a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/STM32CubeMX.ioc b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/STM32CubeMX.ioc index 7e1eea2..8e67484 100644 --- a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/STM32CubeMX.ioc +++ b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/STM32CubeMX.ioc @@ -441,7 +441,7 @@ PA7.Locked=true PA7.Mode=RMII PA7.Signal=ETH_CRS_DV PA8.GPIOParameters=GPIO_Label -PA8.GPIO_Label=ARDUINO_D5 +PA8.GPIO_Label=ARDUINO_D10 PA8.Locked=true PA8.Signal=GPXTI8 PA9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode @@ -973,7 +973,7 @@ PH9.Locked=true PH9.Mode=Slave_8_bits_External_Synchro PH9.Signal=DCMI_D0 PI0.GPIOParameters=GPIO_Label -PI0.GPIO_Label=ARDUINO_D10 +PI0.GPIO_Label=ARDUINO_D5 PI0.Locked=true PI0.Signal=GPXTI0 PI1.GPIOParameters=GPIO_Label diff --git a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/main.c b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/main.c index 63c0f07..b5c4e62 100644 --- a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/main.c +++ b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/main.c @@ -1481,8 +1481,8 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(ARDUINO_D3_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pins : ARDUINO_D9_Pin ARDUINO_D5_Pin */ - GPIO_InitStruct.Pin = ARDUINO_D9_Pin|ARDUINO_D5_Pin; + /*Configure GPIO pins : ARDUINO_D9_Pin ARDUINO_D10_Pin */ + GPIO_InitStruct.Pin = ARDUINO_D9_Pin|ARDUINO_D10_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); @@ -1500,8 +1500,8 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(OTG_FS_PowerSwitchOn_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pins : ARDUINO_D7_Pin ARDUINO_D8_Pin ARDUINO_D10_Pin */ - GPIO_InitStruct.Pin = ARDUINO_D7_Pin|ARDUINO_D8_Pin|ARDUINO_D10_Pin; + /*Configure GPIO pins : ARDUINO_D7_Pin ARDUINO_D8_Pin ARDUINO_D5_Pin */ + GPIO_InitStruct.Pin = ARDUINO_D7_Pin|ARDUINO_D8_Pin|ARDUINO_D5_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); diff --git a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c index 380b421..184e9f1 100644 --- a/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c +++ b/.ci/Layers/Default_GCC/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c @@ -179,7 +179,7 @@ void EXTI0_IRQHandler(void) /* USER CODE BEGIN EXTI0_IRQn 0 */ /* USER CODE END EXTI0_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(ARDUINO_D10_Pin); + HAL_GPIO_EXTI_IRQHandler(ARDUINO_D5_Pin); /* USER CODE BEGIN EXTI0_IRQn 1 */ /* USER CODE END EXTI0_IRQn 1 */ @@ -265,7 +265,7 @@ void EXTI9_5_IRQHandler(void) /* USER CODE END EXTI9_5_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(ARDUINO_D2_Pin); HAL_GPIO_EXTI_IRQHandler(ARDUINO_D4_Pin); - HAL_GPIO_EXTI_IRQHandler(ARDUINO_D5_Pin); + HAL_GPIO_EXTI_IRQHandler(ARDUINO_D10_Pin); /* USER CODE BEGIN EXTI9_5_IRQn 1 */ /* USER CODE END EXTI9_5_IRQn 1 */ diff --git a/.ci/Layers/Default_GCC/README.md b/.ci/Layers/Default_GCC/README.md index 1f7ffb5..81c820a 100644 --- a/.ci/Layers/Default_GCC/README.md +++ b/.ci/Layers/Default_GCC/README.md @@ -36,6 +36,8 @@ Refer to ["Configure STM32 Devices with CubeMX"](https://github.com/Open-CMSIS-P | Driver_USBH1 | USB_OTG_HS | USB OTG HS connector (CN12) | CMSIS_USB_Host | CMSIS-Driver VIO | GPIO | LEDs (LD3, LD1, LD2) and USER button (B1) | CMSIS_VIO +> Note: [Schematics (Rev.B-02)](https://www.st.com/resource/en/schematic_pack/mb1191-f746ngh6-b02_schematic.pdf) error: The Arduino connector pins D10 and D5 are connected incorrectly. D10 should be connected to PA8 and D5 to PI0, as it is described in [User Manual](https://www.st.com/resource/en/user_manual/um1907-discovery-kit-for-stm32f7-series-with-stm32f746ng-mcu-stmicroelectronics.pdf) + Reference to [Arduino UNO connector description](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/ReferenceApplications.md#arduino-shield). ### CMSIS-Driver Virtual I/O mapping diff --git a/.ci/Layers/Default_GCC/STM32F746G-DISCO.h b/.ci/Layers/Default_GCC/STM32F746G-DISCO.h index feac9b2..52a9955 100644 --- a/.ci/Layers/Default_GCC/STM32F746G-DISCO.h +++ b/.ci/Layers/Default_GCC/STM32F746G-DISCO.h @@ -34,12 +34,12 @@ #define ARDUINO_UNO_D2 GPIO_PIN_ID_PORTG(6U) #define ARDUINO_UNO_D3 GPIO_PIN_ID_PORTB(4U) #define ARDUINO_UNO_D4 GPIO_PIN_ID_PORTG(7U) -#define ARDUINO_UNO_D5 GPIO_PIN_ID_PORTA(8U) +#define ARDUINO_UNO_D5 GPIO_PIN_ID_PORTI(0U) #define ARDUINO_UNO_D6 GPIO_PIN_ID_PORTH(6U) #define ARDUINO_UNO_D7 GPIO_PIN_ID_PORTI(3U) #define ARDUINO_UNO_D8 GPIO_PIN_ID_PORTI(2U) #define ARDUINO_UNO_D9 GPIO_PIN_ID_PORTA(15U) -#define ARDUINO_UNO_D10 GPIO_PIN_ID_PORTI(0U) +#define ARDUINO_UNO_D10 GPIO_PIN_ID_PORTA(8U) #define ARDUINO_UNO_D14 GPIO_PIN_ID_PORTA(0U) #define ARDUINO_UNO_D15 GPIO_PIN_ID_PORTF(10U) #define ARDUINO_UNO_D16 GPIO_PIN_ID_PORTF(9U) diff --git a/Layers/Default/CubeMX/MX_Device/MX_Device.h b/Layers/Default/CubeMX/MX_Device/MX_Device.h index 3eb1375..4d913f6 100644 --- a/Layers/Default/CubeMX/MX_Device/MX_Device.h +++ b/Layers/Default/CubeMX/MX_Device/MX_Device.h @@ -1,6 +1,6 @@ /****************************************************************************** * File Name : MX_Device.h - * Date : 30/09/2024 12:46:17 + * Date : 03/10/2024 10:56:13 * Description : STM32Cube MX parameter definitions * Note : This file is generated with a generator out of the * STM32CubeMX project and its generated files (DO NOT EDIT!) diff --git a/Layers/Default/CubeMX/STM32CubeMX/Inc/main.h b/Layers/Default/CubeMX/STM32CubeMX/Inc/main.h index d88cb8e..7abecb7 100644 --- a/Layers/Default/CubeMX/STM32CubeMX/Inc/main.h +++ b/Layers/Default/CubeMX/STM32CubeMX/Inc/main.h @@ -193,9 +193,9 @@ extern int shield_setup (void); #define DCMI_PWR_EN_GPIO_Port GPIOH #define DCMI_D4_Pin GPIO_PIN_14 #define DCMI_D4_GPIO_Port GPIOH -#define ARDUINO_D10_Pin GPIO_PIN_0 -#define ARDUINO_D10_GPIO_Port GPIOI -#define ARDUINO_D10_EXTI_IRQn EXTI0_IRQn +#define ARDUINO_D5_Pin GPIO_PIN_0 +#define ARDUINO_D5_GPIO_Port GPIOI +#define ARDUINO_D5_EXTI_IRQn EXTI0_IRQn #define VCP_TX_Pin GPIO_PIN_9 #define VCP_TX_GPIO_Port GPIOA #define RCC_OSC32_OUT_Pin GPIO_PIN_15 @@ -204,9 +204,9 @@ extern int shield_setup (void); #define LCD_G6_GPIO_Port GPIOK #define LCD_G7_Pin GPIO_PIN_2 #define LCD_G7_GPIO_Port GPIOK -#define ARDUINO_D5_Pin GPIO_PIN_8 -#define ARDUINO_D5_GPIO_Port GPIOA -#define ARDUINO_D5_EXTI_IRQn EXTI9_5_IRQn +#define ARDUINO_D10_Pin GPIO_PIN_8 +#define ARDUINO_D10_GPIO_Port GPIOA +#define ARDUINO_D10_EXTI_IRQn EXTI9_5_IRQn #define OSC_25M_Pin GPIO_PIN_0 #define OSC_25M_GPIO_Port GPIOH #define FMC_A2_Pin GPIO_PIN_2 diff --git a/Layers/Default/CubeMX/STM32CubeMX/STM32CubeMX.ioc b/Layers/Default/CubeMX/STM32CubeMX/STM32CubeMX.ioc index 6fee350..9172edc 100644 --- a/Layers/Default/CubeMX/STM32CubeMX/STM32CubeMX.ioc +++ b/Layers/Default/CubeMX/STM32CubeMX/STM32CubeMX.ioc @@ -441,7 +441,7 @@ PA7.Locked=true PA7.Mode=RMII PA7.Signal=ETH_CRS_DV PA8.GPIOParameters=GPIO_Label -PA8.GPIO_Label=ARDUINO_D5 +PA8.GPIO_Label=ARDUINO_D10 PA8.Locked=true PA8.Signal=GPXTI8 PA9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode @@ -973,7 +973,7 @@ PH9.Locked=true PH9.Mode=Slave_8_bits_External_Synchro PH9.Signal=DCMI_D0 PI0.GPIOParameters=GPIO_Label -PI0.GPIO_Label=ARDUINO_D10 +PI0.GPIO_Label=ARDUINO_D5 PI0.Locked=true PI0.Signal=GPXTI0 PI1.GPIOParameters=GPIO_Label diff --git a/Layers/Default/CubeMX/STM32CubeMX/Src/main.c b/Layers/Default/CubeMX/STM32CubeMX/Src/main.c index 63c0f07..b5c4e62 100644 --- a/Layers/Default/CubeMX/STM32CubeMX/Src/main.c +++ b/Layers/Default/CubeMX/STM32CubeMX/Src/main.c @@ -1481,8 +1481,8 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(ARDUINO_D3_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pins : ARDUINO_D9_Pin ARDUINO_D5_Pin */ - GPIO_InitStruct.Pin = ARDUINO_D9_Pin|ARDUINO_D5_Pin; + /*Configure GPIO pins : ARDUINO_D9_Pin ARDUINO_D10_Pin */ + GPIO_InitStruct.Pin = ARDUINO_D9_Pin|ARDUINO_D10_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); @@ -1500,8 +1500,8 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(OTG_FS_PowerSwitchOn_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pins : ARDUINO_D7_Pin ARDUINO_D8_Pin ARDUINO_D10_Pin */ - GPIO_InitStruct.Pin = ARDUINO_D7_Pin|ARDUINO_D8_Pin|ARDUINO_D10_Pin; + /*Configure GPIO pins : ARDUINO_D7_Pin ARDUINO_D8_Pin ARDUINO_D5_Pin */ + GPIO_InitStruct.Pin = ARDUINO_D7_Pin|ARDUINO_D8_Pin|ARDUINO_D5_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); diff --git a/Layers/Default/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c b/Layers/Default/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c index 380b421..184e9f1 100644 --- a/Layers/Default/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c +++ b/Layers/Default/CubeMX/STM32CubeMX/Src/stm32f7xx_it.c @@ -179,7 +179,7 @@ void EXTI0_IRQHandler(void) /* USER CODE BEGIN EXTI0_IRQn 0 */ /* USER CODE END EXTI0_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(ARDUINO_D10_Pin); + HAL_GPIO_EXTI_IRQHandler(ARDUINO_D5_Pin); /* USER CODE BEGIN EXTI0_IRQn 1 */ /* USER CODE END EXTI0_IRQn 1 */ @@ -265,7 +265,7 @@ void EXTI9_5_IRQHandler(void) /* USER CODE END EXTI9_5_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(ARDUINO_D2_Pin); HAL_GPIO_EXTI_IRQHandler(ARDUINO_D4_Pin); - HAL_GPIO_EXTI_IRQHandler(ARDUINO_D5_Pin); + HAL_GPIO_EXTI_IRQHandler(ARDUINO_D10_Pin); /* USER CODE BEGIN EXTI9_5_IRQn 1 */ /* USER CODE END EXTI9_5_IRQn 1 */ diff --git a/Layers/Default/README.md b/Layers/Default/README.md index b97e2c5..89d955b 100644 --- a/Layers/Default/README.md +++ b/Layers/Default/README.md @@ -36,6 +36,8 @@ Refer to ["Configure STM32 Devices with CubeMX"](https://github.com/Open-CMSIS-P | Driver_USBH1 | USB_OTG_HS | USB OTG HS connector (CN12) | CMSIS_USB_Host | CMSIS-Driver VIO | GPIO | LEDs (LD3, LD1, LD2) and USER button (B1) | CMSIS_VIO +> Note: [Schematics (Rev.B-02)](https://www.st.com/resource/en/schematic_pack/mb1191-f746ngh6-b02_schematic.pdf) error: The Arduino connector pins D10 and D5 are connected incorrectly. D10 should be connected to PA8 and D5 to PI0, as it is described in [User Manual](https://www.st.com/resource/en/user_manual/um1907-discovery-kit-for-stm32f7-series-with-stm32f746ng-mcu-stmicroelectronics.pdf) + Reference to [Arduino UNO connector description](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/ReferenceApplications.md#arduino-shield). ### CMSIS-Driver Virtual I/O mapping diff --git a/Layers/Default/STM32F746G-DISCO.h b/Layers/Default/STM32F746G-DISCO.h index feac9b2..52a9955 100644 --- a/Layers/Default/STM32F746G-DISCO.h +++ b/Layers/Default/STM32F746G-DISCO.h @@ -34,12 +34,12 @@ #define ARDUINO_UNO_D2 GPIO_PIN_ID_PORTG(6U) #define ARDUINO_UNO_D3 GPIO_PIN_ID_PORTB(4U) #define ARDUINO_UNO_D4 GPIO_PIN_ID_PORTG(7U) -#define ARDUINO_UNO_D5 GPIO_PIN_ID_PORTA(8U) +#define ARDUINO_UNO_D5 GPIO_PIN_ID_PORTI(0U) #define ARDUINO_UNO_D6 GPIO_PIN_ID_PORTH(6U) #define ARDUINO_UNO_D7 GPIO_PIN_ID_PORTI(3U) #define ARDUINO_UNO_D8 GPIO_PIN_ID_PORTI(2U) #define ARDUINO_UNO_D9 GPIO_PIN_ID_PORTA(15U) -#define ARDUINO_UNO_D10 GPIO_PIN_ID_PORTI(0U) +#define ARDUINO_UNO_D10 GPIO_PIN_ID_PORTA(8U) #define ARDUINO_UNO_D14 GPIO_PIN_ID_PORTA(0U) #define ARDUINO_UNO_D15 GPIO_PIN_ID_PORTF(10U) #define ARDUINO_UNO_D16 GPIO_PIN_ID_PORTF(9U)