Skip to content

Commit e88c596

Browse files
authored
Merge pull request #12801 from AGlass0fMilk/add-stm32h745
Add base support for STM32H745
2 parents 053af2d + 5087b6d commit e88c596

File tree

20 files changed

+33329
-0
lines changed

20 files changed

+33329
-0
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
/* mbed Microcontroller Library
2+
* SPDX-License-Identifier: BSD-3-Clause
3+
******************************************************************************
4+
*
5+
* Copyright (c) 2018 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+
16+
#include "PeripheralPins.h"
17+
#include "mbed_toolchain.h"
18+
19+
20+
21+
//*** ADC ***
22+
23+
MBED_WEAK const PinMap PinMap_ADC[] = {
24+
{NC, NC, 0}
25+
};
26+
27+
MBED_WEAK const PinMap PinMap_ADC_Internal[] = {
28+
{NC, NC, 0}
29+
};
30+
31+
//*** DAC ***
32+
33+
MBED_WEAK const PinMap PinMap_DAC[] = {
34+
{NC, NC, 0}
35+
};
36+
37+
//*** I2C ***
38+
39+
MBED_WEAK const PinMap PinMap_I2C_SDA[] = {
40+
{NC, NC, 0}
41+
};
42+
43+
MBED_WEAK const PinMap PinMap_I2C_SCL[] = {
44+
{NC, NC, 0}
45+
};
46+
47+
//*** PWM ***
48+
49+
MBED_WEAK const PinMap PinMap_PWM[] = {
50+
{NC, NC, 0}
51+
};
52+
53+
//*** SERIAL ***
54+
55+
MBED_WEAK const PinMap PinMap_UART_TX[] = {
56+
{NC, NC, 0}
57+
};
58+
59+
MBED_WEAK const PinMap PinMap_UART_RX[] = {
60+
{NC, NC, 0}
61+
};
62+
63+
MBED_WEAK const PinMap PinMap_UART_RTS[] = {
64+
{NC, NC, 0}
65+
};
66+
67+
MBED_WEAK const PinMap PinMap_UART_CTS[] = {
68+
{NC, NC, 0}
69+
};
70+
71+
//*** SPI ***
72+
73+
MBED_WEAK const PinMap PinMap_SPI_MOSI[] = {
74+
{NC, NC, 0}
75+
};
76+
77+
MBED_WEAK const PinMap PinMap_SPI_MISO[] = {
78+
{NC, NC, 0}
79+
};
80+
81+
MBED_WEAK const PinMap PinMap_SPI_SCLK[] = {
82+
{NC, NC, 0}
83+
};
84+
85+
MBED_WEAK const PinMap PinMap_SPI_SSEL[] = {
86+
{NC, NC, 0}
87+
};
88+
89+
//*** CAN ***
90+
91+
MBED_WEAK const PinMap PinMap_CAN_RD[] = {
92+
{NC, NC, 0}
93+
};
94+
95+
MBED_WEAK const PinMap PinMap_CAN_TD[] = {
96+
{NC, NC, 0}
97+
};
98+
99+
//*** QUADSPI ***
100+
101+
MBED_WEAK const PinMap PinMap_QSPI_DATA0[] = {
102+
{NC, NC, 0}
103+
};
104+
105+
MBED_WEAK const PinMap PinMap_QSPI_DATA1[] = {
106+
{NC, NC, 0}
107+
};
108+
109+
MBED_WEAK const PinMap PinMap_QSPI_DATA2[] = {
110+
{NC, NC, 0}
111+
};
112+
113+
MBED_WEAK const PinMap PinMap_QSPI_DATA3[] = {
114+
{NC, NC, 0}
115+
};
116+
117+
MBED_WEAK const PinMap PinMap_QSPI_SCLK[] = {
118+
{NC, NC, 0}
119+
};
120+
121+
MBED_WEAK const PinMap PinMap_QSPI_SSEL[] = {
122+
{NC, NC, 0}
123+
};
124+
125+
//*** USBDEVICE ***
126+
127+
MBED_WEAK const PinMap PinMap_USB_FS[] = {
128+
{NC, NC, 0}
129+
};
130+
131+
//*** USBDEVICE ***
132+
133+
MBED_WEAK const PinMap PinMap_USB_HS[] = {
134+
{NC, NC, 0}
135+
};
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/* mbed Microcontroller Library
2+
* SPDX-License-Identifier: BSD-3-Clause
3+
******************************************************************************
4+
*
5+
* Copyright (c) 2018 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+
16+
#ifndef MBED_PINNAMES_H
17+
#define MBED_PINNAMES_H
18+
19+
#include "cmsis.h"
20+
#include "PinNamesTypes.h"
21+
22+
#ifdef __cplusplus
23+
extern "C" {
24+
#endif
25+
26+
typedef enum {
27+
ALT0 = 0x100,
28+
ALT1 = 0x200,
29+
ALT2 = 0x300,
30+
ALT3 = 0x400,
31+
ALT4 = 0x500
32+
} ALTx;
33+
34+
typedef enum {
35+
36+
// ADC internal channels
37+
ADC_TEMP = 0xF0,
38+
ADC_VREF = 0xF1,
39+
ADC_VBAT = 0xF2,
40+
41+
// Arduino connector namings
42+
43+
// STDIO for console print
44+
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
45+
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
46+
#else
47+
STDIO_UART_TX = 0, // Virtual Com Port
48+
#endif
49+
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
50+
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
51+
#else
52+
STDIO_UART_RX = 0, // Virtual Com Port
53+
#endif
54+
55+
// Generic signals namings
56+
LED1 = 0, // platform/source/mbed_board.c
57+
58+
// Standardized button names
59+
// BUTTON1 = USER_BUTTON,
60+
61+
62+
USBTX = STDIO_UART_TX, // hal/mbed_pinmap_default.cpp
63+
USBRX = STDIO_UART_RX, // hal/mbed_pinmap_default.cpp
64+
65+
// I2C_SCL = D15,
66+
// I2C_SDA = D14,
67+
// SPI_MOSI = D11,
68+
// SPI_MISO = D12,
69+
// SPI_SCK = D13,
70+
// SPI_CS = D10,
71+
// PWM_OUT = D9,
72+
73+
// Not connected
74+
NC = (int)0xFFFFFFFF
75+
} PinName;
76+
77+
#ifdef __cplusplus
78+
}
79+
#endif
80+
81+
#endif

targets/TARGET_STM/TARGET_STM32H7/TARGET_STM32H745xI/TARGET_GENERIC_H745I/TARGET_GENERIC_H745I_CM4/TOOLCHAIN_ARM_STD/startup_stm32h745xx.S

Lines changed: 574 additions & 0 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#! armcc -E
2+
; Scatter-Loading Description File
3+
;******************************************************************************
4+
;* @attention
5+
;*
6+
;* Copyright (c) 2019 STMicroelectronics.
7+
;* All rights reserved.
8+
;*
9+
;* This software component is licensed by ST under BSD 3-Clause license,
10+
;* the "License"; You may not use this file except in compliance with the
11+
;* License. You may obtain a copy of the License at:
12+
;* opensource.org/licenses/BSD-3-Clause
13+
;*
14+
;******************************************************************************
15+
16+
#if !defined(MBED_APP_START)
17+
#define MBED_APP_START 0x08100000
18+
#endif
19+
20+
#if !defined(MBED_APP_SIZE)
21+
#define MBED_APP_SIZE 0x100000
22+
#endif
23+
24+
#if !defined(MBED_BOOT_STACK_SIZE)
25+
#define MBED_BOOT_STACK_SIZE 0x400
26+
#endif
27+
28+
#define Stack_Size MBED_BOOT_STACK_SIZE
29+
30+
#define MBED_RAM_START 0x10000000
31+
#define MBED_RAM_SIZE 0x48000
32+
#define MBED_VECTTABLE_RAM_START (MBED_RAM_START)
33+
#define MBED_VECTTABLE_RAM_SIZE 0x298
34+
#define MBED_RAM0_START (MBED_VECTTABLE_RAM_START + MBED_VECTTABLE_RAM_SIZE)
35+
#define MBED_RAM0_SIZE (MBED_RAM_SIZE - MBED_VECTTABLE_RAM_SIZE)
36+
37+
LR_IROM1 MBED_APP_START MBED_APP_SIZE { ; load region size_region
38+
39+
ER_IROM1 MBED_APP_START MBED_APP_SIZE { ; load address = execution address
40+
*.o (RESET, +First)
41+
*(InRoot$$Sections)
42+
.ANY (+RO)
43+
}
44+
45+
RW_IRAM1 (MBED_RAM0_START) (MBED_RAM0_SIZE-Stack_Size) { ; RW data
46+
.ANY (+RW +ZI)
47+
}
48+
49+
ARM_LIB_STACK (MBED_RAM0_START+MBED_RAM0_SIZE) EMPTY -Stack_Size { ; stack
50+
}
51+
}

0 commit comments

Comments
 (0)