Skip to content

Commit 6bd76cc

Browse files
committed
[bsp] add new driver & iar support.
1 parent 0908df3 commit 6bd76cc

28 files changed

+11002
-123
lines changed

bsp/essemi/es32f369x/.config

Lines changed: 71 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ CONFIG_RT_USING_DEVICE=y
6464
CONFIG_RT_USING_CONSOLE=y
6565
CONFIG_RT_CONSOLEBUF_SIZE=128
6666
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
67-
CONFIG_RT_VER_NUM=0x40002
67+
CONFIG_RT_VER_NUM=0x40003
6868
# CONFIG_RT_USING_CPU_FFS is not set
6969
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
7070

@@ -114,12 +114,10 @@ CONFIG_RT_PIPE_BUFSZ=512
114114
CONFIG_RT_USING_SERIAL=y
115115
# CONFIG_RT_SERIAL_USING_DMA is not set
116116
CONFIG_RT_SERIAL_RB_BUFSZ=64
117-
CONFIG_RT_USING_CAN=y
118-
# CONFIG_RT_CAN_USING_HDR is not set
117+
# CONFIG_RT_USING_CAN is not set
119118
# CONFIG_RT_USING_HWTIMER is not set
120119
# CONFIG_RT_USING_CPUTIME is not set
121-
CONFIG_RT_USING_I2C=y
122-
# CONFIG_RT_USING_I2C_BITOPS is not set
120+
# CONFIG_RT_USING_I2C is not set
123121
CONFIG_RT_USING_PIN=y
124122
# CONFIG_RT_USING_ADC is not set
125123
# CONFIG_RT_USING_PWM is not set
@@ -194,11 +192,15 @@ CONFIG_RT_USING_PIN=y
194192
#
195193
# IoT - internet of things
196194
#
195+
# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
197196
# CONFIG_PKG_USING_PAHOMQTT is not set
197+
# CONFIG_PKG_USING_UMQTT is not set
198198
# CONFIG_PKG_USING_WEBCLIENT is not set
199199
# CONFIG_PKG_USING_WEBNET is not set
200200
# CONFIG_PKG_USING_MONGOOSE is not set
201201
# CONFIG_PKG_USING_MYMQTT is not set
202+
# CONFIG_PKG_USING_KAWAII_MQTT is not set
203+
# CONFIG_PKG_USING_BC28_MQTT is not set
202204
# CONFIG_PKG_USING_WEBTERMINAL is not set
203205
# CONFIG_PKG_USING_CJSON is not set
204206
# CONFIG_PKG_USING_JSMN is not set
@@ -225,6 +227,7 @@ CONFIG_RT_USING_PIN=y
225227
# CONFIG_PKG_USING_COAP is not set
226228
# CONFIG_PKG_USING_NOPOLL is not set
227229
# CONFIG_PKG_USING_NETUTILS is not set
230+
# CONFIG_PKG_USING_CMUX is not set
228231
# CONFIG_PKG_USING_PPP_DEVICE is not set
229232
# CONFIG_PKG_USING_AT_DEVICE is not set
230233
# CONFIG_PKG_USING_ATSRV_SOCKET is not set
@@ -237,9 +240,10 @@ CONFIG_RT_USING_PIN=y
237240
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
238241
# CONFIG_PKG_USING_ALI_IOTKIT is not set
239242
# CONFIG_PKG_USING_AZURE is not set
240-
# CONFIG_PKG_USING_TENCENT_IOTHUB is not set
243+
# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
241244
# CONFIG_PKG_USING_JIOT-C-SDK is not set
242245
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
246+
# CONFIG_PKG_USING_JOYLINK is not set
243247
# CONFIG_PKG_USING_NIMBLE is not set
244248
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
245249
# CONFIG_PKG_USING_IPMSG is not set
@@ -256,13 +260,20 @@ CONFIG_RT_USING_PIN=y
256260
# CONFIG_PKG_USING_ABUP_FOTA is not set
257261
# CONFIG_PKG_USING_LIBCURL2RTT is not set
258262
# CONFIG_PKG_USING_CAPNP is not set
263+
# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
264+
# CONFIG_PKG_USING_AGILE_TELNET is not set
265+
# CONFIG_PKG_USING_NMEALIB is not set
266+
# CONFIG_PKG_USING_AGILE_JSMN is not set
267+
# CONFIG_PKG_USING_PDULIB is not set
259268

