Skip to content

Commit e906e28

Browse files
Merge pull request #11 from ARMmbed/ADD_L082
NEW targets: MTB_MURATA_ABZ
2 parents 11151ad + a553d92 commit e906e28

File tree

7 files changed

+550
-2
lines changed

7 files changed

+550
-2
lines changed

README.md

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22

33
Feel free to propose your custom boards support in mbed-os!
44

5+
56
Table of Contents
67
=================
78

89
* [Usage](#usage)
910
* [STM32F1](#stm32f1)
1011
* [BLUEPILL](#bluepill)
12+
* [STM32WL](#stm32wl)
13+
* [LORA_E5](#lora_e5)
1114
* [STM32L4](#stm32l4)
12-
* [STWIN](#stwin)
15+
* [STWIN SensorTile Wireless Industrial Node development kit](#stwin-sensortile-wireless-industrial-node-development-kit)
16+
* [STM32WL](#stm32wl)
1317
* [STM32WL](#stm32wl)
1418
* [Seeed Studio LoRa E5](#seeed-studio-lora-e5)
1519
* [Charles's LoRa-E5 breakout board](#charless-lora-e5-breakout-board)
@@ -57,32 +61,84 @@ mbedtools compile -m XXX -t XXX
5761

5862
## BLUEPILL
5963

64+
<img src="https://stm32-base.org/assets/img/boards/STM32F103C8T6_Blue_Pill-1.jpg">
65+
6066
MCU: STM32F103C8T6
6167

68+
TARGET: BLUEPILL_F103C8
69+
70+
71+
6272
source: https://os.mbed.com/users/hudakz/code/mbed-os-bluepill/
6373

6474
(https://os.mbed.com/users/hudakz/code/STM32F103C8T6_Hello/)
6575

6676

77+
# STM32L0
78+
79+
## MURATA LPWAN Wireless Module
80+
81+
MCU: STM32L082CZ
82+
83+
TARGET: MTB_MURATA_ABZ
84+
85+
https://wireless.murata.com/type-abz-078.html
86+
87+
- LORA is not enabled by default. You need to update your local mbed_app.json file:
88+
89+
```
90+
{
91+
"target_overrides": {
92+
"MTB_MURATA_ABZ": {
93+
"target.components_add": ["SX1276"],
94+
"sx1276-lora-driver.spi-mosi": "PA_7",
95+
"sx1276-lora-driver.spi-miso": "PA_6",
96+
"sx1276-lora-driver.spi-sclk": "PB_3",
97+
"sx1276-lora-driver.spi-cs": "PA_15",
98+
"sx1276-lora-driver.reset": "PC_0",
99+
"sx1276-lora-driver.dio0": "PB_4",
100+
"sx1276-lora-driver.dio1": "PB_1",
101+
"sx1276-lora-driver.dio2": "PB_0",
102+
"sx1276-lora-driver.dio3": "PC_13",
103+
"sx1276-lora-driver.txctl": "PC_2",
104+
"sx1276-lora-driver.rxctl": "PA_1",
105+
"sx1276-lora-driver.pwr-amp-ctl": "PC_1",
106+
"sx1276-lora-driver.tcxo": "PA_12"
107+
}
108+
}
109+
}
110+
```
111+
112+
67113
# STM32L4
68114

69-
## STWIN
115+
## STWIN SensorTile Wireless Industrial Node development kit
70116

71117
MCU: STM32L4R9ZI
72118

119+
<img src="https://www.st.com/bin/ecommerce/api/image.PF268005.en.feature-description-include-personalized-no-cpn-large.jpg">
120+
121+
TARGET: STWIN
122+
73123
https://www.st.com/en/evaluation-tools/steval-stwinkt1.html
74124

125+
- BLE is enabled by default
126+
75127

76128
# STM32WL
77129

78130
## Seeed Studio LoRa E5
79131

80132
MCU: STM32WLE5JC
81133

134+
TARGET: LORA_E5
135+
82136
https://www.seeedstudio.com/LoRa-E5-Wireless-Module-p-4745.html
83137

84138
## Charles's LoRa-E5 breakout board
85139

140+
TARGET: LORA_E5_BREAKOUT
141+
86142
<img src="https://github.com/hallard/LoRa-E5-Breakout/blob/main/pictures/LoRa-E5-Breakout-top.png">
87143

88144
https://github.com/hallard/LoRa-E5-Breakout
@@ -98,10 +154,14 @@ Use LoRa E5 module and added
98154

99155
MCU: STM32WLE5CC
100156

157+
TARGET: RAK3172
158+
101159
https://docs.rakwireless.com/Product-Categories/WisDuo/RAK3172-Module/Datasheet/#description
102160

103161
## Charles's RAK3172 breakout board
104162

163+
TARGET: RAK3172_BREAKOUT
164+
105165
TBD
106166

107167
Use RAK3172 and added

TARGET_STM32L0/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_subdirectory(TARGET_MTB_MURATA_ABZ EXCLUDE_FROM_ALL)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-mtb-murata-abz INTERFACE)
5+
6+
target_sources(mbed-mtb-murata-abz
7+
INTERFACE
8+
PeripheralPins.c
9+
system_clock.c
10+
)
11+
12+
target_include_directories(mbed-mtb-murata-abz
13+
INTERFACE
14+
.
15+
)
16+
17+
target_link_libraries(mbed-mtb-murata-abz INTERFACE mbed-stm32l082xz)
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
/* mbed Microcontroller Library
2+
* SPDX-License-Identifier: BSD-3-Clause
3+
******************************************************************************
4+
*
5+
* Copyright (c) 2016-2021 STMicroelectronics.
6+
* All rights reserved.
7+
*
8+
* This software component is licensed by ST under BSD 3-Clause license,
9+
* the "License"; You may not use this file except in compliance with the
10+
* License. You may obtain a copy of the License at:
11+
* opensource.org/licenses/BSD-3-Clause
12+
*
13+
******************************************************************************
14+
*
15+
* Automatically generated from STM32CubeMX/db/mcu/STM32L082CZUx.xml
16+
*/
17+
18+
#include "PeripheralPins.h"
19+
#include "mbed_toolchain.h"
20+
21+
//==============================================================================
22+
// Notes
23+
//
24+
// - The pins mentioned Px_y_ALTz are alternative possibilities which use other
25+
// HW peripheral instances. You can use them the same way as any other "normal"
26+
// pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board
27+
// pinout image on mbed.org.
28+
//
29+
// - The pins which are connected to other components present on the board have
30+
// the comment "Connected to xxx". The pin function may not work properly in this
31+
// case. These pins may not be displayed on the board pinout image on mbed.org.
32+
// Please read the board reference manual and schematic for more information.
33+
//
34+
// - Warning: pins connected to the default STDIO_UART_TX and STDIO_UART_RX pins are commented
35+
// See https://os.mbed.com/teams/ST/wiki/STDIO for more information.
36+
//
37+
//==============================================================================
38+
39+
40+
//*** ADC ***
41+
42+
MBED_WEAK const PinMap PinMap_ADC[] = {
43+
{PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // BLUE-LED
44+
{PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // POT
45+
{PA_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // BUTTON
46+
{PA_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // RED-LED
47+
{PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // GREEN-LED
48+
{NC, NC, 0}
49+
};
50+
51+
MBED_WEAK const PinMap PinMap_ADC_Internal[] = {
52+
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // ADC_IN17 // VREFINT
53+
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC_IN18 // VSENSE
54+
{NC, NC, 0}
55+
};
56+
57+
//*** DAC ***
58+
59+
MBED_WEAK const PinMap PinMap_DAC[] = {
60+
{PA_4, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // RED-LED
61+
{PA_5, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // GREEN-LED
62+
{NC, NC, 0}
63+
};
64+
65+
//*** I2C ***
66+
67+
MBED_WEAK const PinMap PinMap_I2C_SDA[] = {
68+
{PA_10, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
69+
{PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
70+
{PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // SDA
71+
{PB_14, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF5_I2C2)},
72+
{NC, NC, 0}
73+
};
74+
75+
MBED_WEAK const PinMap PinMap_I2C_SCL[] = {
76+
{PA_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
77+
{PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
78+
{PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // SCL
79+
{PB_13, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF5_I2C2)},
80+
{NC, NC, 0}
81+
};
82+
83+
//*** PWM ***
84+
85+
// TIM21 cannot be used because already used by the us_ticker
86+
// (update us_ticker_data.h file if another timer is chosen)
87+
MBED_WEAK const PinMap PinMap_PWM[] = {
88+
{PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
89+
{PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
90+
{PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3
91+
// {PA_2, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_TIM21, 1, 0)}, // TIM21_CH1
92+
{PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4
93+
// {PA_3, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_TIM21, 2, 0)}, // TIM21_CH2
94+
{PA_5, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_TIM2, 1, 0)}, // TIM2_CH1
95+
{PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
96+
{PA_6_ALT0, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_TIM22, 1, 0)}, // TIM22_CH1
97+
{PA_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
98+
{PA_7_ALT0, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_TIM22, 2, 0)}, // TIM22_CH2
99+
{PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_TIM2, 1, 0)}, // TIM2_CH1
100+
{PB_0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
101+
{PB_1, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
102+
{PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
103+
{PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
104+
{PB_4_ALT0, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_TIM22, 1, 0)}, // TIM22_CH1
105+
{PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_TIM3, 2, 0)}, // TIM3_CH2
106+
{PB_5_ALT0, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_TIM22, 2, 0)}, // TIM22_CH2
107+
{PB_10, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3
108+
{PB_11, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4
109+
// {PB_13, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_TIM21, 1, 0)}, // TIM21_CH1
110+
// {PB_14, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_TIM21, 2, 0)}, // TIM21_CH2
111+
{NC, NC, 0}
112+
};
113+
114+
//*** SERIAL ***
115+
116+
MBED_WEAK const PinMap PinMap_UART_TX[] = {
117+
{PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
118+
{PA_2_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
119+
{PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
120+
{PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
121+
{PA_14_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // SWCLK
122+
{PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
123+
{NC, NC, 0}
124+
};
125+
126+
MBED_WEAK const PinMap PinMap_UART_RX[] = {
127+
{PA_1, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
128+
{PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
129+
{PA_3_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
130+
{PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
131+
{PA_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // SWDIO
132+
{PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
133+
{NC, NC, 0}
134+
};
135+
136+
MBED_WEAK const PinMap PinMap_UART_RTS[] = {
137+
{PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
138+
{PB_12, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
139+
{PB_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
140+
{NC, NC, 0}
141+
};
142+
143+
MBED_WEAK const PinMap PinMap_UART_CTS[] = {
144+
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
145+
{PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
146+
{PB_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
147+
{NC, NC, 0}
148+
};
149+
150+
//*** SPI ***
151+
152+
MBED_WEAK const PinMap PinMap_SPI_MOSI[] = {
153+
{PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
154+
{PA_12, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
155+
{PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
156+
{PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)},
157+
{NC, NC, 0}
158+
};
159+
160+
MBED_WEAK const PinMap PinMap_SPI_MISO[] = {
161+
{PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
162+
{PA_11, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
163+
{PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
164+
{PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)},
165+
{NC, NC, 0}
166+
};
167+
168+
MBED_WEAK const PinMap PinMap_SPI_SCLK[] = {
169+
{PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
170+
{PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
171+
{PB_10, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
172+
{PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)},
173+
{NC, NC, 0}
174+
};
175+
176+
MBED_WEAK const PinMap PinMap_SPI_SSEL[] = {
177+
{PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
178+
{PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
179+
{PB_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
180+
{PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)},
181+
{NC, NC, 0}
182+
};
183+
184+
//*** USBDEVICE ***
185+
186+
MBED_WEAK const PinMap PinMap_USB_FS[] = {
187+
{PA_11, USB_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_DM
188+
{PA_12, USB_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_DP
189+
// {PA_13, USB_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_USB)}, // USB_NOE
190+
{NC, NC, 0}
191+
};

0 commit comments

Comments
 (0)