We recently discovered a bug in the MAM block and it affects the LPC213x family, description of which is provided below. The Errata sheet (for this family) has been updated and is on its way for publishing. -------------------------------------------------------------------- MAM.1 Incorrect read of data from SRAM while code is running from Flash and MAM is disabled Introduction: The Memory Accelerator Module (MAM) provides nearly zero-wait state execution from the on-chip flash at higher frequencies. Problem: While code is running from the on-chip Flash, if a data fetch is initiated from SRAM, the data read might be corrupted. Work-around: There are two possible workarounds: 1. Fully enable the MAM (MAMCR=0x2) and use the appropriate MAMTIM value. Enabling the MAM will reduce current consumption (since the MAM buffers four ARM or eight Thumb instructions with each Flash fetch) and also provide nearly zero-wait state execution from Flash above 20MHz. 2. Disable MAM (MAMCR=0x0) and set MAMTIM=0x1. If the MAM is disabled, this will lead to increased current consumption as each fetch will result in a read of the Flash memory. In addition, it limits execution out of Flash to 20MHz. This approach would however provide deterministic behaviour. The first workaround is the recommended solution as the application can achieve considerable power savings and also does not put any restriction on the operating frequency. --------------------------------------------------------------------- Best Regards, Philips Apps
Message
MAM bug in the LPC213x
2005-07-12 by philips_apps
Attachments
- No local attachments were found for this message.