Skip to content

Commit 3ae69ad

Browse files
authored
Merge pull request #2610 from jhbdream/stm32l4r9-bsp
add bsp for stm32l4r9
2 parents b4400c2 + 850b1e8 commit 3ae69ad

File tree

25 files changed

+2926
-321
lines changed

25 files changed

+2926
-321
lines changed

bsp/stm32/libraries/HAL_Drivers/SConscript

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ if GetDepend(['RT_USING_QSPI']):
2727
src += ['drv_qspi.c']
2828

2929
if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']):
30-
src += ['drv_soft_i2c.c']
30+
if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'):
31+
src += ['drv_soft_i2c.c']
3132

3233
if GetDepend('RT_USING_LWIP'):
3334
src += ['drv_eth.c']

bsp/stm32/libraries/HAL_Drivers/drv_gpio.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,9 @@ int rt_hw_pin_init(void)
756756
#endif
757757

758758
#if defined(__HAL_RCC_GPIOG_CLK_ENABLE)
759+
#ifdef SOC_SERIES_STM32L4
760+
HAL_PWREx_EnableVddIO2();
761+
#endif
759762
__HAL_RCC_GPIOG_CLK_ENABLE();
760763
#endif
761764

bsp/stm32/libraries/STM32L4xx_HAL/SConscript

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c
2323
STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c
2424
STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c
2525
STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rng.c
26-
STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sram.c
2726
''')
2827

2928
if GetDepend(['RT_USING_PIN']):
@@ -90,6 +89,24 @@ if GetDepend(['BSP_USING_ON_CHIP_FLASH']):
9089
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c']
9190
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c']
9291

92+
if GetDepend(['BSP_USING_FMC']):
93+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_fmc.c']
94+
95+
if GetDepend(['BSP_USING_GFXMMU']):
96+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gfxmmu.c']
97+
98+
if GetDepend(['BSP_USING_DSI']):
99+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dsi.c']
100+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma2d.c']
101+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_dma2d.c']
102+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_ltdc.c']
103+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_ltdc_ex.c']
104+
105+
if GetDepend(['BSP_USING_SRAM']):
106+
src += ['STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sram.c']
107+
108+
109+
93110
path = [cwd + '/STM32L4xx_HAL_Driver/Inc',
94111
cwd + '/CMSIS/Device/ST/STM32L4xx/Include',
95112
cwd + '/CMSIS/Include']

bsp/stm32/stm32l4r9-st-eval/.config

Lines changed: 100 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
4848
# Memory Management
4949
#
5050
CONFIG_RT_USING_MEMPOOL=y
51-
# CONFIG_RT_USING_MEMHEAP is not set
51+
CONFIG_RT_USING_MEMHEAP=y
5252
# CONFIG_RT_USING_NOHEAP is not set
53-
CONFIG_RT_USING_SMALL_MEM=y
53+
# CONFIG_RT_USING_SMALL_MEM is not set
5454
# CONFIG_RT_USING_SLAB is not set
55-
# CONFIG_RT_USING_MEMTRACE is not set
55+
CONFIG_RT_USING_MEMHEAP_AS_HEAP=y
5656
CONFIG_RT_USING_HEAP=y
5757

5858
#
@@ -119,7 +119,8 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
119119
# CONFIG_RT_USING_CAN is not set
120120
# CONFIG_RT_USING_HWTIMER is not set
121121
# CONFIG_RT_USING_CPUTIME is not set
122-
# CONFIG_RT_USING_I2C is not set
122+
CONFIG_RT_USING_I2C=y
123+
CONFIG_RT_USING_I2C_BITOPS=y
123124
CONFIG_RT_USING_PIN=y
124125
# CONFIG_RT_USING_ADC is not set
125126
# CONFIG_RT_USING_PWM is not set
@@ -160,6 +161,11 @@ CONFIG_RT_USING_PIN=y
160161
#
161162
# CONFIG_RT_USING_SAL is not set
162163

164+
#
165+
# Network interface device
166+
#
167+
# CONFIG_RT_USING_NETDEV is not set
168+
163169
#
164170
# light weight TCP/IP stack
165171
#
@@ -193,32 +199,20 @@ CONFIG_RT_USING_PIN=y
193199
# RT-Thread online packages
194200
#
195201

196-
#
197-
# system packages
198-
#
199-
200-
#
201-
# RT-Thread GUI Engine
202-
#
203-
# CONFIG_PKG_USING_GUIENGINE is not set
204-
# CONFIG_PKG_USING_PERSIMMON is not set
205-
# CONFIG_PKG_USING_LWEXT4 is not set
206-
# CONFIG_PKG_USING_PARTITION is not set
207-
# CONFIG_PKG_USING_SQLITE is not set
208-
# CONFIG_PKG_USING_RTI is not set
209-
210202
#
211203
# IoT - internet of things
212204
#
213205
# CONFIG_PKG_USING_PAHOMQTT is not set
214206
# CONFIG_PKG_USING_WEBCLIENT is not set
207+
# CONFIG_PKG_USING_WEBNET is not set
215208
# CONFIG_PKG_USING_MONGOOSE is not set
216209
# CONFIG_PKG_USING_WEBTERMINAL is not set
217210
# CONFIG_PKG_USING_CJSON is not set
211+
# CONFIG_PKG_USING_JSMN is not set
212+
# CONFIG_PKG_USING_LIBMODBUS is not set
218213
# CONFIG_PKG_USING_LJSON is not set
219214
# CONFIG_PKG_USING_EZXML is not set
220215
# CONFIG_PKG_USING_NANOPB is not set
221-
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
222216

223217
#
224218
# Wi-Fi
@@ -233,9 +227,23 @@ CONFIG_RT_USING_PIN=y
233227
# Wiced WiFi
234228
#
235229
# CONFIG_PKG_USING_WLAN_WICED is not set
230+
# CONFIG_PKG_USING_RW007 is not set
236231
# CONFIG_PKG_USING_COAP is not set
237232
# CONFIG_PKG_USING_NOPOLL is not set
238233
# CONFIG_PKG_USING_NETUTILS is not set
234+
# CONFIG_PKG_USING_AT_DEVICE is not set
235+
# CONFIG_PKG_USING_WIZNET is not set
236+
237+
#
238+
# IoT Cloud
239+
#
240+
# CONFIG_PKG_USING_ONENET is not set
241+
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
242+
# CONFIG_PKG_USING_ALI_IOTKIT is not set
243+
# CONFIG_PKG_USING_AZURE is not set
244+
# CONFIG_PKG_USING_TENCENT_IOTKIT is not set
245+
# CONFIG_PKG_USING_NIMBLE is not set
246+
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
239247

240248
#
241249
# security packages
@@ -247,34 +255,94 @@ CONFIG_RT_USING_PIN=y
247255
#
248256
# language packages
249257
#
258+
# CONFIG_PKG_USING_LUA is not set
250259
# CONFIG_PKG_USING_JERRYSCRIPT is not set
251260
# CONFIG_PKG_USING_MICROPYTHON is not set
252261

253262
#
254263
# multimedia packages
255264
#
256265
# CONFIG_PKG_USING_OPENMV is not set
266+
# CONFIG_PKG_USING_MUPDF is not set
267+
# CONFIG_PKG_USING_STEMWIN is not set
257268

258269
#
259270
# tools packages
260271
#
261272
# CONFIG_PKG_USING_CMBACKTRACE is not set
273+
# CONFIG_PKG_USING_EASYFLASH is not set
262274
# CONFIG_PKG_USING_EASYLOGGER is not set
263275
# CONFIG_PKG_USING_SYSTEMVIEW is not set
264-
# CONFIG_PKG_USING_IPERF is not set
276+
# CONFIG_PKG_USING_RDB is not set
277+
# CONFIG_PKG_USING_QRCODE is not set
278+
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
279+
# CONFIG_PKG_USING_ADBD is not set
280+
281+
#
282+
# system packages
283+
#
284+
# CONFIG_PKG_USING_GUIENGINE is not set
285+
# CONFIG_PKG_USING_PERSIMMON is not set
286+
# CONFIG_PKG_USING_CAIRO is not set
287+
# CONFIG_PKG_USING_PIXMAN is not set
288+
# CONFIG_PKG_USING_LWEXT4 is not set
289+
# CONFIG_PKG_USING_PARTITION is not set
290+
# CONFIG_PKG_USING_FAL is not set
291+
# CONFIG_PKG_USING_SQLITE is not set
292+
# CONFIG_PKG_USING_RTI is not set
293+
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
294+
# CONFIG_PKG_USING_CMSIS is not set
295+
# CONFIG_PKG_USING_DFS_YAFFS is not set
296+
# CONFIG_PKG_USING_LITTLEFS is not set
297+
# CONFIG_PKG_USING_THREAD_POOL is not set
298+
299+
#
300+
# peripheral libraries and drivers
301+
#
302+
# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
303+
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
304+
# CONFIG_PKG_USING_SHT2X is not set
305+
# CONFIG_PKG_USING_AHT10 is not set
306+
# CONFIG_PKG_USING_AP3216C is not set
307+
# CONFIG_PKG_USING_STM32_SDIO is not set
308+
# CONFIG_PKG_USING_ICM20608 is not set
309+
# CONFIG_PKG_USING_U8G2 is not set
310+
# CONFIG_PKG_USING_BUTTON is not set
311+
# CONFIG_PKG_USING_MPU6XXX is not set
312+
# CONFIG_PKG_USING_PCF8574 is not set
313+
# CONFIG_PKG_USING_SX12XX is not set
314+
# CONFIG_PKG_USING_SIGNAL_LED is not set
315+
# CONFIG_PKG_USING_WM_LIBRARIES is not set
316+
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
317+
# CONFIG_PKG_USING_INFRARED is not set
318+
# CONFIG_PKG_USING_ROSSERIAL is not set
319+
# CONFIG_PKG_USING_AT24CXX is not set
265320

266321
#
267322
# miscellaneous packages
268323
#
324+
# CONFIG_PKG_USING_LIBCSV is not set
325+
# CONFIG_PKG_USING_OPTPARSE is not set
269326
# CONFIG_PKG_USING_FASTLZ is not set
270327
# CONFIG_PKG_USING_MINILZO is not set
271328
# CONFIG_PKG_USING_QUICKLZ is not set
272329
# CONFIG_PKG_USING_MULTIBUTTON is not set
330+
# CONFIG_PKG_USING_CANFESTIVAL is not set
331+
# CONFIG_PKG_USING_ZLIB is not set
332+
# CONFIG_PKG_USING_DSTR is not set
333+
# CONFIG_PKG_USING_TINYFRAME is not set
334+
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
273335

274336
#
275-
# example package: hello
337+
# samples: kernel and components samples
276338
#
339+
# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
340+
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
341+
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
342+
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
277343
# CONFIG_PKG_USING_HELLO is not set
344+
# CONFIG_PKG_USING_VI is not set
345+
# CONFIG_PKG_USING_NNOM is not set
278346
CONFIG_SOC_FAMILY_STM32=y
279347
CONFIG_SOC_SERIES_STM32L4=y
280348

@@ -286,13 +354,24 @@ CONFIG_SOC_STM32L4R9AI=y
286354
#
287355
# Onboard Peripheral Drivers
288356
#
357+
CONFIG_BSP_USING_STLINK_TO_USART=y
358+
# CONFIG_BSP_USING_DSI is not set
359+
360+
#
361+
# Enable Touch
362+
#
363+
# CONFIG_BSP_USING_TOUCH is not set
289364

290365
#
291366
# On-chip Peripheral Drivers
292367
#
293368
CONFIG_BSP_USING_GPIO=y
294369
CONFIG_BSP_USING_UART=y
295370
CONFIG_BSP_USING_UART3=y
371+
# CONFIG_BSP_USING_SRAM is not set
372+
# CONFIG_BSP_USING_I2C1 is not set
373+
# CONFIG_BSP_USING_GFXMMU is not set
374+
# CONFIG_BSP_USING_FMC is not set
296375

297376
#
298377
# Board extended module Drivers

bsp/stm32/stm32l4r9-st-eval/README.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 简介
44

5-
STM32L4R9I-EVAL 开发板提供的 BSP (板级支持包) 说明。
5+
由 JHB 为 STM32L4R9I-EVAL 开发板提供的 BSP (板级支持包) 说明。
66

77
主要内容如下:
88

@@ -34,12 +34,19 @@ STM32L4R9I-EVAL 开发板提供的 BSP (板级支持包) 说明。
3434

3535
本 BSP 目前对外设的支持情况如下:
3636

37-
| **板载外设** | **支持情况** | **备注** |
38-
| :----------------- | :----------: | :------------------------------------- |
39-
| 板载 ST-LINK 转串口 | 支持 | PB10 PB11 USART3 | |
40-
| **片上外设** | **支持情况** | **备注** |
41-
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...176 |
42-
| UART | 支持 | USART3 |
37+
| **板载外设** | **支持情况** | **备注** |
38+
| :----------------- | :----------: | :-----------------------------------------|
39+
| 板载 ST-LINK 转串口 | 支持 | PB10 PB11 USART3 |
40+
| LCD | 支持 | DSI mode round lcd |
41+
| TOUCH | 支持 | touch for round lcd |
42+
| SRAM | 支持 | |
43+
| **片上外设** | **支持情况** | **备注** |
44+
| GPIO | 支持 | |
45+
| UART | 支持 | USART3 |
46+
47+
48+
49+
4350

4451
## 使用说明
4552

@@ -99,12 +106,12 @@ msh >
99106

100107
- 调试串口为串口3 映射到PB10 PB11
101108

102-
- RAM 分为三部分
109+
- stm32L4R9 共有三块内部RAM区域 具体使用情况入如下
103110

104111
```
105112
RAM1 (rw) : ORIGIN = 0x20000000, LENGTH = 192k /* 192K sram 用于程序定义全局变量 静态变量存放*/
106-
RAM2 (rw) : ORIGIN = 0x10000000, LENGTH = 64k /* 64K sram 用于程序定义全局变量 静态变量存放 */
107-
RAM3 (rw) : ORIGIN = 0x20040000, LENGTH = 384k /* 384K sram 用于heap*/
113+
RAM2 (rw) : ORIGIN = 0x10000000, LENGTH = 64k /* 64K sram 用于程序定义全局变量 静态变量存放 */
114+
RAM3 (rw) : ORIGIN = 0x20040000, LENGTH = 384k /* 384K sram 用于heap空间*/
108115
```
109116

110117

0 commit comments

Comments
 (0)