这段时间由于有任务要做,身体也不太好,所以一直没有时间在完成zynq数据处理能力的文档,今天晚上,抽了一晚上时间将相应的资料及实验都整理了出来,剩下的部分等把任务做完后在来折腾。在这里记下今天的历程,权当以后参考 。
由于zynq自身自带本地arm-linux-gnu工具链,因此我就偷了一下懒, 没有去安装mentor公司 的gnu工具链,准备等把这段时间忙完之后再进行相应的折腾。具体工具链如下所示:
由于使用的ubuntu linaro系统,本来我的想法是利用NFS与上位linux系统进行互联,结果我发现digilent公司提供的linaro包里面竟然不支持NFS挂载,如果需要NFS挂载支持的话,可以重新编译linaro源码,在make menuconfig的时候将nfs支持选上,或是选择之前的xilinx公司提供的open linux安装包中,其中有提供NFS挂载,但是该安装包没有本地工具链。
解决的方式只有一种,通过将相应的文件拷到SD卡中的EXT4分区中,这里注意,较早的linux系统是不支持EXT4文件格式的,需要下载较新的系统。在这里可以选用ubuntu 12。04之后的版本,千万不要选红帽企业版5,该版本较早,是没有办法完成SD卡的挂载的。
通过将指纹处理算法文件拷入到sd卡中后,完成makefile文件的设计。具体如下图所示:
由于我 之前做过大量的指纹算法及其移植的研究,分别将其移植至NIOS2,ARM11 6410 WITHOUT MMU,ARM11 6410 WITH MMU以及STM32F429ZET6
处理时间如下:
NIOS2 100MHZ: 30S左右
ARM11 6410 WITHOUT MMU 667MHZ:8秒之内
ARM11 6410 WITH MMU 667MHZ: 2秒
STM32F429ZET6 250MHZ:2秒之内
NIOS2是altera公司的软核,在验证IP核时还是具有很大作用。由于没有打开CACHE,因此其数据处理能力较差。
ARM11 6410 WITHOUT MMU 667MHZ 三星公司的ARM11,在没有运行操作系统的情况下,不打开CACHE(但打开浮点协处理器),其运行速度为8秒
ARM11 6410 WITH MMU 667MHZ 三星公司的ARM11,在没有运行操作系统的情况下,打开CACHE(打开浮点协处理器),其运行速度为2秒,可见cache的强大(该处理器为1级缓存,相对较弱),若想深入研究计算机cache,可以去看CMU和斯坦福的两本相应著作