Skip to content

Commit 06eafe3

Browse files
authored
Merge pull request #3979 from Dozingfiretruck/master
修复ADC异常
2 parents f399aa6 + ec3e26b commit 06eafe3

File tree

6 files changed

+64
-75
lines changed

6 files changed

+64
-75
lines changed

bsp/stm32/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ STM32 系列 BSP 目前支持情况如下表所示:
5858
| **MP1 系列** | |
5959
| [stm32mp157a-st-discovery](stm32mp157a-st-discovery) | ST 官方 STM32MP157A-DK1 开发板 |
6060
| [stm32mp157a-st-ev1](stm32mp157a-st-ev1) | ST 官方 STM32MP157A-EV1 开发板 |
61+
| **WB 系列** | |
62+
| [stm32wb55-st-nucleo](stm32wb55-st-nucleo) | ST 官方 STM32WB55-nucleo 开发板 |
6163

6264
可以通过阅读相应 BSP 下的 README 来快速上手,如果想要使用 BSP 更多功能可参考 docs 文件夹下提供的说明文档,如下表所示:
6365

bsp/stm32/libraries/HAL_Drivers/drv_adc.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ static rt_err_t stm32_get_adc_value(struct rt_adc_device *device, rt_uint32_t ch
193193
return -RT_ERROR;
194194
}
195195