260269
#
261270
# security packages
262271
#
263272
# CONFIG_PKG_USING_MBEDTLS is not set
264273
# CONFIG_PKG_USING_libsodium is not set
265274
# CONFIG_PKG_USING_TINYCRYPT is not set
275+
# CONFIG_PKG_USING_TFM is not set
276+
# CONFIG_PKG_USING_YD_CRYPTO is not set
266277

267278
#
268279
# language packages
@@ -297,6 +308,9 @@ CONFIG_RT_USING_PIN=y
297308
# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
298309
# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
299310
# CONFIG_PKG_USING_BS8116A is not set
311+
# CONFIG_PKG_USING_GPS_RMC is not set
312+
# CONFIG_PKG_USING_URLENCODE is not set
313+
# CONFIG_PKG_USING_UMCN is not set
300314

301315
#
302316
# system packages
@@ -307,6 +321,7 @@ CONFIG_RT_USING_PIN=y
307321
# CONFIG_PKG_USING_LWEXT4 is not set
308322
# CONFIG_PKG_USING_PARTITION is not set
309323
# CONFIG_PKG_USING_FAL is not set
324+
# CONFIG_PKG_USING_FLASHDB is not set
310325
# CONFIG_PKG_USING_SQLITE is not set
311326
# CONFIG_PKG_USING_RTI is not set
312327
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
@@ -317,6 +332,12 @@ CONFIG_RT_USING_PIN=y
317332
# CONFIG_PKG_USING_ROBOTS is not set
318333
# CONFIG_PKG_USING_EV is not set
319334
# CONFIG_PKG_USING_SYSWATCH is not set
335+
# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
336+
# CONFIG_PKG_USING_PLCCORE is not set
337+
# CONFIG_PKG_USING_RAMDISK is not set
338+
# CONFIG_PKG_USING_MININI is not set
339+
# CONFIG_PKG_USING_QBOOT is not set
340+
# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
320341

321342
#
322343
# peripheral libraries and drivers
@@ -333,6 +354,10 @@ CONFIG_RT_USING_PIN=y
333354
# CONFIG_PKG_USING_SX12XX is not set
334355
# CONFIG_PKG_USING_SIGNAL_LED is not set
335356
# CONFIG_PKG_USING_LEDBLINK is not set
357+
# CONFIG_PKG_USING_LITTLED is not set
358+
# CONFIG_PKG_USING_LKDGUI is not set
359+
# CONFIG_PKG_USING_NRF5X_SDK is not set
360+
# CONFIG_PKG_USING_NRFX is not set
336361
# CONFIG_PKG_USING_WM_LIBRARIES is not set
337362
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
338363
# CONFIG_PKG_USING_INFRARED is not set
@@ -350,6 +375,21 @@ CONFIG_RT_USING_PIN=y
350375
# CONFIG_PKG_USING_RPLIDAR is not set
351376
# CONFIG_PKG_USING_AS608 is not set
352377
# CONFIG_PKG_USING_RC522 is not set
378+
# CONFIG_PKG_USING_WS2812B is not set
379+
# CONFIG_PKG_USING_EMBARC_BSP is not set
380+
# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
381+
# CONFIG_PKG_USING_MULTI_RTIMER is not set
382+
# CONFIG_PKG_USING_MAX7219 is not set
383+
# CONFIG_PKG_USING_BEEP is not set
384+
# CONFIG_PKG_USING_EASYBLINK is not set
385+
# CONFIG_PKG_USING_PMS_SERIES is not set
386+
# CONFIG_PKG_USING_CAN_YMODEM is not set
387+
# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
388+
# CONFIG_PKG_USING_QLED is not set
389+
# CONFIG_PKG_USING_PAJ7620 is not set
390+
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
391+
# CONFIG_PKG_USING_LD3320 is not set
392+
# CONFIG_PKG_USING_WK2124 is not set
353393

354394
#
355395
# miscellaneous packages
@@ -386,6 +426,9 @@ CONFIG_RT_USING_PIN=y
386426
# CONFIG_PKG_USING_VT100 is not set
387427
# CONFIG_PKG_USING_ULAPACK is not set
388428
# CONFIG_PKG_USING_UKAL is not set
429+
# CONFIG_PKG_USING_CRCLIB is not set
430+
# CONFIG_PKG_USING_THREES is not set
431+
# CONFIG_PKG_USING_2048 is not set
389432
CONFIG_SOC_ES32F3696LT=y
390433

