STM32WB15CC Rev Z / FUS 2.2.x – Is it possible to make the full 32 KB SRAM2a available to CPU1?
We are seeing different SRAM2a availability between STM32WB15CC devices with different silicon/FUS revisions.
On our older STM32WB15CC devices (silicon Rev B), the device has FUS version 1.2.2.0. On these devices, BRSD_A is set, so the complete 32 KB SRAM2a region (0x20030000–0x20037FFF) is non-secure and available to CPU1.
On newer STM32WB15CC devices (silicon Rev Z), we see FUS version 2.2.0.1. On these devices, the relevant configuration is:
BRSD_A = 0SBRSA_A = 0x1A- Secure SRAM2a therefore starts at
0x20036800 SFSA = 0x8C, corresponding to0x08046000SBR = 0x1180
As a result, only 26 KB of SRAM2a (0x20030000–0x200367FF) appears to be available to CPU1, while the upper 6 KB is secure.
There is no wireless stack installed, and our application does not use the wireless stack/CPU2 functionality.
Our existing production firmware requires the full 32 KB SRAM2a. Reducing the linker region to 26 KB is therefore not a viable workaround.
This has become a production-critical issue for us: our existing units using Rev B devices work correctly, but the newer Rev Z devices currently cannot be used with our production firmware.
For comparison:
Working production devices
- STM32WB15CC Rev B
- FUS: 1.2.2.0
- Full 32 KB SRAM2a available to CPU1
BRSD_A = 1
New devices
- STM32WB15CC Rev Z
- FUS: 2.2.0.1
BRSD_A = 0SBRSA_A = 0x1A- Only 26 KB SRAM2a available to CPU1
Is there an officially supported way to make the full 32 KB SRAM2a available to CPU1 on the Rev Z / FUS 2.2.x devices when no wireless stack or CPU2 functionality is used?
