From c4ee315a20e41c234d2d0f7ca3ed7e37a09b9d32 Mon Sep 17 00:00:00 2001 From: Ian McIntyre Date: Sun, 9 Nov 2025 11:53:17 -0500 Subject: Add builder API for FlexRAM bank layout The layout, or assignment of FlexRAM banks to memory regions, is more precise than the count. When a user specifies the count, we still apply the same layout as we always have. But now, by default, we prefer the fuse layout for users who have made no choice. This commit supports RAM loading with probe-rs. After probe-rs resets the MCU and uses the fuse FlexRAM layout, firmware can perfectly match that layout without disrupting the data already copied into RAM by the debugger. --- src/lib.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 7ec6557..ab55627 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -139,11 +139,13 @@ //! //! # Limitations //! -//! The crate considers the assignment of FlexRAM memory banks to ITCM/DTCM/OCRAM -//! an implementation detail. Additionally, the implementation does not care -//! about the assignment of memory bank power domains. This seems to matter most on -//! the 1050, which has the widest spread of bank-to-power domain assignment -//! (according to AN12077). +//! By default, the crate considers the assignment of FlexRAM memory banks to +//! ITCM/DTCM/OCRAM an implementation detail. If you must define the assignment, +//! you can specify your own layout by using [`flexram_layout`](RuntimeBuilder::flexram_layout). +//! +//! Additionally, the implementation does not care about the assignment of memory bank power +//! domains. This seems to matter most on the 1050, which has the widest spread of bank-to-power +//! domain assignment (according to AN12077). //! //! There is no support for ECC on 1160 or 1170. The runtime assumes that OCRAM and TCM ECC //! is disabled, and that the corresponding memory banks can be used for OCRAM. -- cgit v1.2.3