Skip to content

Commit fb60cb3

Browse files
committed
[variant] Add Generic L1xx
Signed-off-by: Frederic Pillon <[email protected]>
1 parent 5ad3216 commit fb60cb3

24 files changed

+2363
-1296
lines changed

README.md

+10-1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
5959
- [Generic STM32G0 boards](#generic-stm32g0-boards)
6060
- [Generic STM32H7 boards](#generic-stm32h7-boards)
6161
- [Generic STM32L0 boards](#generic-stm32l0-boards)
62+
- [Generic STM32L1 boards](#generic-stm32l1-boards)
6263
- [Generic STM32L4 boards](#generic-stm32l4-boards)
6364
- [Generic STM32L5 boards](#generic-stm32l5-boards)
6465
- [Generic STM32WB boards](#generic-stm32wb-boards)
@@ -252,6 +253,14 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
252253
| :green_heart: | STM32L072RB | [PX-HER0](https://piconomix.com/fwlib/_p_i_c_o_n_o_m_i_x__s_t_m32__h_e_r_o__b_o_a_r_d.html) | *1.8.0* | |
253254
| :green_heart: | STM32L072KZ | [ThunderPack v1.0](https://github.com/jgillick/ThunderPack) | *1.8.0* | |
254255

256+
### Generic STM32L1 boards
257+
258+
| Status | Device(s) | Name | Release | Notes |
259+
| :----: | :-------: | ---- | :-----: | :---- |
260+
| :yellow_heart: | STM32L151C6<br>STM32L151C8<br>STM32L151CB | Generic Board | **2.0.0** | |
261+
| :yellow_heart: | STM32L151C6-A<br>STM32L151C8-A<br>STM32L151CB-A | Generic Board | **2.0.0** | |
262+
| :yellow_heart: | STM32L152RE | Generic Board | **2.0.0** | |
263+
255264
### Generic STM32L4 boards
256265

257266
| Status | Device(s) | Name | Release | Notes |
@@ -305,7 +314,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
305314
| Status | Device(s) | Name | Release | Notes |
306315
| :----: | :-------: | ---- | :-----: | :---- |
307316
| :green_heart: | STM32F072C8<br>STM32F072CB | [Elektor LoRa Node](https://github.com/ElektorLabs/180516-Elektor_LoRa_Node) | *1.8.0* | [More info](https://www.elektormagazine.com/labs/lorawan-node-experimental-platform) |
308-
| :green_heart: | STM32L151RB | [RAK811 LoRa Tracker](https://www.rakwireless.com/en/) | *1.4.0* | [Wiki](https://github.com/stm32duino/wiki/wiki/Connectivities#lora) |
317+
| :green_heart: | STM32L151RB | [RAK811 LoRa Tracker](https://www.rakwireless.com/en/) | *1.4.0* | [Wiki](https://github.com/stm32duino/wiki/wiki/lora) |
309318
| :green_heart: | STM32L051C8 | [RHF76-052](https://www.ai-thinker.com/) | *1.7.0* | Basic support |
310319

311320
### Electronic Speed Controller boards

boards.txt

+131-5
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ Nucleo_64.menu.pnum.NUCLEO_L152RE.build.mcu=cortex-m3
402402
Nucleo_64.menu.pnum.NUCLEO_L152RE.build.board=NUCLEO_L152RE
403403
Nucleo_64.menu.pnum.NUCLEO_L152RE.build.series=STM32L1xx
404404
Nucleo_64.menu.pnum.NUCLEO_L152RE.build.product_line=STM32L152xE
405-
Nucleo_64.menu.pnum.NUCLEO_L152RE.build.variant=STM32L1xx/NUCLEO_L152RE
405+
Nucleo_64.menu.pnum.NUCLEO_L152RE.build.variant=STM32L1xx/Generic_L152RE
406406
Nucleo_64.menu.pnum.NUCLEO_L152RE.build.cmsis_lib_gcc=arm_cortexM3l_math
407407

408408
# NUCLEO_L433RC_P board
@@ -2059,6 +2059,89 @@ GenL0.menu.upload_method.bmpMethod=BMP (Black Magic Probe)
20592059
GenL0.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp
20602060
GenL0.menu.upload_method.bmpMethod.upload.tool=bmp_upload
20612061

2062+
################################################################################
2063+
# Generic L1
2064+
GenL1.name=Generic STM32L1 series
2065+
2066+
GenL1.build.core=arduino
2067+
GenL1.build.board=GenL1
2068+
GenL1.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
2069+
GenL1.build.mcu=cortex-m3
2070+
GenL1.build.series=STM32L1xx
2071+
GenL1.build.cmsis_lib_gcc=arm_cortexM3l_math
2072+
2073+
# Generic L151C6 board
2074+
GenL1.menu.pnum.GENERIC_L151C6=Generic L151C6
2075+
GenL1.menu.pnum.GENERIC_L151C6.upload.maximum_size=32768
2076+
GenL1.menu.pnum.GENERIC_L151C6.upload.maximum_data_size=10240
2077+
GenL1.menu.pnum.GENERIC_L151C6.build.board=GENERIC_L151C6
2078+
GenL1.menu.pnum.GENERIC_L151C6.build.product_line=STM32L151xB
2079+
GenL1.menu.pnum.GENERIC_L151C6.build.variant=STM32L1xx/Generic_L151Cx
2080+
2081+
# Generic L151C8 board
2082+
GenL1.menu.pnum.GENERIC_L151C8=Generic L151C8
2083+
GenL1.menu.pnum.GENERIC_L151C8.upload.maximum_size=65536
2084+
GenL1.menu.pnum.GENERIC_L151C8.upload.maximum_data_size=10240
2085+
GenL1.menu.pnum.GENERIC_L151C8.build.board=GENERIC_L151C8
2086+
GenL1.menu.pnum.GENERIC_L151C8.build.product_line=STM32L151xB
2087+
GenL1.menu.pnum.GENERIC_L151C8.build.variant=STM32L1xx/Generic_L151Cx
2088+
2089+
# Generic L151CB board
2090+
GenL1.menu.pnum.GENERIC_L151CB=Generic L151CB
2091+
GenL1.menu.pnum.GENERIC_L151CB.upload.maximum_size=131072
2092+
GenL1.menu.pnum.GENERIC_L151CB.upload.maximum_data_size=16384
2093+
GenL1.menu.pnum.GENERIC_L151CB.build.board=GENERIC_L151CB
2094+
GenL1.menu.pnum.GENERIC_L151CB.build.product_line=STM32L151xB
2095+
GenL1.menu.pnum.GENERIC_L151CB.build.variant=STM32L1xx/Generic_L151Cx
2096+
2097+
# Generic L151C6-A board
2098+
GenL1.menu.pnum.GENERIC_L151C6_A=Generic L151C6-A
2099+
GenL1.menu.pnum.GENERIC_L151C6_A.upload.maximum_size=32768
2100+
GenL1.menu.pnum.GENERIC_L151C6_A.upload.maximum_data_size=16384
2101+
GenL1.menu.pnum.GENERIC_L151C6_A.build.board=GENERIC_L151C6_A
2102+
GenL1.menu.pnum.GENERIC_L151C6_A.build.product_line=STM32L151xBA
2103+
GenL1.menu.pnum.GENERIC_L151C6_A.build.variant=STM32L1xx/Generic_L151Cx
2104+
2105+
# Generic L151C8-A board
2106+
GenL1.menu.pnum.GENERIC_L151C8_A=Generic L151C8-A
2107+
GenL1.menu.pnum.GENERIC_L151C8_A.upload.maximum_size=65536
2108+
GenL1.menu.pnum.GENERIC_L151C8_A.upload.maximum_data_size=32768
2109+
GenL1.menu.pnum.GENERIC_L151C8_A.build.board=GENERIC_L151C8_A
2110+
GenL1.menu.pnum.GENERIC_L151C8_A.build.product_line=STM32L151xBA
2111+
GenL1.menu.pnum.GENERIC_L151C8_A.build.variant=STM32L1xx/Generic_L151Cx
2112+
2113+
# Generic L151CB-A board
2114+
GenL1.menu.pnum.GENERIC_L151CB_A=Generic L151CB-A
2115+
GenL1.menu.pnum.GENERIC_L151CB_A.upload.maximum_size=131072
2116+
GenL1.menu.pnum.GENERIC_L151CB_A.upload.maximum_data_size=32768
2117+
GenL1.menu.pnum.GENERIC_L151CB_A.build.board=GENERIC_L151CB_A
2118+
GenL1.menu.pnum.GENERIC_L151CB_A.build.product_line=STM32L151xBA
2119+
GenL1.menu.pnum.GENERIC_L151CB_A.build.variant=STM32L1xx/Generic_L151Cx
2120+
2121+
# Generic L152RE board
2122+
GenL1.menu.pnum.GENERIC_L152RE=Generic L152RE
2123+
GenL1.menu.pnum.GENERIC_L152RE.upload.maximum_size=524288
2124+
GenL1.menu.pnum.GENERIC_L152RE.upload.maximum_data_size=81920
2125+
GenL1.menu.pnum.GENERIC_L152RE.build.board=GENERIC_L152RE
2126+
GenL1.menu.pnum.GENERIC_L152RE.build.product_line=STM32L152xE
2127+
GenL1.menu.pnum.GENERIC_L152RE.build.variant=STM32L1xx/Generic_L152RE
2128+
2129+
# Upload menu
2130+
GenL1.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
2131+
GenL1.menu.upload_method.swdMethod.upload.protocol=0
2132+
GenL1.menu.upload_method.swdMethod.upload.options=-g
2133+
GenL1.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
2134+
2135+
GenL1.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
2136+
GenL1.menu.upload_method.serialMethod.upload.protocol=1
2137+
GenL1.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
2138+
GenL1.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
2139+
2140+
GenL1.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
2141+
GenL1.menu.upload_method.dfuMethod.upload.protocol=2
2142+
GenL1.menu.upload_method.dfuMethod.upload.options=-g
2143+
GenL1.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
2144+
20622145
################################################################################
20632146
# Generic L4
20642147
GenL4.name=Generic STM32L4 series
@@ -2462,23 +2545,23 @@ LoRa.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
24622545

24632546
# RAK811_TRACKER board
24642547
LoRa.menu.pnum.RAK811_TRACKER=RAK811 LoRa Tracker (16kb RAM)
2465-
LoRa.menu.pnum.RAK811_TRACKER.upload.maximum_data_size=16384
24662548
LoRa.menu.pnum.RAK811_TRACKER.upload.maximum_size=131072
2549+
LoRa.menu.pnum.RAK811_TRACKER.upload.maximum_data_size=16384
24672550
LoRa.menu.pnum.RAK811_TRACKER.build.mcu=cortex-m3
24682551
LoRa.menu.pnum.RAK811_TRACKER.build.board=RAK811_TRACKER
24692552
LoRa.menu.pnum.RAK811_TRACKER.build.series=STM32L1xx
24702553
LoRa.menu.pnum.RAK811_TRACKER.build.product_line=STM32L151xB
2471-
LoRa.menu.pnum.RAK811_TRACKER.build.variant=STM32L1xx/RAK811_TRACKER
2554+
LoRa.menu.pnum.RAK811_TRACKER.build.variant=STM32L1xx/Generic_L151Cx
24722555
LoRa.menu.pnum.RAK811_TRACKER.build.cmsis_lib_gcc=arm_cortexM3l_math
24732556

24742557
LoRa.menu.pnum.RAK811_TRACKERA=RAK811 LoRa Tracker (32kb RAM)
2475-
LoRa.menu.pnum.RAK811_TRACKERA.upload.maximum_data_size=32768
24762558
LoRa.menu.pnum.RAK811_TRACKERA.upload.maximum_size=131072
2559+
LoRa.menu.pnum.RAK811_TRACKERA.upload.maximum_data_size=32768
24772560
LoRa.menu.pnum.RAK811_TRACKERA.build.mcu=cortex-m3
24782561
LoRa.menu.pnum.RAK811_TRACKERA.build.board=RAK811_TRACKERA
24792562
LoRa.menu.pnum.RAK811_TRACKERA.build.series=STM32L1xx
24802563
LoRa.menu.pnum.RAK811_TRACKERA.build.product_line=STM32L151xBA
2481-
LoRa.menu.pnum.RAK811_TRACKERA.build.variant=STM32L1xx/RAK811_TRACKER
2564+
LoRa.menu.pnum.RAK811_TRACKERA.build.variant=STM32L1xx/Generic_L151Cx
24822565
LoRa.menu.pnum.RAK811_TRACKERA.build.cmsis_lib_gcc=arm_cortexM3l_math
24832566

24842567
# RHF76_052 board
@@ -2996,6 +3079,12 @@ GenL0.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
29963079
GenL0.menu.xserial.disabled=Disabled (no Serial support)
29973080
GenL0.menu.xserial.disabled.build.xSerial=
29983081

3082+
GenL1.menu.xserial.generic=Enabled (generic 'Serial')
3083+
GenL1.menu.xserial.none=Enabled (no generic 'Serial')
3084+
GenL1.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
3085+
GenL1.menu.xserial.disabled=Disabled (no Serial support)
3086+
GenL1.menu.xserial.disabled.build.xSerial=
3087+
29993088
GenL4.menu.xserial.generic=Enabled (generic 'Serial')
30003089
GenL4.menu.xserial.none=Enabled (no generic 'Serial')
30013090
GenL4.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
@@ -3209,6 +3298,14 @@ GenL0.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_G
32093298
GenL0.menu.usb.HID=HID (keyboard and mouse)
32103299
GenL0.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
32113300

3301+
GenL1.menu.usb.none=None
3302+
GenL1.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
3303+
GenL1.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
3304+
GenL1.menu.usb.CDC=CDC (no generic 'Serial')
3305+
GenL1.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
3306+
GenL1.menu.usb.HID=HID (keyboard and mouse)
3307+
GenL1.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
3308+
32123309
GenL4.menu.usb.none=None
32133310
GenL4.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
32143311
GenL4.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
@@ -3548,6 +3645,25 @@ GenL0.menu.opt.o3lto.build.flags.optimize=-O3 -flto
35483645
GenL0.menu.opt.ogstd=Debug (-g)
35493646
GenL0.menu.opt.ogstd.build.flags.optimize=-g -Og
35503647

3648+
GenL1.menu.opt.osstd=Smallest (-Os default)
3649+
GenL1.menu.opt.osstd.build.flags.optimize=-Os
3650+
GenL1.menu.opt.oslto=Smallest (-Os) with LTO
3651+
GenL1.menu.opt.oslto.build.flags.optimize=-Os -flto
3652+
GenL1.menu.opt.o1std=Fast (-O1)
3653+
GenL1.menu.opt.o1std.build.flags.optimize=-O1
3654+
GenL1.menu.opt.o1lto=Fast (-O1) with LTO
3655+
GenL1.menu.opt.o1lto.build.flags.optimize=-O1 -flto
3656+
GenL1.menu.opt.o2std=Faster (-O2)
3657+
GenL1.menu.opt.o2std.build.flags.optimize=-O2
3658+
GenL1.menu.opt.o2lto=Faster (-O2) with LTO
3659+
GenL1.menu.opt.o2lto.build.flags.optimize=-O2 -flto
3660+
GenL1.menu.opt.o3std=Fastest (-O3)
3661+
GenL1.menu.opt.o3std.build.flags.optimize=-O3
3662+
GenL1.menu.opt.o3lto=Fastest (-O3) with LTO
3663+
GenL1.menu.opt.o3lto.build.flags.optimize=-O3 -flto
3664+
GenL1.menu.opt.ogstd=Debug (-g)
3665+
GenL1.menu.opt.ogstd.build.flags.optimize=-g -Og
3666+
35513667
GenL4.menu.opt.osstd=Smallest (-Os default)
35523668
GenL4.menu.opt.osstd.build.flags.optimize=-Os
35533669
GenL4.menu.opt.oslto=Smallest (-Os) with LTO
@@ -3872,6 +3988,16 @@ GenL0.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float
38723988
GenL0.menu.rtlib.full=Newlib Standard
38733989
GenL0.menu.rtlib.full.build.flags.ldspecs=
38743990

3991+
GenL1.menu.rtlib.nano=Newlib Nano (default)
3992+
GenL1.menu.rtlib.nanofp=Newlib Nano + Float Printf
3993+
GenL1.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
3994+
GenL1.menu.rtlib.nanofs=Newlib Nano + Float Scanf
3995+
GenL1.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
3996+
GenL1.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
3997+
GenL1.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
3998+
GenL1.menu.rtlib.full=Newlib Standard
3999+
GenL1.menu.rtlib.full.build.flags.ldspecs=
4000+
38754001
GenL4.menu.rtlib.nano=Newlib Nano (default)
38764002
GenL4.menu.rtlib.nanofp=Newlib Nano + Float Printf
38774003
GenL4.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float

0 commit comments

Comments
 (0)