Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita8b07e4

Browse files
authored
Merge pull request#2875 from fpistm/STDES-MB2095
variant(u3): add STDES-MB2095 support
2 parents474011d +f2ceefa commita8b07e4

File tree

7 files changed

+1091
-6
lines changed

7 files changed

+1091
-6
lines changed

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
206206
|:green_heart:| STM32H747XIHx|[STM32H747I-DISCO](https://www.st.com/en/evaluation-tools/stm32h747i-disco.html)|*2.7.0*||
207207
|:green_heart:| STM32L4S5VI|[B-L4S5I-IOT01A](https://www.st.com/en/evaluation-tools/b-l4s5i-iot01a.html)|*2.0.0*||
208208
|:green_heart:| STM32L562QEIxQ|[STM32L562E-DK](https://www.st.com/en/evaluation-tools/stm32l562e-dk.html)|*2.11.0*||
209+
|:yellow_heart:| STM32U385VGIxQ|[STDES-MB2095](https://www.st.com/en/evaluation-tools/stdes-mb2095.html)|**2.12.0**||
209210
|:green_heart:| STM32U585AIIxQ|[B-U585I-IOT02A](https://www.st.com/en/evaluation-tools/b-u585i-iot02a.html)|*2.1.0*||
210211
|:green_heart:| STM32WB5MMG|[STM32WB5MM-DK](https://www.st.com/en/evaluation-tools/stm32wb5mm-dk.html)|*2.1.0*||
211212

‎boards.txt‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,6 +1386,22 @@ Disco.menu.pnum.B_L4S5I_IOT01A.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
13861386
Disco.menu.pnum.B_L4S5I_IOT01A.openocd.target=stm32l4x
13871387
Disco.menu.pnum.B_L4S5I_IOT01A.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32L4xx/STM32L4S5.svd
13881388

1389+
# STDES_MB2095 board
1390+
Disco.menu.pnum.STDES_MB2095=STDES-MB2095
1391+
Disco.menu.pnum.STDES_MB2095.node="No_mass_storage_for_this_board_Use_STLink_upload_method"
1392+
Disco.menu.pnum.STDES_MB2095.upload.maximum_size=1048576
1393+
Disco.menu.pnum.STDES_MB2095.upload.maximum_data_size=262144
1394+
Disco.menu.pnum.STDES_MB2095.build.mcu=cortex-m33
1395+
Disco.menu.pnum.STDES_MB2095.build.fpu=-mfpu=fpv5-sp-d16
1396+
Disco.menu.pnum.STDES_MB2095.build.float-abi=-mfloat-abi=hard
1397+
Disco.menu.pnum.STDES_MB2095.build.board=STDES_MB2095
1398+
Disco.menu.pnum.STDES_MB2095.build.series=STM32U3xx
1399+
Disco.menu.pnum.STDES_MB2095.build.product_line=STM32U385xx
1400+
Disco.menu.pnum.STDES_MB2095.build.variant=STM32U3xx/U375V(E-G)IxQ_U385VGIxQ
1401+
Disco.menu.pnum.STDES_MB2095.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
1402+
Disco.menu.pnum.STDES_MB2095.openocd.target=stm32u3x
1403+
Disco.menu.pnum.STDES_MB2095.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U385.svd
1404+
13891405
# B_U585I_IOT02A board
13901406
Disco.menu.pnum.B_U585I_IOT02A=B-U585I-IOT02A
13911407
Disco.menu.pnum.B_U585I_IOT02A.node="NOD_U585AI,DIS_U585AI"

‎variants/STM32U3xx/U375V(E-G)IxQ_U385VGIxQ/PeripheralPins_STDES_MB2095.c‎

Lines changed: 578 additions & 0 deletions
Large diffs are not rendered by default.

‎variants/STM32U3xx/U375V(E-G)IxQ_U385VGIxQ/generic_clock.c‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ WEAK void SystemClock_Config(void)
2525
RCC_ClkInitTypeDefRCC_ClkInitStruct= {};
2626
RCC_PeriphCLKInitTypeDefPeriphClkInit= {};
2727

28+
/** Configure the System Power Supply
29+
*/
30+
if (HAL_PWREx_ConfigSupply(PWR_SMPS_SUPPLY)!=HAL_OK) {
31+
Error_Handler();
32+
}
33+
2834
/** Enable Epod Booster
2935
*/
3036
if (HAL_RCCEx_EpodBoosterClkConfig(RCC_EPODBOOSTER_SOURCE_MSIS,RCC_EPODBOOSTER_DIV1)!=HAL_OK) {
@@ -46,11 +52,10 @@ WEAK void SystemClock_Config(void)
4652

4753
/** Initializes the CPU, AHB and APB buses clocks
4854
*/
49-
RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_HSI48 |RCC_OSCILLATORTYPE_HSI
50-
|RCC_OSCILLATORTYPE_LSI |RCC_OSCILLATORTYPE_MSIS;
55+
RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_HSI |RCC_OSCILLATORTYPE_LSI
56+
|RCC_OSCILLATORTYPE_MSIS;
5157
RCC_OscInitStruct.HSIState=RCC_HSI_ON;
5258
RCC_OscInitStruct.HSICalibrationValue=RCC_HSICALIBRATION_DEFAULT;
53-
RCC_OscInitStruct.HSI48State=RCC_HSI48_ON;
5459
RCC_OscInitStruct.LSIState=RCC_LSI_ON;
5560
RCC_OscInitStruct.LSIDiv=RCC_LSI_DIV1;
5661
RCC_OscInitStruct.MSISState=RCC_MSI_ON;
@@ -60,6 +65,7 @@ WEAK void SystemClock_Config(void)
6065
Error_Handler();
6166
}
6267

68+
6369
/** Initializes the CPU, AHB and APB buses clocks
6470
*/
6571
RCC_ClkInitStruct.ClockType=RCC_CLOCKTYPE_HCLK |RCC_CLOCKTYPE_SYSCLK
@@ -77,8 +83,8 @@ WEAK void SystemClock_Config(void)
7783

7884
/** Initializes the peripherals clock
7985
*/
80-
PeriphClkInit.PeriphClockSelection=RCC_PERIPHCLK_DAC1SH |RCC_PERIPHCLK_LPUART1
81-
|RCC_PERIPHCLK_USB1;
86+
PeriphClkInit.PeriphClockSelection=RCC_PERIPHCLK_DAC1SH |RCC_PERIPHCLK_ICLK
87+
|RCC_PERIPHCLK_LPUART1 |RCC_PERIPHCLK_USB1;
8288
PeriphClkInit.Dac1SampleHoldClockSelection=RCC_DAC1SHCLKSOURCE_LSI;
8389
PeriphClkInit.Lpuart1ClockSelection=RCC_LPUART1CLKSOURCE_HSI;
8490
PeriphClkInit.IclkClockSelection=RCC_ICLKCLKSOURCE_HSI48;

‎variants/STM32U3xx/U375V(E-G)IxQ_U385VGIxQ/ldscript.ld‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
**
66
** @author : Auto-generated by STM32CubeIDE
77
**
8-
** @brief : Linker script forSTM32U385VGIx Device from STM32U3 series
8+
** @brief : Linker script forSTM32U385VGIxQ Device from STM32U3 series
99
** 1024KBytes FLASH
1010
** 192KBytes RAM
1111
** 64KBytes RAM2
@@ -46,12 +46,15 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
4646
MEMORY
4747
{
4848
RAM (xrw) :ORIGIN =0x20000000,LENGTH = LD_MAX_DATA_SIZE
49+
/* RAM2 is contiguous to RAM, declare only one block*/
50+
/* RAM2 (xrw) : ORIGIN = 0x20030000, LENGTH = 64K*/
4951
FLASH (rx) :ORIGIN =0x08000000 + LD_FLASH_OFFSET,LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
5052
}
5153

5254
/* Sections*/
5355
SECTIONS
5456
{
57+
5558
/* The startup code into "FLASH" Rom type memory*/
5659
.isr_vector :
5760
{
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
/*
2+
*******************************************************************************
3+
* Copyright (c) 2025, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* This software component is licensed by ST under BSD 3-Clause license,
7+
* the "License"; You may not use this file except in compliance with the
8+
* License. You may obtain a copy of the License at:
9+
* opensource.org/licenses/BSD-3-Clause
10+
*
11+
*******************************************************************************
12+
*/
13+
#if defined(ARDUINO_STDES_MB2095)
14+
#include"pins_arduino.h"
15+
16+
// Digital PinName array
17+
const PinName digitalPin[] = {
18+
PA_12,// D0
19+
PA_11,// D1
20+
PH_3,// D2
21+
PB_1,// D3/A11
22+
PB_13,// D4
23+
PB_10,// D5
24+
PB_11,// D6
25+
PA_14,// D7
26+
PA_13,// D8
27+
PD_0,// D9
28+
PD_1,// D10
29+
PD_15,// D11
30+
PB_9,// D12
31+
PB_6,// D13
32+
PA_15,// D14
33+
PE_13,// D15
34+
PE_15,// D16
35+
PE_14,// D17
36+
PB_3,// D18
37+
PD_5,// D19
38+
PA_6,// D20/A12
39+
PB_2,// D21/A13
40+
PA_9,// D22
41+
PA_10,// D23
42+
PD_14,// D24
43+
PC_0,// D25/A14
44+
PC_1,// D26/A15
45+
PA_2,// D27/A16
46+
PE_0,// D28
47+
PC_7,// D29
48+
PE_8,// D30
49+
PB_8,// D31
50+
PE_9,// D32
51+
PB_4,// D33
52+
PE_5,// D34
53+
PE_4,// D35
54+
PE_7,// D36
55+
PE_6,// D37
56+
PE_2,// D38
57+
PC_12,// D39
58+
PD_2,// D40
59+
PC_8,// D41
60+
PC_9,// D42
61+
PC_10,// D43
62+
PC_11,// D44
63+
PH_0,// D45
64+
PA_4,// D46/A0
65+
PA_5,// D47/A1
66+
PA_3,// D48/A2
67+
PA_0,// D49/A3
68+
PA_1,// D50/A4
69+
PD_13,// D51/A5
70+
PD_12,// D52/A6
71+
PE_10,// D53
72+
PE_12,// D54
73+
PB_0,// D55/A7
74+
PA_7,// D56/A8
75+
PC_6,// D57
76+
PD_4,// D58
77+
PC_2,// D59/A9
78+
PC_3,// D60/A10
79+
PD_7,// D61
80+
PE_3,// D62
81+
PE_11,// D63
82+
PB_5,// D64
83+
PB_7,// D65
84+
PD_11,// D66/A17
85+
PB_15,// D67
86+
PB_14,// D68
87+
PA_8,// D69
88+
PD_8,// D70
89+
PD_9,// D71
90+
PC_14,// D72
91+
PC_15// D73
92+
};
93+
94+
// Analog (Ax) pin number array
95+
constuint32_t analogInputPin[] = {
96+
46,// A0, PA4
97+
47,// A1, PA5
98+
48,// A2, PA3
99+
49,// A3, PA0
100+
50,// A4, PA1
101+
51,// A5, PD13
102+
52,// A6, PD12
103+
55,// A7, PB0
104+
56,// A8, PA7
105+
59,// A9, PC2
106+
60,// A10, PC3
107+
3,// A11, PB1
108+
20,// A12, PA6
109+
21,// A13, PB2
110+
25,// A14, PC0
111+
26,// A15, PC1
112+
27,// A16, PA2
113+
66// A17, PD11
114+
};
115+
116+
// ----------------------------------------------------------------------------
117+
118+
#ifdef __cplusplus
119+
extern"C" {
120+
#endif
121+
122+
/** System Clock Configuration
123+
*/
124+
WEAKvoidSystemClock_Config(void)
125+
{
126+
RCC_OscInitTypeDef RCC_OscInitStruct = {};
127+
RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
128+
RCC_PeriphCLKInitTypeDef PeriphClkInit = {};
129+
130+
/** Configure the System Power Supply
131+
*/
132+
if (HAL_PWREx_ConfigSupply(PWR_SMPS_SUPPLY) != HAL_OK) {
133+
Error_Handler();
134+
}
135+
136+
/** Enable Epod Booster
137+
*/
138+
if (HAL_RCCEx_EpodBoosterClkConfig(RCC_EPODBOOSTER_SOURCE_MSIS, RCC_EPODBOOSTER_DIV1) != HAL_OK) {
139+
Error_Handler();
140+
}
141+
if (HAL_PWREx_EnableEpodBooster() != HAL_OK) {
142+
Error_Handler();
143+
}
144+
145+
/** Configure the main internal regulator output voltage
146+
*/
147+
if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK) {
148+
Error_Handler();
149+
}
150+
151+
/** Set Flash latency before increasing MSIS
152+
*/
153+
__HAL_FLASH_SET_LATENCY(FLASH_LATENCY_2);
154+
155+
/** Configure LSE Drive Capability
156+
*/
157+
HAL_PWR_EnableBkUpAccess();
158+
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
159+
160+
/** Initializes the CPU, AHB and APB buses clocks
161+
*/
162+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48 | RCC_OSCILLATORTYPE_HSI
163+
| RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_LSE
164+
| RCC_OSCILLATORTYPE_MSIS;
165+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
166+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
167+
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
168+
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
169+
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
170+
RCC_OscInitStruct.LSIDiv = RCC_LSI_DIV1;
171+
RCC_OscInitStruct.MSISState = RCC_MSI_ON;
172+
RCC_OscInitStruct.MSISSource = RCC_MSI_RC0;
173+
RCC_OscInitStruct.MSISDiv = RCC_MSI_DIV1;
174+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
175+
Error_Handler();
176+
}
177+
178+
/** Initializes the CPU, AHB and APB buses clocks
179+
*/
180+
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
181+
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2
182+
| RCC_CLOCKTYPE_PCLK3;
183+
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSIS;
184+
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
185+
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
186+
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
187+
RCC_ClkInitStruct.APB3CLKDivider = RCC_HCLK_DIV1;
188+
189+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
190+
Error_Handler();
191+
}
192+
193+
/** Initializes the peripherals clock
194+
*/
195+
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_DAC1SH | RCC_PERIPHCLK_ICLK
196+
| RCC_PERIPHCLK_LPUART1 | RCC_PERIPHCLK_USB1;
197+
PeriphClkInit.Dac1SampleHoldClockSelection = RCC_DAC1SHCLKSOURCE_LSE;
198+
PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_HSI;
199+
PeriphClkInit.IclkClockSelection = RCC_ICLKCLKSOURCE_HSI48;
200+
PeriphClkInit.Usb1ClockSelection = RCC_USB1CLKSOURCE_ICLK;
201+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
202+
Error_Handler();
203+
}
204+
}
205+
#ifdef __cplusplus
206+
}
207+
#endif
208+
#endif/* ARDUINO_STDES_MB2095*/

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp