ZHCZ038A October 2017 – June 2025 MSP432E401Y , MSP432E411Y
使用 EPI 模块中的代码地址空间时,数据的读取可能损坏
使用 EPI 地址映射 (EPIADDRMAP) 中的 ECSZ 和 ECADR 字段来指定地址 0x1000.0000 处的外部代码地址空间以用于 EPI 模块。不过,使用该地址空间时,数据读取可能会损坏。
无法从 0x1000.0000 地址空间执行代码。可以改用 0x6000.0000 和 0x8000.0000 处的 EPI 地址空间。
此外,从映射到 0x1000.0000 处代码地址空间的 EPI 存储器中读取数据时,应根据读操作的数据大小,将通过指针读取的直接 EPI 存储器替换为调用 EPIWorkaroundWordRead()、EPIWorkaroundHWordRead() 或 EPIWorkaroundByteRead() 函数。同样,在写入 EPI 代码地址空间时,将直接写入替换为调用 EPIWorkaroundWordWrite()、EPIWorkaroundHWordWrite() 或 EPIWorkaroundByteWrite() 函数。这些 API 是新的,可以在 节 1.7 中找到。对于 Keil、IAR、GCC 和 Code Bench,这些函数在 driverlib 文件夹中的 epi.h 文件中定义为内联函数。对于不支持此结构的 CCS,应该将它们添加到名为 epi_workaround_ccs.s 的 \driverlib 目录中的新文件中,并且此文件应添加到项目中。请注意,节 1.7 中提到的新 DriverLib API 和 CCS 文件均包含在 SimpleLink MSP432 SDK 中。