machine/stm32: add STM32U585 target definition and runtime

Add processor target (cortex-m33), linker script (2048K flash, 768K RAM),
and arduino-uno-q board target. Runtime initializes 160MHz clock via PLL1
from HSI16, with PWR Range 1 and EPOD booster.

Also add psctype abstraction for timer PSC register width, needed because
the U5 SVD defines PSC as a 16-bit register.
This commit is contained in:
deadprogram
2026-03-15 15:43:56 +01:00
parent 1f00425eb3
commit 47115f0380
15 changed files with 159 additions and 1 deletions
+7
View File
@@ -0,0 +1,7 @@
{
"inherits": ["stm32u585"],
"build-tags": ["arduino_uno_q"],
"serial": "uart",
"openocd-interface": "stlink",
"openocd-target": "stm32u5x"
}
+16
View File
@@ -0,0 +1,16 @@
{
"inherits": [
"cortex-m33"
],
"build-tags": [
"stm32u585",
"stm32u5",
"stm32"
],
"extra-files": [
"src/device/stm32/stm32u585.s"
],
"linkerscript": "targets/stm32u585.ld",
"flash-method": "openocd",
"openocd-target": "stm32u5x"
}
+10
View File
@@ -0,0 +1,10 @@
MEMORY
{
FLASH_TEXT (rw) : ORIGIN = 0x08000000, LENGTH = 2048K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 768K
}
_stack_size = 4K;
INCLUDE "targets/arm.ld"