Cortex-M3 Errata 602117

Sebastian Huber sebastian.huber at embedded-brains.de
Mon May 13 12:47:48 UTC 2019


Hello,

while testing on a NXP LPC1788 it found that this chip is affected by 
the Cortex-M3 Errata 602117. NXP didn't bother to document this in their 
errata sheet for the chip:

https://www.nxp.com/docs/en/errata/ES_LPC177X_8X.pdf

To avoid the issues, you have to compile everything with 
-mfix-cortex-m3-ldrd. This option is enabled by default, if you use 
-mcpu=cortex-m3. Has anyone experienced this problem on other Cortex-M3 
based chips?

I think we have to change our GCC multilibs to account for this errata. 
For example:

diff --git a/gcc/config/arm/t-rtems b/gcc/config/arm/t-rtems
index 026a5895662..e276b4f3e57 100644
--- a/gcc/config/arm/t-rtems
+++ b/gcc/config/arm/t-rtems
@@ -1,7 +1,7 @@
  # Custom RTEMS multilibs for ARM

-MULTILIB_OPTIONS  = mbig-endian mthumb 
march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m/mcpu=cortex-m7 
mfpu=neon/mfpu=vfp/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-d16 
mfloat-abi=hard
-MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r armv7-m cortex-m7 
neon vfp vfpv3-d16 fpv4-sp-d16 fpv5-d16 hard
+MULTILIB_OPTIONS  = mbig-endian mthumb 
march=armv6-m/march=armv7-a/march=armv7-r/mcpu=cortex-m3/mcpu=cortex-m4/mcpu=cortex-m7 
mfpu=neon/mfpu=vfp/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-d16 
mfloat-abi=hard
+MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r cortex-m3 
cortex-m4 cortex-m7 neon vfp vfpv3-d16 fpv4-sp-d16 fpv5-d16 hard

  # Enumeration of multilibs

@@ -16,7 +16,8 @@ MULTILIB_REQUIRED += 
mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard
  MULTILIB_REQUIRED += mthumb/march=armv7-a
  MULTILIB_REQUIRED += mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
  MULTILIB_REQUIRED += mthumb/march=armv7-r
-MULTILIB_REQUIRED += mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard
+MULTILIB_REQUIRED += mthumb/mcpu=cortex-m3
+MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4
+MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4/mfpu=fpv4-sp-d16/mfloat-abi=hard
  MULTILIB_REQUIRED += mthumb/mcpu=cortex-m7/mfpu=fpv5-d16/mfloat-abi=hard
-MULTILIB_REQUIRED += mthumb/march=armv7-m
  MULTILIB_REQUIRED += mthumb

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list