391434
#
@@ -425,6 +468,28 @@ CONFIG_BSP_USING_UART0=y
425468
#
426469
# CONFIG_BSP_USING_CAN is not set
427470

471+
#
472+
# ADC Drivers
473+
#
474+
# CONFIG_BSP_USING_ADC is not set
475+
476+
#
477+
# RTC Drivers
478+
#
479+
# CONFIG_BSP_USING_RTC is not set
480+
481+
#
482+
# HWtimer Drivers
483+
#
484+
# CONFIG_BSP_USING_HWTIMER0 is not set
485+
# CONFIG_BSP_USING_HWTIMER1 is not set
486+
487+
#
488+
# PWM Drivers
489+
#
490+
# CONFIG_BSP_USING_PWM0 is not set
491+
# CONFIG_BSP_USING_PWM1 is not set
492+
428493
#
429494
# Onboard Peripheral Drivers
430495
#

bsp/essemi/es32f369x/README.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ ES-PDS-ES32F369x 是东软载波微电子官方推出的一款基于 ARM Cortex-
1313

1414
开发板外观如下图所示:
1515

16-
ES-PDS-ES32F369x-V1.2
16+
ES-PDS-ES32F369x-V1.3
1717

18-
![ES32F0654](figures/ES-PDS-ES32F369x-V1.2.jpg)
18+
![ES32F0654](figures/ES-PDS-ES32F369x-V1.3.jpg)
1919

2020
该开发板常用 **板载资源** 如下:
2121

@@ -32,15 +32,19 @@ ES-PDS-ES32F369x-V1.2
3232

3333
本 BSP 目前对外设的支持情况如下:
3434

35-
| **板载外设** | **支持情况** | **备注** |
36-
| :----------- | :----------: | :--------------- |
37-
| SPI FLASH | 支持 | SPI0 |
38-
| **片上外设** | **支持情况** | **备注** |
39-
| GPIO | 支持 | 50 GPIOs |
40-
| UART | 支持 | UART0/1/2/3/4/5 |
41-
| SPI | 支持 | SPI0/1/2 |
42-
| I2C | 支持 | I2C0/1 |
43-
| CAN | 支持 | CAN0 |
35+
| **板载外设** | **支持情况** | **备注** |
36+
| :----------- | :----------: | :-------------- |
37+
| SPI FLASH | 支持 | SPI0 |
38+
| **片上外设** | **支持情况** | **备注** |
39+
| GPIO | 支持 | 50 GPIOs |
40+
| UART | 支持 | UART0/1/2/3/4/5 |
41+
| SPI | 支持 | SPI0/1/2 |
42+
| I2C | 支持 | I2C0/1 |
43+
| CAN | 支持 | CAN0 |
44+
| PWM | 支持 | PWM0/1 |
45+
| TIMER | 支持 | TIMER0/1 |
46+
| RTC | 支持 | RTC |
47+
| ADC | 支持 | ADC0 |
4448

4549
### 1.2 注意事项
4650

@@ -56,7 +60,7 @@ ES-PDS-ES32F369x-V1.2
5660

5761
使用ESlinkⅡ(mini)连接开发板如下图所示:
5862

59-
ESLinkⅡ(mini) + ES-PDS-ES32F369x-V1.2
63+
ESLinkⅡ(mini) + ES-PDS-ES32F369x-V1.3
6064

6165
![ESLinkII](figures/ESLinkII-mini.jpg)
6266

bsp/essemi/es32f369x/drivers/Kconfig

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,25 @@ menu "Hardware Drivers Config"
2121
bool "Enable UART2 PC12/PD02(T/R)"
2222
select RT_USING_SERIAL
2323
default y
24-
depends on !BSP_USING_HWTIMER1
2524

2625
config BSP_USING_UART3
2726
bool "Enable UART3 PC04/PC05(T/R)"
2827
select RT_USING_SERIAL
2928
default n
30-
depends on !BSP_USING_HWTIMER2
29+
depends on !BSP_USING_SPI2
3130

