SLAZ709A October 2017 – June 2025 MSP432E401Y , MSP432E411Y
Data reads can be corrupted when the code address space in the EPI module is used
The external code address space at address 0x1000.0000 is specified for the EPI module using the ECSZ and ECADR fields in the EPI Address Map (EPIADDRMAP). However, data reads can be corrupted when using this address space.
Code cannot be executed from the 0x1000.0000 address space. The EPI address spaces at 0x6000.0000 and 0x8000.0000 can be used instead.
In addition, when reading from EPI memory mapped to the code address space at 0x1000.0000, replace direct EPI memory reads through pointers with calls to the EPIWorkaroundWordRead(), EPIWorkaroundHWordRead() or EPIWorkaroundByteRead() functions depending on the data size for the read operation. Similarly, when writing to the EPI code address space, replace direct writes with calls to the EPIWorkaroundWordWrite(), EPIWorkaroundHWordWrite() or EPIWorkaroundByteWrite() functions. These APIs are new and can be found in Section 1.7. For Keil, IAR, GCC, and Code Bench, these functions are defined as inline functions in the epi.h file in the driverlib folder. For CCS, which doesn’t support this structure, these should be added to a new file placed in the \driverlib directory called epi_workaround_ccs.s, and this file should be added to the project. Note that the new DriverLib APIs and the CCS file mentioned in Section 1.7 are included in the SimpleLink MSP432 SDK.