Skip to content

Commit

Permalink
[variant] Add Generic WBxx
Browse files Browse the repository at this point in the history
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
  • Loading branch information
fpistm committed Feb 12, 2021
1 parent a4d8944 commit 9ffe1f1
Show file tree
Hide file tree
Showing 20 changed files with 1,659 additions and 679 deletions.
4 changes: 2 additions & 2 deletions CI/build/conf/cores_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@
"NUCLEO_L496ZG-P",
"NUCLEO_L4R5ZI",
"NUCLEO_L4R5ZI-P",
"PNUCLEO_WB55RG",
"P_NUCLEO_WB55RG",
"STM32MP157C_DK2"
]
},
Expand Down Expand Up @@ -266,7 +266,7 @@
"applicable": false,
"boards": [
"DISCO_F746NG", "B_L475E_IOT01A", "NUCLEO_F207ZG", "NUCLEO_F429ZI", "NUCLEO_F767ZI",
"NUCLEO_H743ZI2", "PNUCLEO_WB55RG", "STM32MP157C_DK2"
"NUCLEO_H743ZI2", "P_NUCLEO_WB55RG", "STM32MP157C_DK2"
]
},
{
Expand Down
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
- [Generic STM32L0 boards](#generic-stm32l0-boards)
- [Generic STM32L4 boards](#generic-stm32l4-boards)
- [Generic STM32L5 boards](#generic-stm32l5-boards)
- [Generic STM32WB boards](#generic-stm32wb-boards)
- [3D printer boards](#3d-printer-boards)
- [LoRa boards](#lora-boards)
- [Electronic Speed Controller boards](#electronic-speed-controller-boards)
Expand Down Expand Up @@ -109,7 +110,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
| :green_heart: | STM32L452RE | [Nucleo L452RE](http://www.st.com/en/evaluation-tools/nucleo-l452re.html) | *1.5.0* | |
| :green_heart: | STM32L452RE-P | [Nucleo L452RE-P](http://www.st.com/en/evaluation-tools/nucleo-l452re-p.html) | *1.8.0* | |
| :green_heart: | STM32L476RG | [Nucleo L476RG](http://www.st.com/en/evaluation-tools/nucleo-l476rg.html) | *0.1.0* | |
| :green_heart: | STM32WB55RG<br>STM32WB55CG | [P-Nucleo-WB55RG](https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html) | *1.6.0* | No BLE support |
| :green_heart: | STM32WB55RG<br>STM32WB55CG | [P-Nucleo-WB55RG](https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html) | *1.6.0* | BLE support with [STM32duinoBLE](https://github.com/stm32duino/STM32duinoBLE) |

### [Nucleo 32](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-nucleo-boards.html) boards

Expand Down Expand Up @@ -275,6 +276,13 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
| :----: | :-------: | ---- | :-----: | :---- |
| :yellow_heart: | STM32L552ZC-Q<br>STM32L552ZE-Q | Generic Board | **2.0.0** | |

### Generic STM32WB boards

| Status | Device(s) | Name | Release | Notes |
| :----: | :-------: | ---- | :-----: | :---- |
| :yellow_heart: | STM32WB55CC<br>STM32WB55CE<br>STM32WB55CG | Generic Board | **2.0.0** | |
| :yellow_heart: | STM32WB55RC<br>STM32WB55RE<br>STM32WB55RG | Generic Board | **2.0.0** | |

### 3D printer boards

| Status | Device(s) | Name | Release | Notes |
Expand Down Expand Up @@ -326,7 +334,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d

| Status | Device(s) | Name | Release | Notes |
| :----: | :-------: | ---- | :-----: | :---- |
| :green_heart: | STM32WB55CG | [SharkyMKR](https://midatronics.com/shop/development-boards/mkr-sharky-i/) | *1.7.0* | |
| :green_heart: | STM32WB55CE | [SharkyMKR](https://midatronics.com/shop/development-boards/mkr-sharky-i/) | *1.7.0* | |

## Next release

Expand Down
154 changes: 139 additions & 15 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -457,18 +457,18 @@ Nucleo_64.menu.pnum.NUCLEO_L476RG.build.product_line=STM32L476xx
Nucleo_64.menu.pnum.NUCLEO_L476RG.build.variant=STM32L4xx/Generic_L476Rx
Nucleo_64.menu.pnum.NUCLEO_L476RG.build.cmsis_lib_gcc=arm_cortexM4lf_math

# PNUCLEO_WB55RG board
Nucleo_64.menu.pnum.PNUCLEO_WB55RG=P-Nucleo WB55RG
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.node="NODE_WB55RG,NOD_WB55RG"
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.upload.maximum_size=524288
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.upload.maximum_data_size=196604
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.mcu=cortex-m4
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.board=PNUCLEO_WB55RG
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.series=STM32WBxx
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.product_line=STM32WB55xx
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.variant=STM32WBxx/PNUCLEO_WB55RG
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.cmsis_lib_gcc=arm_cortexM4lf_math
# P_NUCLEO_WB55RG board
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG=P-Nucleo WB55RG
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.node="NODE_WB55RG,NOD_WB55RG"
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.upload.maximum_size=524288
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.upload.maximum_data_size=196608
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.build.mcu=cortex-m4
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.build.board=P_NUCLEO_WB55RG
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.build.series=STM32WBxx
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.build.product_line=STM32WB55xx
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.build.variant=STM32WBxx/Generic_WB55Rx
Nucleo_64.menu.pnum.P_NUCLEO_WB55RG.build.cmsis_lib_gcc=arm_cortexM4lf_math

# Upload menu
Nucleo_64.menu.upload_method.MassStorage=Mass Storage
Expand Down Expand Up @@ -2340,6 +2340,82 @@ GenL5.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
#GenMP1.menu.upload_method.MassStorage.upload.protocol=
#GenMP1.menu.upload_method.MassStorage.upload.tool=remoteproc_gen

################################################################################
# Generic WB
GenWB.name=Generic STM32WB series

GenWB.build.core=arduino
GenWB.build.board=GenWB
GenWB.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
GenWB.build.mcu=cortex-m4
GenWB.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
GenWB.build.series=STM32WBxx
GenWB.build.cmsis_lib_gcc=arm_cortexM4lf_math

# Generic WB55CC board
GenWB.menu.pnum.GENERIC_WB55CC=Generic WB55CC
GenWB.menu.pnum.GENERIC_WB55CC.upload.maximum_size=131072
GenWB.menu.pnum.GENERIC_WB55CC.upload.maximum_data_size=65536
GenWB.menu.pnum.GENERIC_WB55CC.build.board=GENERIC_WB55CC
GenWB.menu.pnum.GENERIC_WB55CC.build.product_line=STM32WB55xx
GenWB.menu.pnum.GENERIC_WB55CC.build.variant=STM32WBxx/Generic_WB55Cx

# Generic WB55CE board
GenWB.menu.pnum.GENERIC_WB55CE=Generic WB55CE
GenWB.menu.pnum.GENERIC_WB55CE.upload.maximum_size=262144
GenWB.menu.pnum.GENERIC_WB55CE.upload.maximum_data_size=196608
GenWB.menu.pnum.GENERIC_WB55CE.build.board=GENERIC_WB55CE
GenWB.menu.pnum.GENERIC_WB55CE.build.product_line=STM32WB55xx
GenWB.menu.pnum.GENERIC_WB55CE.build.variant=STM32WBxx/Generic_WB55Cx

# Generic WB55CG board
GenWB.menu.pnum.GENERIC_WB55CG=Generic WB55CG
GenWB.menu.pnum.GENERIC_WB55CG.upload.maximum_size=524288
GenWB.menu.pnum.GENERIC_WB55CG.upload.maximum_data_size=196608
GenWB.menu.pnum.GENERIC_WB55CG.build.board=GENERIC_WB55CG
GenWB.menu.pnum.GENERIC_WB55CG.build.product_line=STM32WB55xx
GenWB.menu.pnum.GENERIC_WB55CG.build.variant=STM32WBxx/Generic_WB55Cx

# Generic WB55RC board
GenWB.menu.pnum.GENERIC_WB55RC=Generic WB55RC
GenWB.menu.pnum.GENERIC_WB55RC.upload.maximum_size=131072
GenWB.menu.pnum.GENERIC_WB55RC.upload.maximum_data_size=65536
GenWB.menu.pnum.GENERIC_WB55RC.build.board=GENERIC_WB55RC
GenWB.menu.pnum.GENERIC_WB55RC.build.product_line=STM32WB55xx
GenWB.menu.pnum.GENERIC_WB55RC.build.variant=STM32WBxx/Generic_WB55Rx

# Generic WB55RE board
GenWB.menu.pnum.GENERIC_WB55RE=Generic WB55RE
GenWB.menu.pnum.GENERIC_WB55RE.upload.maximum_size=262144
GenWB.menu.pnum.GENERIC_WB55RE.upload.maximum_data_size=196608
GenWB.menu.pnum.GENERIC_WB55RE.build.board=GENERIC_WB55RE
GenWB.menu.pnum.GENERIC_WB55RE.build.product_line=STM32WB55xx
GenWB.menu.pnum.GENERIC_WB55RE.build.variant=STM32WBxx/Generic_WB55Rx

# Generic WB55RG board
GenWB.menu.pnum.GENERIC_WB55RG=Generic WB55RG
GenWB.menu.pnum.GENERIC_WB55RG.upload.maximum_size=524288
GenWB.menu.pnum.GENERIC_WB55RG.upload.maximum_data_size=196608
GenWB.menu.pnum.GENERIC_WB55RG.build.board=GENERIC_WB55RG
GenWB.menu.pnum.GENERIC_WB55RG.build.product_line=STM32WB55xx
GenWB.menu.pnum.GENERIC_WB55RG.build.variant=STM32WBxx/Generic_WB55Rx

# Upload menu
GenWB.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
GenWB.menu.upload_method.swdMethod.upload.protocol=0
GenWB.menu.upload_method.swdMethod.upload.options=-g
GenWB.menu.upload_method.swdMethod.upload.tool=stm32CubeProg

GenWB.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
GenWB.menu.upload_method.serialMethod.upload.protocol=1
GenWB.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
GenWB.menu.upload_method.serialMethod.upload.tool=stm32CubeProg

GenWB.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
GenWB.menu.upload_method.dfuMethod.upload.protocol=2
GenWB.menu.upload_method.dfuMethod.upload.options=-g
GenWB.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg

################################################################################
# Electronic Speed Controller boards

Expand Down Expand Up @@ -2796,14 +2872,14 @@ Midatronics.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.x
# MKR_SHARKY board
Midatronics.menu.pnum.MKR_SHARKY=MKR Sharky
Midatronics.menu.pnum.MKR_SHARKY.node=NODE_WB55CE
Midatronics.menu.pnum.MKR_SHARKY.upload.maximum_size=524288
Midatronics.menu.pnum.MKR_SHARKY.upload.maximum_data_size=196604
Midatronics.menu.pnum.MKR_SHARKY.upload.maximum_size=262144
Midatronics.menu.pnum.MKR_SHARKY.upload.maximum_data_size=196608
Midatronics.menu.pnum.MKR_SHARKY.build.mcu=cortex-m4
Midatronics.menu.pnum.MKR_SHARKY.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
Midatronics.menu.pnum.MKR_SHARKY.build.board=MKR_SHARKY
Midatronics.menu.pnum.MKR_SHARKY.build.series=STM32WBxx
Midatronics.menu.pnum.MKR_SHARKY.build.product_line=STM32WB55xx
Midatronics.menu.pnum.MKR_SHARKY.build.variant=STM32WBxx/MKR_SHARKY
Midatronics.menu.pnum.MKR_SHARKY.build.variant=STM32WBxx/Generic_WB55Cx
Midatronics.menu.pnum.MKR_SHARKY.build.cmsis_lib_gcc=arm_cortexM4lf_math

# Upload menu
Expand Down Expand Up @@ -2946,6 +3022,12 @@ GenL5.menu.xserial.disabled.build.xSerial=
#GenMP1.menu.xserial.disabled=Disabled (no Serial support)
#GenMP1.menu.xserial.disabled.build.xSerial=

GenWB.menu.xserial.generic=Enabled (generic 'Serial')
GenWB.menu.xserial.none=Enabled (no generic 'Serial')
GenWB.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
GenWB.menu.xserial.disabled=Disabled (no Serial support)
GenWB.menu.xserial.disabled.build.xSerial=

ESC_board.menu.xserial.generic=Enabled (generic 'Serial')
ESC_board.menu.xserial.none=Enabled (no generic 'Serial')
ESC_board.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
Expand Down Expand Up @@ -3153,6 +3235,19 @@ GenL5.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
GenL5.menu.xusb.HSFS=High Speed in Full Speed mode
GenL5.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS

GenWB.menu.usb.none=None
GenWB.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
GenWB.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
GenWB.menu.usb.CDC=CDC (no generic 'Serial')
GenWB.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
GenWB.menu.usb.HID=HID (keyboard and mouse)
GenWB.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
GenWB.menu.xusb.FS=Low/Full Speed
GenWB.menu.xusb.HS=High Speed
GenWB.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
GenWB.menu.xusb.HSFS=High Speed in Full Speed mode
GenWB.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS

3dprinter.menu.usb.none=None
3dprinter.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
3dprinter.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
Expand Down Expand Up @@ -3509,6 +3604,25 @@ GenL5.menu.opt.ogstd.build.flags.optimize=-g -Og
#GenMP1.menu.opt.ogstd=Debug (-g)
#GenMP1.menu.opt.ogstd.build.flags.optimize=-g -Og

GenWB.menu.opt.osstd=Smallest (-Os default)
GenWB.menu.opt.osstd.build.flags.optimize=-Os
GenWB.menu.opt.oslto=Smallest (-Os) with LTO
GenWB.menu.opt.oslto.build.flags.optimize=-Os -flto
GenWB.menu.opt.o1std=Fast (-O1)
GenWB.menu.opt.o1std.build.flags.optimize=-O1
GenWB.menu.opt.o1lto=Fast (-O1) with LTO
GenWB.menu.opt.o1lto.build.flags.optimize=-O1 -flto
GenWB.menu.opt.o2std=Faster (-O2)
GenWB.menu.opt.o2std.build.flags.optimize=-O2
GenWB.menu.opt.o2lto=Faster (-O2) with LTO
GenWB.menu.opt.o2lto.build.flags.optimize=-O2 -flto
GenWB.menu.opt.o3std=Fastest (-O3)
GenWB.menu.opt.o3std.build.flags.optimize=-O3
GenWB.menu.opt.o3lto=Fastest (-O3) with LTO
GenWB.menu.opt.o3lto.build.flags.optimize=-O3 -flto
GenWB.menu.opt.ogstd=Debug (-g)
GenWB.menu.opt.ogstd.build.flags.optimize=-g -Og

ESC_board.menu.opt.osstd=Smallest (-Os default)
ESC_board.menu.opt.oslto=Smallest (-Os) with LTO
ESC_board.menu.opt.oslto.build.flags.optimize=-Os -flto
Expand Down Expand Up @@ -3788,6 +3902,16 @@ GenL5.menu.rtlib.full.build.flags.ldspecs=
#GenMP1.menu.rtlib.full=Newlib Standard
#GenMP1.menu.rtlib.full.build.flags.ldspecs=

GenWB.menu.rtlib.nano=Newlib Nano (default)
GenWB.menu.rtlib.nanofp=Newlib Nano + Float Printf
GenWB.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
GenWB.menu.rtlib.nanofs=Newlib Nano + Float Scanf
GenWB.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
GenWB.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
GenWB.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
GenWB.menu.rtlib.full=Newlib Standard
GenWB.menu.rtlib.full.build.flags.ldspecs=

ESC_board.menu.rtlib.nano=Newlib Nano (default)
ESC_board.menu.rtlib.nanofp=Newlib Nano + Float Printf
ESC_board.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
Expand Down
1 change: 1 addition & 0 deletions cores/arduino/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "digital_io.h"
#include "dwt.h"
#include "hw_config.h"
#include "lock_resource.h"
#include "otp.h"
#include "timer.h"
#include "uart.h"
Expand Down
Loading

0 comments on commit 9ffe1f1

Please sign in to comment.