Hello Lukas,
Thank you for your reply.
My understanding is that after the bootloader has been uploaded once with its initial value (0x1), it performs another Erase/Write cycle to apply Secure Boot (changing 0x1 → 0x9), and during this process the error appears to occur when the polling method attempts to read that address value.

As you advised, we tried to use a status variable located in RAM. However, we distribute our software as a Hex file. In this case, if we use the address defined in the .map file, the RAM address differs from program to program, making it difficult to unify the writing script. As a result, we concluded that in order to check the Secure Boot, Secure Debug, and Configuration Lock status within the script, we need to use the values defined in the IVT.
Therefore, based on your feedback, instead of applying a 1.5s delay after the HSE upload, we applied a method that checks the HSE_STATUS_INIT_OK flag (bit 24) of the MU0 FSR register. We removed the existing fixed waits (e.g., wait 1.5s, wait 3s), and modified the script so that, after a reset, it polls until that bit is set before proceeding with the flash write (FBL/APP loading). We added this method to every stage following System Reset and Sys.UP. In addition, we plan to change the status-check polling interval for each status from 0.5s to 1.5s. We have also added a wait before the first read after Go. We would greatly appreciate your opinion on whether these timing settings might be insufficient. So far, we have confirmed that writing with this script completes normally without any Fault, and that the device operates correctly when we perform GO after writing.
(We have confirmed that the time it takes for the value at 0x400004 to change from 0x1 to 0x9 is approximately 800ms.)
Regarding the previous issue where a HardFault occurred when the FBL was loaded 0.1s after the HSE was uploaded: when we checked the HSE status values you mentioned, we confirmed that all of them are reported as normal. The program functions also appear to execute correctly. This error (HardFault) appears when we load everything through HSE → FBL → APP and then perform GO. Given this, we would appreciate your opinion on whether it would be advisable to increase the delay time so that GO is executed after writing, as you recommended.
Best regards,