Other Parts Discussed in Thread: HALCOGEN
We are analyzing our vulnerability to the following errata for the TMS570LC4357 MCU:
L2FMC#5 Incorrect data read from flash ECC data memory region, flash OTP memory region, or data flash memory region when configured as "normal" type memory
I appreciate that there is a suggested workaround by using the MPU to configure memory as either "device" or as "strongly ordered" regions. This is not easy for us to do, as we are already making heavy use of our MPU regions to provide isolation for safety-critical code; in fact, we're already in the position of needing to make undesired compromises in the allocations of our MPU regions as it is.
However, it may be that our current usage is already safe from this by default?
My understanding is that an ARM CPU using the ARMv7-R architecture (which I believe includes the TMS570LC4357's ARM Cortex-R5F, correct?) has the memory region of 0xC000:0000 - 0xFFFF:FFFF set as strongly ordered by default.
Since the "Flash ECC, OTP and EEPROM accesses" are listed as being in the range from 0xF000:0000 - 0xF047:FFFF, my understanding is that as long as we _don't_ create an MPU region that encompasses some or all of the 0xF000:0000 - 0xF047:FFFF range, that we are in good shape; is this correct?
Is it relevant that we _do_ have MPU regions covering the normal flash range of 0x0000:0000 - 0x003F:FFFF, and that we are _not_ setting those addresses to be strongly ordered?
--thx