Skip to content

Commit 2d21caa

Browse files
bsatromfpistm
andauthored
feat:add support for SparkFun MicroMod STM32F405 (#1987)
Co-authored-by: Frederic Pillon <frederic.pillon@st.com> Signed-off-by: Brandon Satrom <bsatrom+gh@gmail.com>
1 parent 2de9952 commit 2d21caa

File tree

9 files changed

+912
-0
lines changed

9 files changed

+912
-0
lines changed

CI/build/conf/cores_config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@
287287
"MALYANM200_F103CB",
288288
"MALYANM300_F070CB",
289289
"MAPLEMINI_F103CB",
290+
"MICROMOD_F405",
290291
"NUCLEO_F031K6",
291292
"NUCLEO_L031K6",
292293
"NUCLEO_L412KB",

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
320320
| Status | Device(s) | Name | Release | Notes |
321321
| :----: | :-------: | ---- | :-----: | :---- |
322322
| :green_heart: | STM32F405RG | [Adafruit Feather STM32F405 Express](https://www.adafruit.com/product/4382) | *1.8.0* | |
323+
| :yellow_heart: | STM32F405RG | [SparkFun MicroMod STM32](https://www.sparkfun.com/products/21326) | **2.6.0** | |
323324
| :green_heart: | STM32F401CC | [WeAct Black Pill](https://stm32-base.org/boards/STM32F401CCU6-WeAct-Black-Pill-V1.2) | *1.7.0* | [More info](https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1) |
324325
| :green_heart: | STM32F401CE | [WeAct Black Pill](https://stm32-base.org/boards/STM32F401CEU6-WeAct-Black-Pill-V3.0) | *2.4.0* | [More info](https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1) |
325326
| :green_heart: | STM32F411CE | [WeAct Black Pill](https://stm32-base.org/boards/STM32F411CEU6-WeAct-Black-Pill-V2.0) | *1.9.0* | [More info](https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1) |

boards.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3698,6 +3698,18 @@ GenF4.menu.pnum.FEATHER_F405.build.variant_h=variant_{build.board}.h
36983698
GenF4.menu.pnum.FEATHER_F405.build.variant=STM32F4xx/F405RGT_F415RGT
36993699
GenF4.menu.pnum.FEATHER_F405.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
37003700

3701+
# SparkFun MicroMod STM32F405 board
3702+
GenF4.menu.pnum.MICROMOD_F405=SparkFun MicroMod STM32F405
3703+
GenF4.menu.pnum.MICROMOD_F405.upload.maximum_size=1048576
3704+
GenF4.menu.pnum.MICROMOD_F405.upload.maximum_data_size=131072
3705+
GenF4.menu.pnum.MICROMOD_F405.build.board=MICROMOD_F405
3706+
GenF4.menu.pnum.MICROMOD_F405.build.product_line=STM32F405xx
3707+
GenF4.menu.pnum.MICROMOD_F405.build.variant_h=variant_{build.board}.h
3708+
GenF4.menu.pnum.MICROMOD_F405.build.variant=STM32F4xx/F405RGT_F415RGT
3709+
GenF4.menu.pnum.MICROMOD_F405.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
3710+
GenF4.menu.pnum.MICROMOD_F405.build.vid=0x1B4F
3711+
GenF4.menu.pnum.MICROMOD_F405.build.pid=0x0029
3712+
37013713
# ThunderPack F411xxE
37023714
# https://github.com/jgillick/ThunderPack/tree/STM32F4
37033715
GenF4.menu.pnum.THUNDERPACK_F411=ThunderPack v1.1+

cmake/boards_db.cmake

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97836,6 +97836,136 @@ target_link_libraries(MAPLEMINI_F103CB_hid INTERFACE
9783697836
)
9783797837

9783897838

97839+
# MICROMOD_F405
97840+
# -----------------------------------------------------------------------------
97841+
97842+
set(MICROMOD_F405_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32F4xx/F405RGT_F415RGT")
97843+
set(MICROMOD_F405_MAXSIZE 1048576)
97844+
set(MICROMOD_F405_MAXDATASIZE 131072)
97845+
set(MICROMOD_F405_MCU cortex-m4)
97846+
set(MICROMOD_F405_FPCONF "-")
97847+
add_library(MICROMOD_F405 INTERFACE)
97848+
target_compile_options(MICROMOD_F405 INTERFACE
97849+
"SHELL:-DSTM32F405xx "
97850+
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
97851+
"SHELL:"
97852+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
97853+
-mcpu=${MICROMOD_F405_MCU}
97854+
)
97855+
target_compile_definitions(MICROMOD_F405 INTERFACE
97856+
"STM32F4xx"
97857+
"ARDUINO_MICROMOD_F405"
97858+
"BOARD_NAME=\"MICROMOD_F405\""
97859+
"BOARD_ID=MICROMOD_F405"
97860+
"VARIANT_H=\"variant_MICROMOD_F405.h\""
97861+
)
97862+
target_include_directories(MICROMOD_F405 INTERFACE
97863+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32F4xx
97864+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Inc
97865+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Src
97866+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Include/
97867+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/
97868+
${MICROMOD_F405_VARIANT_PATH}
97869+
)
97870+
97871+
target_link_options(MICROMOD_F405 INTERFACE
97872+
"LINKER:--default-script=${MICROMOD_F405_VARIANT_PATH}/ldscript.ld"
97873+
"LINKER:--defsym=LD_FLASH_OFFSET=0"
97874+
"LINKER:--defsym=LD_MAX_SIZE=1048576"
97875+
"LINKER:--defsym=LD_MAX_DATA_SIZE=131072"
97876+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
97877+
-mcpu=${MICROMOD_F405_MCU}
97878+
)
97879+
target_link_libraries(MICROMOD_F405 INTERFACE
97880+
arm_cortexM4lf_math
97881+
)
97882+
97883+
add_library(MICROMOD_F405_serial_disabled INTERFACE)
97884+
target_compile_options(MICROMOD_F405_serial_disabled INTERFACE
97885+
"SHELL:"
97886+
)
97887+
add_library(MICROMOD_F405_serial_generic INTERFACE)
97888+
target_compile_options(MICROMOD_F405_serial_generic INTERFACE
97889+
"SHELL:-DHAL_UART_MODULE_ENABLED"
97890+
)
97891+
add_library(MICROMOD_F405_serial_none INTERFACE)
97892+
target_compile_options(MICROMOD_F405_serial_none INTERFACE
97893+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
97894+
)
97895+
add_library(MICROMOD_F405_usb_CDC INTERFACE)
97896+
target_compile_options(MICROMOD_F405_usb_CDC INTERFACE
97897+
"SHELL:-DUSBCON -DUSBD_VID=0x1B4F -DUSBD_PID=0x0029 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
97898+
)
97899+
add_library(MICROMOD_F405_usb_CDCgen INTERFACE)
97900+
target_compile_options(MICROMOD_F405_usb_CDCgen INTERFACE
97901+
"SHELL:-DUSBCON -DUSBD_VID=0x1B4F -DUSBD_PID=0x0029 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
97902+
)
97903+
add_library(MICROMOD_F405_usb_HID INTERFACE)
97904+
target_compile_options(MICROMOD_F405_usb_HID INTERFACE
97905+
"SHELL:-DUSBCON -DUSBD_VID=0x1B4F -DUSBD_PID=0x0029 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
97906+
)
97907+
add_library(MICROMOD_F405_usb_none INTERFACE)
97908+
target_compile_options(MICROMOD_F405_usb_none INTERFACE
97909+
"SHELL:"
97910+
)
97911+
add_library(MICROMOD_F405_xusb_FS INTERFACE)
97912+
target_compile_options(MICROMOD_F405_xusb_FS INTERFACE
97913+
"SHELL:"
97914+
)
97915+
add_library(MICROMOD_F405_xusb_HS INTERFACE)
97916+
target_compile_options(MICROMOD_F405_xusb_HS INTERFACE
97917+
"SHELL:-DUSE_USB_HS"
97918+
)
97919+
add_library(MICROMOD_F405_xusb_HSFS INTERFACE)
97920+
target_compile_options(MICROMOD_F405_xusb_HSFS INTERFACE
97921+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
97922+
)
97923+
97924+
# MICROMOD_F405_hid
97925+
# -----------------------------------------------------------------------------
97926+
97927+
set(MICROMOD_F405_hid_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32F4xx/F405RGT_F415RGT")
97928+
set(MICROMOD_F405_hid_MAXSIZE 1048576)
97929+
set(MICROMOD_F405_hid_MAXDATASIZE 131072)
97930+
set(MICROMOD_F405_hid_MCU cortex-m4)
97931+
set(MICROMOD_F405_hid_FPCONF "-")
97932+
add_library(MICROMOD_F405_hid INTERFACE)
97933+
target_compile_options(MICROMOD_F405_hid INTERFACE
97934+
"SHELL:-DSTM32F405xx -DHAL_UART_MODULE_ENABLED -DBL_HID -DVECT_TAB_OFFSET=0x4000"
97935+
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
97936+
"SHELL:"
97937+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
97938+
-mcpu=${MICROMOD_F405_hid_MCU}
97939+
)
97940+
target_compile_definitions(MICROMOD_F405_hid INTERFACE
97941+
"STM32F4xx"
97942+
"ARDUINO_MICROMOD_F405"
97943+
"BOARD_NAME=\"MICROMOD_F405\""
97944+
"BOARD_ID=MICROMOD_F405"
97945+
"VARIANT_H=\"variant_MICROMOD_F405.h\""
97946+
)
97947+
target_include_directories(MICROMOD_F405_hid INTERFACE
97948+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32F4xx
97949+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Inc
97950+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Src
97951+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Include/
97952+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/
97953+
${MICROMOD_F405_hid_VARIANT_PATH}
97954+
)
97955+
97956+
target_link_options(MICROMOD_F405_hid INTERFACE
97957+
"LINKER:--default-script=${MICROMOD_F405_hid_VARIANT_PATH}/ldscript.ld"
97958+
"LINKER:--defsym=LD_FLASH_OFFSET=0x4000"
97959+
"LINKER:--defsym=LD_MAX_SIZE=1048576"
97960+
"LINKER:--defsym=LD_MAX_DATA_SIZE=131072"
97961+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
97962+
-mcpu=${MICROMOD_F405_hid_MCU}
97963+
)
97964+
target_link_libraries(MICROMOD_F405_hid INTERFACE
97965+
arm_cortexM4lf_math
97966+
)
97967+
97968+
9783997969
# MKR_SHARKY
9784097970
# -----------------------------------------------------------------------------
9784197971

tools/platformio/boards_remap.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"rak811_tracker_32": "RAK811_TRACKERA",
2222
"robotdyn_blackpill_f303cc": "BLACKPILL_F303CC",
2323
"rumba32_f446ve": "RUMBA32",
24+
"sparkfun_micromod_stm32f405": "MICROMOD_F405",
2425
"sparky_v1": "SPARKY_F303CC",
2526
"steval_mksboxv1": "STEVAL_MKSBOX1V1",
2627
"stm32f4stamp": "GENERIC_F405RGTX",

variants/STM32F4xx/F405RGT_F415RGT/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ add_library(variant_bin STATIC EXCLUDE_FROM_ALL
2222
generic_clock.c
2323
PeripheralPins.c
2424
PeripheralPins_FEATHER_F405.c
25+
PeripheralPins_MICROMOD_F405.c
2526
variant_FEATHER_F405.cpp
2627
variant_generic.cpp
28+
variant_MICROMOD_F405.cpp
2729
)
2830
target_link_libraries(variant_bin PUBLIC variant_usage)
2931

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy