From 28919abb17fb645c9c5e89af44f9df85b8635e86 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Tue, 14 Oct 2025 17:37:23 +0200 Subject: [PATCH] qemu/boards: Add new MPS3_AN547 board definition. This is a Cortex-M55 board. Signed-off-by: iabdalkader --- ports/qemu/boards/MPS3_AN547/mpconfigboard.mk | 16 ++++++ ports/qemu/mcu/arm/mps3.ld | 49 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 ports/qemu/boards/MPS3_AN547/mpconfigboard.mk create mode 100644 ports/qemu/mcu/arm/mps3.ld diff --git a/ports/qemu/boards/MPS3_AN547/mpconfigboard.mk b/ports/qemu/boards/MPS3_AN547/mpconfigboard.mk new file mode 100644 index 0000000000..772853935b --- /dev/null +++ b/ports/qemu/boards/MPS3_AN547/mpconfigboard.mk @@ -0,0 +1,16 @@ +QEMU_ARCH = arm +QEMU_MACHINE = mps3-an547 + +CFLAGS += -mthumb -mcpu=cortex-m55 -mfloat-abi=hard -mfpu=fpv5-d16 +CFLAGS += -DQEMU_SOC_MPS3 +CFLAGS += -DMICROPY_HW_MCU_NAME='"Cortex-M55"' +CFLAGS += -DCPU_FREQ_HZ=32000000 + +LDSCRIPT = mcu/arm/mps3.ld + +SRC_BOARD_O = shared/runtime/gchelper_generic.o + +MPY_CROSS_FLAGS += -march=armv7emdp + +MICROPY_FLOAT_IMPL ?= double +SUPPORTS_HARDWARE_FP_DOUBLE ?= 1 diff --git a/ports/qemu/mcu/arm/mps3.ld b/ports/qemu/mcu/arm/mps3.ld new file mode 100644 index 0000000000..6a576f355f --- /dev/null +++ b/ports/qemu/mcu/arm/mps3.ld @@ -0,0 +1,49 @@ +/* This file is part of the MicroPython project, http://micropython.org/ + * The MIT License (MIT) + * Copyright (c) 2018 Damien P. George + */ + +MEMORY +{ + ITCM : ORIGIN = 0x00000000, LENGTH = 512K + RAM : ORIGIN = 0x01000000, LENGTH = 2M +} + +_estack = ORIGIN(RAM) + LENGTH(RAM); + +SECTIONS +{ + .isr_vector : { + KEEP(*(.isr_vector)) + . = ALIGN(4); + } > ITCM + + .text : { + *(.text*) + *(.rodata*) + . = ALIGN(4); + *(.ARM.exidx*) + . = ALIGN(4); + _etext = .; + _sidata = _etext; + } > RAM + + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; + *(.data*) + . = ALIGN(4); + _edata = .; + } >RAM + + .bss : + { + . = ALIGN(4); + _sbss = .; + *(.bss*) + *(COMMON) + . = ALIGN(4); + _ebss = .; + } >RAM +}