196-
#if defined(SOC_SERIES_STM32MP1) || defined (SOC_SERIES_STM32H7)
196+
#if defined(SOC_SERIES_STM32MP1) || defined (SOC_SERIES_STM32H7) || defined (SOC_SERIES_STM32WB)
197197
ADC_ChanConf.Rank = ADC_REGULAR_RANK_1;
198198
#else
199199
ADC_ChanConf.Rank = 1;
@@ -205,22 +205,24 @@ static rt_err_t stm32_get_adc_value(struct rt_adc_device *device, rt_uint32_t ch
205205
ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_55CYCLES_5;
206206
#elif defined(SOC_SERIES_STM32F2) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7)
207207
ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_112CYCLES;
208-
#elif defined(SOC_SERIES_STM32L4) || defined (SOC_SERIES_STM32WB)
208+
#elif defined(SOC_SERIES_STM32L4)
209209
ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_247CYCLES_5;
210210
#elif defined(SOC_SERIES_STM32MP1)
211211
ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_810CYCLES_5;
212212
#elif defined(SOC_SERIES_STM32H7)
213213
ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_64CYCLES_5;
214+
#elif defined (SOC_SERIES_STM32WB)
215+
ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_2CYCLES_5;
214216
#endif
215217

216218
#if defined(SOC_SERIES_STM32F2) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4) || defined (SOC_SERIES_STM32WB)
217219
ADC_ChanConf.Offset = 0;
218220
#endif
219221

220-
#if defined(SOC_SERIES_STM32L4) || defined (SOC_SERIES_STM32WB)
222+
#if defined(SOC_SERIES_STM32L4)
221223
ADC_ChanConf.OffsetNumber = ADC_OFFSET_NONE;
222224
ADC_ChanConf.SingleDiff = LL_ADC_SINGLE_ENDED;
223-
#elif defined(SOC_SERIES_STM32MP1) || defined(SOC_SERIES_STM32H7)
225+
#elif defined(SOC_SERIES_STM32MP1) || defined(SOC_SERIES_STM32H7) || defined (SOC_SERIES_STM32WB)
224226
ADC_ChanConf.OffsetNumber = ADC_OFFSET_NONE; /* ADC channel affected to offset number */
225227
ADC_ChanConf.Offset = 0;
226228
ADC_ChanConf.SingleDiff = ADC_SINGLE_ENDED; /* ADC channel differential mode */

bsp/stm32/libraries/STM32WBxx_HAL/SConscript

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,73 +8,73 @@ cwd = GetCurrentDir()
88

99
src = Split('''
1010
CMSIS/Device/ST/STM32WBxx/Source/Templates/system_stm32wbxx.c
11-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal.c
12-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_comp.c
13-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_cortex.c
14-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_crc.c
15-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_crc_ex.c
16-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_cryp.c
17-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_cryp_ex.c
18-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_dma.c
19-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_dma_ex.c
20-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_exti.c
21-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_pwr.c
22-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_pwr_ex.c
23-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_rcc.c
24-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_rcc_ex.c
25-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_rng.c
26-
STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_gpio.c
11+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c
12+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_comp.c
13+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c
14+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_crc.c
15+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_crc_ex.c
16+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cryp.c
17+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cryp_ex.c
18+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c
19+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma_ex.c
20+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_exti.c
21+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c
22+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c
23+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c
24+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c
25+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rng.c
26+
STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c
2727
''')
2828

2929
if GetDepend(['RT_USING_SERIAL']):
30-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_uart.c']
31-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_uart_ex.c']
32-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_usart.c']
33-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_usart_ex.c']
30+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c']
31+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c']
32+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_usart.c']
33+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_usart_ex.c']
3434

3535
if GetDepend(['RT_USING_I2C']):
36-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_i2c.c']
37-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_i2c_ex.c']
36+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.c']
37+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.c']
3838

3939
if GetDepend(['RT_USING_SPI']):
40-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_spi.c']
41-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_spi_ex.c']
42-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_qspi.c']
40+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.c']
41+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi_ex.c']
42+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_qspi.c']
4343

4444
if GetDepend(['RT_USING_USB_HOST']) or GetDepend(['RT_USING_USB_DEVICE']):
45-
# src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_hcd.c']
46-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_pcd.c']
47-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_pcd_ex.c']
48-
# src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_ll_usb.c']
45+
# src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hcd.c']
46+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.c']
47+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.c']
48+
# src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.c']
4949

5050
if GetDepend(['RT_USING_HWTIMER']) or GetDepend(['RT_USING_PWM']):
51-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_lptim.c']
52-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_tim.c']
53-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_tim_ex.c']
51+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_lptim.c']
52+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.c']
53+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.c']
5454

5555
if GetDepend(['RT_USING_ADC']):
56-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_adc.c']
57-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_adc_ex.c']
56+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_adc.c']
57+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_adc_ex.c']
5858

5959
if GetDepend(['RT_USING_RTC']):
60-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_rtc.c']
61-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_rtc_ex.c']
60+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c']
61+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c']
6262

6363
if GetDepend(['RT_USING_WDT']):
64-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_iwdg.c']
65-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_wwdg.c']
64+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_iwdg.c']
65+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_wwdg.c']
6666

6767
if GetDepend(['RT_USING_AUDIO']):
68-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_sai.c']
69-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_sai_ex.c']
68+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_sai.c']
69+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_sai_ex.c']
7070

7171
if GetDepend(['RT_USING_PM']):
72-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_lptim.c']
72+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_lptim.c']
7373

7474
if GetDepend(['BSP_USING_ON_CHIP_FLASH']):
75-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_flash.c']
76-
src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_flash_ex.c']
77-
# src += ['STM32WBxx_HAL_Driver/Src/STM32wbxx_hal_flash_ramfunc.c']
75+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c']
76+
src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c']
77+
# src += ['STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ramfunc.c']
7878

7979

8080

bsp/stm32/stm32wb55-st-nucleo/.config

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ CONFIG_RT_USING_DEVICE=y
6565
# CONFIG_RT_USING_INTERRUPT_INFO is not set
6666
CONFIG_RT_USING_CONSOLE=y
6767
CONFIG_RT_CONSOLEBUF_SIZE=128
68-
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
68+
CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
6969
CONFIG_RT_VER_NUM=0x40003
7070
CONFIG_ARCH_ARM=y
7171
CONFIG_RT_USING_CPU_FFS=y
@@ -108,18 +108,7 @@ CONFIG_FINSH_ARG_MAX=10
108108
#
109109
# Device virtual file system
110110
#
111-
CONFIG_RT_USING_DFS=y
112-
CONFIG_DFS_USING_WORKDIR=y
113-
CONFIG_DFS_FILESYSTEMS_MAX=2
114-
CONFIG_DFS_FILESYSTEM_TYPES_MAX=2
115-
CONFIG_DFS_FD_MAX=16
116-
# CONFIG_RT_USING_DFS_MNTTABLE is not set
117-
# CONFIG_RT_USING_DFS_ELMFAT is not set
118-
CONFIG_RT_USING_DFS_DEVFS=y
119-
# CONFIG_RT_USING_DFS_ROMFS is not set
120-
# CONFIG_RT_USING_DFS_RAMFS is not set
121-
# CONFIG_RT_USING_DFS_UFFS is not set
122-
# CONFIG_RT_USING_DFS_JFFS2 is not set
111+
# CONFIG_RT_USING_DFS is not set
123112

124113
#
125114
# Device Drivers
@@ -164,11 +153,7 @@ CONFIG_RT_USING_PIN=y
164153
#
165154
CONFIG_RT_USING_LIBC=y
166155
# CONFIG_RT_USING_PTHREADS is not set
167-
CONFIG_RT_USING_POSIX=y
168-
# CONFIG_RT_USING_POSIX_MMAP is not set
169-
# CONFIG_RT_USING_POSIX_TERMIOS is not set
170-
# CONFIG_RT_USING_POSIX_GETLINE is not set
171-
# CONFIG_RT_USING_POSIX_AIO is not set
156+
172157
# CONFIG_RT_USING_MODULE is not set
173158

174159
#

bsp/stm32/stm32wb55-st-nucleo/board/linker_scripts/link.lds

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* Program Entry, set to mark it as "used" and avoid gc */
66
MEMORY
77
{
8-
ROM (rx) : ORIGIN = 0x08000000, LENGTH = 1024 /* 1024KB flash */
8+
ROM (rx) : ORIGIN = 0x08000000, LENGTH = 1024k /* 1024KB flash */
99
RAM (rw) : ORIGIN = 0x20000000, LENGTH = 192k /* 192KB sram */
1010
}
1111
ENTRY(Reset_Handler)
@@ -153,4 +153,10 @@ SECTIONS
153153
.debug_funcnames 0 : { *(.debug_funcnames) }
154154
.debug_typenames 0 : { *(.debug_typenames) }
155155
.debug_varnames 0 : { *(.debug_varnames) }
156+
157+
.ARM.attributes 0 : { *(.ARM.attributes) }
158+
MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED
159+
MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED
160+
MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED
161+
156162
}

bsp/stm32/stm32wb55-st-nucleo/rtconfig.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
#define RT_USING_DEVICE
4141
#define RT_USING_CONSOLE
4242
#define RT_CONSOLEBUF_SIZE 128
43-
#define RT_CONSOLE_DEVICE_NAME "uart"
43+
#define RT_CONSOLE_DEVICE_NAME "uart1"
4444
#define RT_VER_NUM 0x40003
4545
#define ARCH_ARM
4646
#define RT_USING_CPU_FFS
@@ -74,12 +74,6 @@
7474

7575
/* Device virtual file system */
7676

77-
#define RT_USING_DFS
78-
#define DFS_USING_WORKDIR
79-
#define DFS_FILESYSTEMS_MAX 2
80-
#define DFS_FILESYSTEM_TYPES_MAX 2
81-
#define DFS_FD_MAX 16
82-
#define RT_USING_DFS_DEVFS
8377

8478
/* Device Drivers */
8579

@@ -96,7 +90,7 @@
9690
/* POSIX layer and C standard library */
9791

9892
#define RT_USING_LIBC
99-
#define RT_USING_POSIX
93+
10094

10195
/* Network */
10296

0 commit comments

Comments
 (0)