This errata sheet applies to the revision A and Y of STMicroelectronics STM32F427/437
and STM32F429/439 microcontroller lines.
The STM32F42xx and STM32F43xx devices feature an ARM
FPU, for which an errata notice is also available (see Section 1 for details).
The full list of part numbers is shown in Table 2. The products are identifiable as shown in
Table 1:
•by the revision code marked below the order code on the device p ackage
•by the last three digits of the Internal order code printed on the box label
Order codeRevision code marked on device
Table 1. Device identification
®
32-bit Cortex™-M4 core with
(1)
(2)
STM32F427xx, STM32F429xx
STM32F437xx, STM32F439xx
1. The REV_ID bits in the DBGMCU_IDCODE register show the revision code of the device (see the RM0090
STM32F4xx reference manual for details on how to find the revision code).
2. Refer to Appendix A: Revision code on device marking for details on how to identify the revision code and
the date code on the different packages.
STM32F42xx and STM32F43xxARM 32-bit Cortex-M4 with FPU limitations
1 ARM 32-bit Cortex-M4 with FPU limitations
An errata notice of the STM32F42xx and STM32F43xx core is available from the following
web address:
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0439b_errata_01/index.html.
All the described limitations are minor and related to the revision r0p1-v1 of the CortexM4
core. Table 3 summarizes these limitations and their implications on the behavior of
STM32F42xx and STM32F43xx devices.
Table 3. Cortex-M4 core limitations and impact on microcontroller behavior
ARM ID
752419Cat 2
ARM
category
ARM summary of errata
Interrupted loads to SP can cause erroneous
behavior
Impact on STM32F42xx
and STM32F43xx
Minor
1.1 Cortex-M4 interrupted loads to stack pointer can cause
erroneous behavior
Description
An interrupt occurring during the data-phase of a single word load to the stack pointer
(SP/R13) can cause an erroneous behavior of the device. In addition, returning from the
interrupt results in the load instruction being executed an additional time.
For all the instructions performing an update of the base register, the base register is
erroneously updated on each execution, resulting in the stack pointer being loaded from an
incorrect memory location.
The instructions affected by this limitation are the following:
•LDR SP, [Rn],#imm
•LDR SP, [Rn,#imm]!
•LDR SP, [Rn,#imm]
•LDR SP, [Rn]
•LDR SP, [Rn,Rm]
Workaround
As of today, no compiler generates these particular instructions. This limitation can only
occur with hand-written assembly code.
Both limitations can be solved by replacing the direct load to the stack pointer by an
intermediate load to a general-purpose register followed by a move to the stack pointer.
Example:
Replace LDR SP, [R0] by
LDR R2,[R0]
MOV SP,R2
DocID023833 Rev 57/36
35
STM32F42xx and STM32F43xx silicon limitationsSTM32F42xx and STM32F43xx
2 STM32F42xx and STM32F43xx silicon limitations
Table 4 gives quick references to all documented limitations.
Legend for Table 4: A = workaround available; N = no workaround available; P = partial
workaround available, ‘-’ and grayed = fixed.
Table 4. Summary of silicon limitations
Links to silicon limitationsRevision A Revision Y
Section 2.1.1: Debugging Stop mode and system tick timerAA
Section 2.1.2: Debugging Stop mode with WFE entryAA
Section 2.1: System
limitations
Section 2.2: IWDG
peripheral limitation
Section 2.3: I2C peripheral
limitations
Section 2.1.3: Wakeup sequence from Standby mode
when using more than one wakeup source
Section 2.1.4: Full JTAG configuration without NJTRST pin
cannot be used
Section 2.1.5: MPU attribute to RTC and IWDG registers
could be managed incorrectly
Section 2.1.6: Delay after an RCC peripheral clock
enabling
Section 2.1.7: Internal noise impacting the ADC accuracyAA
Section 2.1.8: Over-drive and Under-drive modes
unavailability
Section 2.2.1: RVU and PVU flags are not reset in STOP
mode
Section 2.3.1: SMBus standard not fully supportedAA
Section 2.3.2: Start cannot be generated after a misplaced
Stop
Section 2.3.3: Mismatch on the “Setup time for a repeated
Start conditio n” ti ming parameter
Section 2.3.4: Data valid time (tVD;DAT) violated without
the OVR flag being set
Section 2.3.5: Both SDA and SCL maximum rise time (tr)
violated when VDD_I2C bus higher than ((VDD+0.3) /
0.7) V
AA
AA
AA
AA
N
AA
AA
AA
AA
AA
-
Section 2.4: I2S peripheral
limitation
8/36DocID023833 Rev 5
Section 2.4.1: In I2S slave mode, WS level must be set by
the external master when enabling the I2S
AA
STM32F42xx and STM32F43xxSTM32F42xx and STM32F43xx silicon limitations
Table 4. Summary of silicon limitations (continued)
Links to silicon limitationsRevision A Revision Y
Section 2.5: USART
peripheral limitations
Section 2.6: OTG_FS
peripheral limitations
Section 2.5.1: Idle frame is not detected if recei ve r clock
speed is deviated
Section 2.5.2: In full duplex mode, the Parity Error (PE) flag
can be cleared by writing to the data register
Section 2.5.3: Parity Error (PE) flag is not set when
receiving in Mute mode using address mark detection
Section 2.5.4: Break frame is transmitted regardless of
nCTS input line status
Section 2.5.5: nRTS signal abnormally driven low after a
protocol violation
Section 2.6.1: Data in RxFIFO is overwritten when all
channels are disabled simultaneously
Section 2.6.2: OTG host blocks the receive channel when
receiving IN packets and no TxFIFO is configured
Section 2.6.3: Host channel-halted interrupt not generated
when the channel is disabled
Section 2.6.4: Error in software-read OTG_FS_DCFG
register values
Section 2.7.1: Incorrect layer 3 (L3) checksum is inserted
in transmitted IPv6 packets without TCP, UDP or ICMP
payloads
NN
AA
NN
NN
AA
AA
AA
AA
AA
AA
Section 2.7: Ethernet
peripheral limitations
Section 2.8: FMC peripheral
limitation
Section 2.7.2: The Ethernet MAC processes invalid
extension headers in the received IPv6 frames
NN
Section 2.7.3: MAC stuck in the Idle state on receiving the
TxFIFO flush command exactly 1 clock cycle after a
AA
transmission completes
Section 2.7.4: Transmit frame data corruptionAA
Section 2.7.5: Successive write operations to the same
register might not be fully taken into account
Section 2.8.1: Dummy read cycles inserted when reading
synchronous memories
Section 2.8.2: FMC synchronous mode and NWAIT signal
disabled
Section 2.8.3: Read access to a non-initialized
FMC_SDRAM bank
Section 2.8.4: Corruption of data read from the FMCA
Section 2.8.5: Interruption of CPU read burst access to an
end of SDRAM row
AA
NN
AA
PP
-
AA
Section 2.8.6: FMC NOR/PSRAM controller: asynchronous
read access on bank 2 to 4 returns wrong data when bank
AA
1 is in synchronous mode (BURSTEN bit is set)
Section 2.8.7: FMC dynamic and static banks switchingAA
DocID023833 Rev 59/36
35
STM32F42xx and STM32F43xx silicon limitationsSTM32F42xx and STM32F43xx
Table 4. Summary of silicon limitations (continued)
Links to silicon limitationsRevision A Revision Y
Section 2.9.1: SDIO HW flow controlNN
Section 2.9.2: Wrong CCRCFAIL status after a response
without CRC is received
Section 2.9: SDIO
peripheral limitations
Section 2.10: ADC
peripheral limitations
Section 2.11: DAC
peripheral limitations
Section 2.9.3: Data corruption in SDIO clock dephasing
(NEGEDGE) mode
Section 2.9.4: CE-ATA multiple write command and card
busy signal management
Section 2.9.5: No underrun detection with wrong data
transmission
Section 2.10.1: ADC sequencer modification during
conversion
Section 2.11.1: DMA underrun flag management AA
Section 2.11.2: DMA request not automatically cleared by
DMAEN=0
2.1 System limitations
2.1.1 Debugging Stop mode and system tick timer
Description
If the system tick timer interrupt is enabled during the Stop mode debug (DBG_STOP bit set
in the DBGMCU_CR register), it will wake up the system from Stop mode.
AA
NN
AA
AA
AA
AA
Workaround
To debug the Stop mode, disable the system tick timer interrupt.
2.1.2 Debugging Stop mode with WFE entry
Description
When the Stop debug mode is enabled (DBG_STOP bit set in the DBGMCU_CR register),
this allows software debugging during Stop mode.
However, if the application software uses the WFE instruction to enter Stop mode, after
wakeup some instructions could be missed if the WFE is followed by sequential instructions.
This affects only Stop debug mode with WFE entry.
Workaround
To debug Stop mode with WFE entry, the WFE instruction must be inside a dedicated
function with 1 instruction (NOP) between the execution of the WFE and the Bx LR.
Example:
__asm void _WFE(void) {
WFE
10/36DocID023833 Rev 5
STM32F42xx and STM32F43xxSTM32F42xx and STM32F43xx silicon limitations
NOP
BX lr }
2.1.3 Wakeup sequence from Standby mode when using more than
one wakeup source
Description
The various wakeup sources are logically OR-ed in front of the rising-edge detector which
generates the wakeup flag (WUF). The WUF needs to be cleared prior to Standby mode
entry, otherwise the MCU wakes up immediately.
If one of the configured wakeup sources is kept high during the clearing of the WUF (by
setting the CWUF bit), it may mask further wakeup events on the input of the edge detector.
As a consequence, the MCU might not be able to wake up from Standby mode.
Workaround
To avoid this problem, the following sequence should be applied before entering
Standby mode:
•Disable all used wakeup sources,
•Clear all related wakeup flags,
•Re-enable all used wakeup sources,
•Enter Standby mode
Note:Be aware that, when applying this workaround, if one of the wakeup sources is still kept
high, the MCU enters Standby mode but then it wakes up immediately generating a power
reset.
2.1.4 Full JTAG configuration without NJTRST pin cannot be used
Description
When using the JT AG d ebug port in debug mod e, the connection with th e debugger is lost if
the NJTRST pin (PB4) is used as a GPIO. Only the 4-wire JTAG port configuration is
impacted.
Workaround
Use the SWD debug port instead of the full 4-wire JTAG port.
DocID023833 Rev 511/36
35
Loading...
+ 25 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.