Skip to content

Commit 6b06bf6

Browse files
committed
Add support for NUCLEO-H755ZI-Q board
1 parent 0cdd616 commit 6b06bf6

File tree

7 files changed

+46
-9
lines changed

7 files changed

+46
-9
lines changed

.github/workflows/compile.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ jobs:
2323
stm32h7xx secure=true,
2424
stm32h7xx_ram,
2525
stm32h7xx_ram secure=true,
26+
nucleo_h755zi,
27+
nucleo_h755zi_ram,
2628
matek_H7_slim,
2729
matek_H7_slim secure=true,
2830
matek_H7_slim_ram,

Bootloader/Adapters/Src/system_clock_adapter.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ SystemClock_Config(void) {
9090

9191
/** Supply configuration update enable
9292
*/
93-
HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
93+
HAL_PWREx_ConfigSupply(PWR_SUPPLY);
9494
/** Configure the main internal regulator output voltage
9595
*/
9696
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);

Bootloader/Inc/board_info.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@
5757

5858
#define MANUFACTURER_ID_BASE64_STR (const char*)("Qj9FKEgrTWJRZVRoV21acTR0N3cheiVDKkYpSkBOY1I=") // Size must be equal to 44 characters Base64 format (45 bytes)
5959

60-
#ifdef MATEK_H743_SLIM
60+
#ifdef NUCLEO_H755ZI
61+
#define PRODUCT_TYPE (const char*)("IMProject_demo-nucleo_h755zi") // Maximum allowed size is 100 characters (101 bytes)
62+
#elif MATEK_H743_SLIM
6163
#define PRODUCT_TYPE (const char*)("IMProject_demo-matek_H7_slim") // Maximum allowed size is 100 characters (101 bytes)
6264
#elif defined(PIXHAWK4)
6365
#define PRODUCT_TYPE (const char*)("IMProject_demo-pixhawk4") // Maximum allowed size is 100 characters (101 bytes)

Bootloader/Inc/boards_config.h

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,35 @@
3535
#ifndef BOOTLOADER_INC_BOARDS_CONFIG_H_
3636
#define BOOTLOADER_INC_BOARDS_CONFIG_H_
3737

38-
/* LED configuration for board available on the market */
39-
40-
#ifdef MATEK_H743_SLIM
38+
#ifdef NUCLEO_H755ZI
39+
#define LED1_Pin GPIO_PIN_0
40+
#define LED1_Port GPIOB
41+
#define LED2_Pin GPIO_PIN_1
42+
#define LED2_Port GPIOE
43+
#define LED_ON GPIO_PIN_SET
44+
#define LED_OFF GPIO_PIN_RESET
45+
#define BL_BUTTON_Pin GPIO_PIN_13 //!< Button for entering in BL if pressed at boot time
46+
#define BL_BUTTON_Port GPIOC
47+
#define BL_BUTTON_ON GPIO_PIN_SET
48+
#define BL_BUTTON_OFF GPIO_PIN_RESET
49+
#define BL_BUTTON_PRESS_TIME 500u //!< Time in [ms] needed for button to be pressed to enter in BL
50+
#define PWR_SUPPLY PWR_DIRECT_SMPS_SUPPLY
51+
#elif MATEK_H743_SLIM
4152
#define LED1_Pin GPIO_PIN_4 //!< Pin defined for green LED
4253
#define LED1_Port GPIOE
4354
#define LED2_Pin GPIO_PIN_3 //!< Pin defined for blue LED
4455
#define LED2_Port GPIOE
4556
#define LED_ON GPIO_PIN_RESET
4657
#define LED_OFF GPIO_PIN_SET
58+
#define PWR_SUPPLY PWR_LDO_SUPPLY
4759
#elif defined(PIXHAWK4)
4860
#define LED1_Pin GPIO_PIN_6 //!< Pin defined for green LED
4961
#define LED1_Port GPIOC
5062
#define LED2_Pin GPIO_PIN_7 //!< Pin defined for blue LED
5163
#define LED2_Port GPIOC
5264
#define LED_ON GPIO_PIN_RESET
5365
#define LED_OFF GPIO_PIN_SET
66+
#define PWR_SUPPLY PWR_LDO_SUPPLY
5467
#else
5568
#define LED1_Pin GPIO_PIN_13
5669
#define LED1_Port GPIOC
@@ -63,7 +76,9 @@
6376
#define BL_BUTTON_ON GPIO_PIN_SET
6477
#define BL_BUTTON_OFF GPIO_PIN_RESET
6578
#define BL_BUTTON_PRESS_TIME 500u //!< Time in [ms] needed for button to be pressed to enter in BL
79+
#define PWR_SUPPLY PWR_LDO_SUPPLY
6680
#endif
6781

6882

6983
#endif /* BOOTLOADER_INC_BOARDS_CONFIG_H_ */
84+

Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ TARGETS = \
120120
stm32h7xx_ram \
121121
stm32f7xx \
122122
stm32f7xx_ram \
123+
nucleo_h755zi \
123124
matek_H7_slim \
124125
matek_H7_slim_ram \
125126
pixhawk4 \
@@ -136,6 +137,12 @@ clean:
136137
#
137138
BOARD =
138139

140+
nucleo_h755zi:
141+
${MAKE} stm32h7xx BOARD=NUCLEO_H755ZI BOARD_FILE_NAME=$@
142+
143+
nucleo_h755zi_ram:
144+
${MAKE} stm32h7xx_ram BOARD=NUCLEO_H755ZI BOARD_FILE_NAME=$@
145+
139146
matek_H7_slim:
140147
${MAKE} stm32h7xx BOARD=MATEK_H743_SLIM BOARD_FILE_NAME=$@
141148

Makefile.stm32h7xx

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,21 @@ MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
5252
AS_DEFS =
5353

5454
# C defines
55-
C_DEFS = \
55+
C_DEFS = \
5656
-DUSE_HAL_DRIVER \
57-
-DSTM32H7xx \
58-
-DSTM32H750xx \
59-
-DSTM32H743xx
57+
-DSTM32H7xx
58+
59+
ifeq ($(BOARD), NUCLEO_H755ZI)
60+
C_DEFS += \
61+
-DCORE_CM7 \
62+
-DSTM32H755xx
63+
else ifeq ($(BOARD), MATEK_H743_SLIM)
64+
C_DEFS += \
65+
-DSTM32H743xx
66+
else
67+
C_DEFS += \
68+
-DSTM32H750xx
69+
endif
6070

6171
# AS includes
6272
AS_INCLUDES =

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Each MCU has its own example of [IMLedBlink](https://github.com/IMProject/IMLedB
2424

2525
| Board |MCU |
2626
| -------------------------------------------------------------------------- |:--------:|
27+
| [NUCLEO-H755ZI-Q](https://www.st.com/en/evaluation-tools/nucleo-h755zi-q.html) |STM32H755ZI |
2728
| [Mateksys h743-slim](http://www.mateksys.com/?portfolio=h743-slim) |STM32H7xx |
2829
| [Pixhawk 4](https://docs.px4.io/master/en/flight_controller/pixhawk4.html) |STM32F7xx |
2930

0 commit comments

Comments
 (0)