要测试,先超频。为了使FLX6410能在1GHz频率下稳定可靠的运行,需要提高CPU的核心电压,由于板上设有PMIC,提高核电压就是通过I2C修改个PMIC寄存器的值就可以了,这个可以直接在uboot下面操作,免去改代码的麻烦;超频到1GHz同样也可以在uboot中通过命令修改S3C6410的相关寄存器实现。 在原来bootcmd的环境变量前加入“imw 0x16 0x10 0xff;mw 0x7e00f00c 0xc1f40301;”就可以在uboot启动内核前把CPU的核心电压提高到1.35V,主频超到1GHz了。启动内核,查看输出信息:
确认FLX6410已经运行在1GHz的主频上了。板子启动后通过ssh登录,再确认一下板子运行的频率:
OK,测试可以正式开始了,结果如下:
对比之前800MHz时的36MB/S的速度,这个42MB/S的速度整整提高了16.7%,已经排除了测试误差造成的了。由此基本可以说明S3C6410的ATA接口在UDMA66模式下的最大传输速率最终受限于CPU本身的IO处理能力。在1GHz的主频,512MB mDDR333,2.6.38.2的linux内核的条件下,S3C6410的ATA接口的最大吞吐量是42MB/S,是UDMA66理论极限的63.6%,这个对于S3C6410这种主要针对手持设备的嵌入式SOC来说,应该是个很不错的结果了,该速度完全可以把6410的其他外设接口给秒了。而对6410来说,这么个高性能的接口竟然被当成了摆设,除了可惜还能说啥呢。