Skip to content

Commit 51a497e

Browse files
committed
Add support for the STM32U545xx SoC, as well as the Nucleo U545RE-Q board.
NOTE: These changes are dependent on changes to the stm32u5 HAL module, documented in zephyrproject-rtos/hal_stm32#198. Signed-off-by: Rob Newberry <[email protected]>
1 parent 3fd545b commit 51a497e

17 files changed

+878
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
if(${ZEPHYR_TOOLCHAIN_VARIANT} STREQUAL "zephyr")
4+
set(COMPILER_FULL_PATH ${ZEPHYR_SDK_INSTALL_DIR}/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc)
5+
elseif(${ZEPHYR_TOOLCHAIN_VARIANT} STREQUAL "gnuarmemb")
6+
set(COMPILER_FULL_PATH ${GNUARMEMB_TOOLCHAIN_PATH}/bin/arm-none-eabi-gcc)
7+
endif()
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2021 Linaro Limited
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_NUCLEO_U545RE_Q
5+
select SOC_STM32U545XX
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
* Copyright (c) 2021 Linaro Limited
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
arduino_header: connector {
9+
compatible = "arduino-header-r3";
10+
#gpio-cells = <2>;
11+
gpio-map-mask = <0xffffffff 0xffffffc0>;
12+
gpio-map-pass-thru = <0 0x3f>;
13+
gpio-map = <0 0 &gpioa 3 0>, /* A0 */
14+
<1 0 &gpioa 2 0>, /* A1 */
15+
<2 0 &gpioc 3 0>, /* A2 */
16+
<3 0 &gpiob 0 0>, /* A3 */
17+
<4 0 &gpioc 1 0>, /* A4 */
18+
<5 0 &gpioc 0 0>, /* A5 */
19+
<6 0 &gpiog 8 0>, /* D0 */
20+
<7 0 &gpiog 7 0>, /* D1 */
21+
<8 0 &gpiof 15 0>, /* D2 */
22+
<9 0 &gpioe 13 0>, /* D3 */
23+
<10 0 &gpiof 14 0>, /* D4 */
24+
<11 0 &gpioe 11 0>, /* D5 */
25+
<12 0 &gpioe 9 0>, /* D6 */
26+
<13 0 &gpiof 13 0>, /* D7 */
27+
<14 0 &gpiof 12 0>, /* D8 */
28+
<15 0 &gpiod 15 0>, /* D9 */
29+
<16 0 &gpiod 14 0>, /* D10 */
30+
<17 0 &gpioa 7 0>, /* D11 */
31+
<18 0 &gpioa 6 0>, /* D12 */
32+
<19 0 &gpioa 5 0>, /* D13 */
33+
<20 0 &gpiob 9 0>, /* D14 */
34+
<21 0 &gpiob 8 0>; /* D15 */
35+
};
36+
};
37+
38+
arduino_i2c: &i2c1 {};
39+
arduino_spi: &spi1 {};
40+
arduino_serial: &lpuart1 {};

boards/st/nucleo_u545re_q/board.cmake

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#board_runner_args(stm32cubeprogrammer "--erase" "--port=swd" "--reset-mode=hw")
2+
#board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
3+
4+
#board_runner_args(openocd "--tcl-port=6666")
5+
#board_runner_args(openocd --cmd-pre-init "gdb_report_data_abort enable")
6+
#board_runner_args(openocd "--no-halt")
7+
8+
#board_runner_args(pyocd "--target=stm32u545retx")
9+
#board_runner_args(jlink "--device=STM32U545RE" "--reset-after-load")
10+
board_runner_args(jlink "--device=STM32U545RE" "--speed=4000")
11+
12+
#include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
13+
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
14+
#include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
15+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/st/nucleo_u545re_q/board.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
board:
2+
name: nucleo_u545re_q
3+
vendor: st
4+
socs:
5+
- name: stm32u545xx

0 commit comments

Comments
 (0)