This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

No USART communication while flash write operation is active

My current Compiler environment is the following:

IDE-Version:
µVision V5.25.2.0
Copyright (C) 2018 ARM Ltd and ARM Germany GmbH. All rights reserved.

Tool Version Numbers:
Toolchain: MDK-ARM Plus: 3 user Version: 5.25.2.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 6 (build 750)
Assembler: Armasm.exe V5.06 update 6 (build 750)
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
CPU DLL: SARMCM3.DLL V5.25.2.0
Dialog DLL: DARMSTM.DLL V1.68.0.0
Target DLL: ULP2CM3.DLL V2.209.20.0
Dialog DLL: TARMSTM.DLL V1.66.0.0

I have to develop a c - program program for a STM32F103 CPU using the ST-Lib source code to access the underlying hardware. I'm using the USART hardware of this chip to do communication with an external device and I have to do write operations to the flash memory provided by the CPU. I also use the SystemClock timer to do time related jobs and I have to do communication using the CAN interface. The system timer generates communication through the USART interface and the program has to read back the response,that the exetrnal device device generates and evaluates the response.

The program doesn't use any RealTime extensions. The function of the program is correct until I do any write operations to the CPU internal flash. While this flash operation is active, the attempt to write a flash memory will bring the serial communication through the USART interface to crash.

My question is now:

Which hardware devices of the CPU are disabled while the flash write operation is active.
What can I do to solve this problem ?

Best regards

idex-corp user