|
如果你希望保留 D-Cache 的加速效果,同时保证 USB 数据传输的一致性,建议将 USB 内存区域配置为 Non-cacheable 或 Write-Through。 以下是两种常用的配置方式: 方案一:配置为 Non-cacheable(推荐用于 DMA 频繁访问的区域)[size=12.573px]c
MPU->RBAR = ARM_MPU_RBAR(9, 0x80E00000);MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 0, 1, 0, ARM_MPU_REGION_SIZE_8MB);
参数说明:
ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 0, 1, 0, ...) 方案二:配置为 Write-Through(可缓存但立即写回)[size=12.573px]c
MPU->RBAR = ARM_MPU_RBAR(9, 0x80E00000);MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 1, 0, 0, 0, ARM_MPU_REGION_SIZE_8MB);
参数说明:
TEX=0, S=1, C=0, B=0 → Write-Through |