From 7d8e4ef9f024b58f40f66eac6fd7eb6bd1de1a1a Mon Sep 17 00:00:00 2001 From: pmantoine Date: Sun, 21 Apr 2024 17:43:50 +0800 Subject: [PATCH] variants(f4): add support for Nucleo-F439ZI Signed-off-by: pmantoine Co-authored-by: Frederic Pillon --- README.md | 1 + boards.txt | 15 +++++++++++++++ .../ldscript.ld | 2 +- ...UCLEO_F429ZI.cpp => variant_NUCLEO_F4x9ZI.cpp} | 6 +++--- ...nt_NUCLEO_F429ZI.h => variant_NUCLEO_F4x9ZI.h} | 0 5 files changed, 20 insertions(+), 4 deletions(-) rename variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/{variant_NUCLEO_F429ZI.cpp => variant_NUCLEO_F4x9ZI.cpp} (96%) rename variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/{variant_NUCLEO_F429ZI.h => variant_NUCLEO_F4x9ZI.h} (100%) diff --git a/README.md b/README.md index bf82731022..2d4a13cc9f 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d | :green_heart: | STM32F412ZG | [Nucleo F412ZG](http://www.st.com/en/evaluation-tools/nucleo-f412zg.html) | *2.6.0* | | | :green_heart: | STM32F413ZH | [Nucleo F413ZH](http://www.st.com/en/evaluation-tools/nucleo-f413zh.html) | *2.4.0* | | | :green_heart: | STM32F429ZI | [Nucleo F429ZI](http://www.st.com/en/evaluation-tools/nucleo-f429zi.html) | *0.1.0* | | +| :yellow_heart: | STM32F439ZI | [Nucleo F439ZI](http://www.st.com/en/evaluation-tools/nucleo-f439zi.html) | **2.8.0** | | | :green_heart: | STM32F446ZE | [Nucleo F446ZE](http://www.st.com/en/evaluation-tools/nucleo-f446ze.html) | *2.7.0* | | | :green_heart: | STM32F722ZE | [Nucleo F722ZE](http://www.st.com/en/evaluation-tools/nucleo-f722ze.html) | *2.4.0* | | | :green_heart: | STM32F767ZI | [Nucleo F767ZI](http://www.st.com/en/evaluation-tools/nucleo-f767zi.html) | *1.4.0* | | diff --git a/boards.txt b/boards.txt index 67605162c4..a7ec72b2a4 100644 --- a/boards.txt +++ b/boards.txt @@ -75,6 +75,21 @@ Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.board=NUCLEO_F429ZI Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.series=STM32F4xx Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.product_line=STM32F429xx Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.variant=STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y) +Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.variant_h=variant_NUCLEO_F4x9ZI.h + +# NUCLEO_F439ZI board +Nucleo_144.menu.pnum.NUCLEO_F439ZI=Nucleo F439ZI +Nucleo_144.menu.pnum.NUCLEO_F439ZI.node=NODE_F439ZI +Nucleo_144.menu.pnum.NUCLEO_F439ZI.upload.maximum_size=2097152 +Nucleo_144.menu.pnum.NUCLEO_F439ZI.upload.maximum_data_size=196608 +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.mcu=cortex-m4 +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.fpu=-mfpu=fpv4-sp-d16 +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.float-abi=-mfloat-abi=hard +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.board=NUCLEO_F439ZI +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.series=STM32F4xx +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.product_line=STM32F439xx +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.variant=STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y) +Nucleo_144.menu.pnum.NUCLEO_F439ZI.build.variant_h=variant_NUCLEO_F4x9ZI.h # NUCLEO_F446RE board Nucleo_144.menu.pnum.NUCLEO_F446ZE=Nucleo F446ZE diff --git a/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/ldscript.ld b/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/ldscript.ld index 5baff96fbb..a35904e77d 100644 --- a/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/ldscript.ld +++ b/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/ldscript.ld @@ -2,7 +2,7 @@ ****************************************************************************** * @file LinkerScript.ld * @author Auto-generated by STM32CubeIDE - * @brief Linker script for STM32F429ZITx Device from STM32F4 series + * @brief Linker script for STM32F429ZITx/STM32F439ZITx Device from STM32F4 series * 2048Kbytes FLASH * 64Kbytes CCMRAM * 192Kbytes RAM diff --git a/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F429ZI.cpp b/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F4x9ZI.cpp similarity index 96% rename from variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F429ZI.cpp rename to variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F4x9ZI.cpp index 0c8472b640..4b07129f93 100644 --- a/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F429ZI.cpp +++ b/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F4x9ZI.cpp @@ -10,11 +10,11 @@ * ******************************************************************************* */ -#if defined(ARDUINO_NUCLEO_F429ZI) +#if defined(ARDUINO_NUCLEO_F429ZI) || defined(ARDUINO_NUCLEO_F439ZI) #include "pins_arduino.h" // Pin number -// Match Table 17. NUCLEO-F429ZI pin assignments +// Match Table 17. NUCLEO-F429ZI and NUCLEO-F439ZI pin assignments // from UM1974 STM32 Nucleo-144 board const PinName digitalPin[] = { PG_9, //D0 @@ -234,4 +234,4 @@ WEAK void SystemClock_Config(void) } #endif -#endif /* ARDUINO_NUCLEO_F429ZI */ +#endif /* ARDUINO_NUCLEO_F429ZI || ARDUINO_NUCLEO_F439ZI */ diff --git a/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F429ZI.h b/variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F4x9ZI.h similarity index 100% rename from variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F429ZI.h rename to variants/STM32F4xx/F427Z(G-I)T_F429ZET_F429Z(G-I)(T-Y)_F437Z(G-I)T_F439Z(G-I)(T-Y)/variant_NUCLEO_F4x9ZI.h