1054
SAM4CP [DATASHEET]
43051E–ATPL–08/14
Problem Fix/Workaround
When entering wait mode, the Wait-For-Event (WFE) instruction of the Cortex-M4 processor must be used while the
SLEEPDEEP bit of the Cortex-M System Control Register (SCB_SCR) is set to 0.
49.4
Enhanced Embedded Flash Controller (EEFC)
49.4.1 EEFC: Erase Sector (ES) Command Cannot be Performed if a Subsector is Locked (Only in Flash sector 0)
If one of the subsectors
small sector 0
small sector 1
larger sector
is locked within the Flash sector 0, the erase sector (ES) command cannot be processed on non-locked subsectors.
Refer to the Flash overview in the “Memories” section of the datasheet.
Problem Fix/Workaround
All the lock bits of the sector 0 must be cleared prior to issuing the ES command. After the ES command has been
issued, the lock bits must be reverted to the state before clearing them.
49.5
Wait For Interrupt (WFI)
49.5.1 Inter Wait-For-Interrupt (WFI)
When entering Sleep mode, if an interrupt occurs during WFI or WFE (PMC_FSMR.LPM=0) instruction processing, the
ARM core may
read an incorrect data, thus leading to unpredictable behavior of the software. This issue is not present in
Wait mode.
Problem Fix/Workaround
One of the following conditions must be satisfied to correct the issue:
1.
2.
The interrupt vector table must be located in Flash and the number of wait state on the flash is > 0.
The interrupt vector table must be located in Flash and the flash wait state = 0, then
the Matrix slave interface for the Flash must be set to ‘No default master’. This is done by setting the field
DEFMSTR_TYPE to 0 in the register MATRIX_SCFG.
The code example below can be used to program the NO_DEFAULT_MASTER state:
MATRIX_SCFG[2] = MATRIX_SCFG_SLOT_CYCLE(0x1FF) | MATRIX_SCFG_DEFMSTR_TYPE(0x0)
This operation must be done once in the software before entering Sleep mode.
49.6
Power Supply and Power Control / Clock System
49.6.1 CORE 1 Systick Clock Input (CPSYSTICK) is Fed by CORE 0 Processor Clock (HCLK)
If the CORE 0 processor clock (HCLK) frequency is higher than 8 times the frequency of the CORE 1 processor clock
(CPHCLK), the systick counter behavior is erratic.
Problem Fix/Workaround
Always ensure that f
HCLK
< 8 x f
CPHCLK