|
本帖最后由 zhdx 于 2019-3-13 14:55 编辑 " k* i; e) H% Z/ J9 T; e) v' c * O; T- w1 _; `; q) Q 环境, Keil 编译器 gnu v6.11, 编译选项-Os balanced , LTO * I) i1 A! {2 K) U$ o* x( D 启用ICache, DCache, MPU对SDRAM区域的策略是 MPU_ACCESS_CACHEABLE0 X3 B5 M8 f0 X2 N: g CPU频率400Mhz , FMC时钟200Mhz (CubeMX配置是这么显示的)8 i; Z Y& A# P 测试方法是, 在固定的一个位置, 要么是SRAM区域, 要么是SDRAM内 (未测DTCM) 生成一块 2K, 16K, 256K 的src数据, 往SDRAM里连续而不同的地址区域复制多次达到24MB的写入量 然后再对写入的内容进行检查 结果如下: src数据放在 SRAM 2K 复制 45MB/s 16K 复制 133MB/s 256K 复制 177MB/s3 D! W; ]: B2 y3 q src数据放在 SDRAM 6 ?0 K: W/ |& z& N5 G2 d 2K 复制 24MB/s! d& U* u1 r3 ]! x 16K 复制 37MB/s3 T% C. f6 P# j2 L6 d4 N9 V) X' H. D 256K 复制 40MB/s # D8 _0 r6 }9 {; f& ]3 j) B. g2 j 写SDRAM要比读SDRAM快很多. 暂时未作严谨的读测试.+ q, S |, k6 o* b2 s8 A ' c. |: j& D- _# H6 y |
微信公众号
手机版