32-
3331
config BSP_USING_UART4
3432
bool "Enable UART4 PB06/PB07(T/R)"
3533
select RT_USING_SERIAL
3634
default n
3735
depends on !BSP_USING_I2C0
36+
depends on !BSP_USING_PWM0
3837

3938
config BSP_USING_UART5
4039
bool "Enable UART5 PB09/PB08(T/R)"
4140
select RT_USING_SERIAL
4241
default n
42+
depends on !BSP_USING_PWM0
4343
endmenu
4444

4545
menu "SPI Drivers"
@@ -60,16 +60,18 @@ menu "Hardware Drivers Config"
6060
select RT_USING_SPI
6161
select RT_USING_PIN
6262
default n
63+
depends on !BSP_USING_UART3
6364
endmenu
6465

6566
menu "I2C Drivers"
6667
config BSP_USING_I2C0
67-
bool "Enable I2C0 BUS PB08/PB09(SCL/SDA)"
68+
bool "Enable I2C0 BUS PB06/PB07(SCL/SDA)"
6869
select RT_USING_I2C
6970
default n
71+
depends on !BSP_USING_PWM0
7072

7173
config BSP_USING_I2C1
72-
bool "Enable I2C1 BUS PB10/PB11(SCL/SDA)"
74+
bool "Enable I2C1 BUS PA05/PA06(SCL/SDA)"
7375
select RT_USING_I2C
7476
default n
7577
endmenu
@@ -80,6 +82,47 @@ menu "Hardware Drivers Config"
8082
select RT_USING_CAN
8183
default n
8284
endmenu
85+
86+
menu "ADC Drivers"
87+
config BSP_USING_ADC
88+
bool "Using ADC"
89+
select RT_USING_ADC
90+
default n
91+
endmenu
92+
93+
menu "RTC Drivers"
94+
config BSP_USING_RTC
95+
bool "Using RTC"
96+
select RT_USING_RTC
97+
default n
98+
endmenu
99+
100+
menu "HWtimer Drivers"
101+
config BSP_USING_HWTIMER0
102+
bool "Using timer0"
103+
select RT_USING_HWTIMER
104+
default n
105+
106+
config BSP_USING_HWTIMER1
107+
bool "Using timer1"
108+
select RT_USING_HWTIMER
109+
default n
110+
endmenu
111+
112+
menu "PWM Drivers"
113+
config BSP_USING_PWM0
114+
bool "Using PWM0 PB06/PB07/PB08/PB09"
115+
select RT_USING_PWM
116+
default n
117+
depends on !BSP_USING_CAN
118+
depends on !BSP_USING_I2C0
119+
120+
config BSP_USING_PWM1
121+
bool "Using PWM1 PA00/PA01/PA02/PA03"
122+
select RT_USING_PWM
123+
default n
124+
endmenu
125+
83126
endmenu
84127

85128
menu "Onboard Peripheral Drivers"

bsp/essemi/es32f369x/drivers/SConscript

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,22 @@ if GetDepend('BSP_USING_I2C0') or GetDepend('BSP_USING_I2C1'):
2828
if GetDepend('BSP_USING_CAN'):
2929
src += ['drv_can.c']
3030

31+
# add adc driver code
32+
if GetDepend(['BSP_USING_ADC']):
33+
src += ['drv_adc.c']
34+
35+
# add rtc driver code
36+
if GetDepend(['BSP_USING_RTC']):
37+
src += ['drv_rtc.c']
38+
39+
# add hwtimer driver code
40+
if GetDepend('BSP_USING_HWTIMER0') or GetDepend('BSP_USING_HWTIMER1'):
41+
src += ['drv_hwtimer.c']
42+
43+
# add pwm driver code
44+
if GetDepend('BSP_USING_PWM0') or GetDepend('BSP_USING_PWM1'):
45+
src += ['drv_pwm.c']
46+
3147
CPPPATH = [cwd]
3248
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
3349

bsp/essemi/es32f369x/drivers/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
#include <es32f36xx.h>
1616

17-
#define ES32F3_SRAM_SIZE 0x80000
17+
#define ES32F3_SRAM_SIZE 0x18000
1818
#define ES32F3_SRAM_END (0x20000000 + ES32F3_SRAM_SIZE)
1919

2020
#if defined(__CC_ARM) || defined(__CLANG_ARM)

0 commit comments

Comments
 (0)