From 482ff7545d66859709131637c547446b7decf505 Mon Sep 17 00:00:00 2001 From: Tyler Potyondy Date: Fri, 30 Jan 2026 16:48:35 -0800 Subject: [PATCH] boards: add stm32wle5jc to known boards This adds the stm32wle5jc chip used in the seeed_studio_lora-E5-HF dev board to tockloader's known board list. Communication intended to occur using stlink over openocd. --- tockloader/board_interface.py | 11 +++++++++++ tockloader/openocd.py | 6 ++++++ tockloader/tockloader.py | 3 +++ 3 files changed, 20 insertions(+) diff --git a/tockloader/board_interface.py b/tockloader/board_interface.py index a133059..c6c667f 100644 --- a/tockloader/board_interface.py +++ b/tockloader/board_interface.py @@ -317,6 +317,17 @@ class BoardInterface: "no_attribute_table": True, "linkserver": {"device": "LPC55S69"}, }, + "stm32wle5jc": { + "description": "Seeed Studio LoRa-E5 board based on the STM32WLE5JC SoC", + "arch": "cortex-m4", + "page_size": 2048, + "no_attribute_table": True, + "openocd": { + "prefix": "source [find interface/stlink.cfg]; \ + transport select hla_swd; \ + source [find target/stm32wlx.cfg];", + }, + }, } def __init__(self, args): diff --git a/tockloader/openocd.py b/tockloader/openocd.py index 3274234..62cc9d5 100644 --- a/tockloader/openocd.py +++ b/tockloader/openocd.py @@ -248,6 +248,11 @@ def _list_emulators(self): openocd_cmd=self.openocd_cmd ) ) + openocd_commands.append( + '{openocd_cmd} -c "source [find interface/stlink.cfg]; transport select hla_swd; source [find target/stm32wlx.cfg]; init; exit;"'.format( + openocd_cmd=self.openocd_cmd + ) + ) # These are the magic strings in the output of openocd we are looking # for. If there is a better way to do this then we should change. But, @@ -259,6 +264,7 @@ def _list_emulators(self): ("(mfg: 0x049 (Xilinx), part: 0x3631, ver: 0x1)", "arty"), ("SWD DPIDR 0x2ba01477", "microbit_v2"), ("stm32f4x.cpu", "stm32f4discovery"), + ("stm32wlx.cpu", "stm32wle5jc"), ] emulators = [] diff --git a/tockloader/tockloader.py b/tockloader/tockloader.py index 0d08c36..aff084e 100644 --- a/tockloader/tockloader.py +++ b/tockloader/tockloader.py @@ -150,6 +150,9 @@ class TockLoader: "lpc55s69": { "start_address": 0x20000, }, + "stm32wle5jc": { + "start_address": 0x8018000, + }, }, }