[X]关闭
1

米联客(MSXBO)MZ7035FB FEP Nvme SSD 卡测试

摘要: 1、概述NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),是一个逻辑设备接口规范。他是与AHCI类似的、基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层),用 ...

1、概述
NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),是一个逻辑设备接口规范。他是与AHCI类似的、基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层),用于访问通过PCI-Express(PCIe)总线附加的非易失性内存介质,虽然理论上不一定要求 PCIe 总线协议。
此规范目的在于充分利用PCI-E通道的低延时以及并行性,还有当代处理器、平台与应用的并行性,在可控制的存储成本下,极大的提升固态硬盘的读写性能,降低由于AHCI接口带来的高延时,彻底解放SATA时代固态硬盘的极致性能。
       基于MZ7035FB我们设计了一款PCIE NVME FEP卡,用于NVME测试。
2、搭建FPGA BD工程
主要对PCIE核的设置说明,其他的不再说明
4、XDC约束文件
5、导入到SDK

5、配置kernel
1)、在路径osrc-lab/scripts/执行source settings64.sh
2)、在路径osrc-lab/sources/kernel/ 执行make menuconfig ARCH=arm
3)、配置NVME驱动,配置好后报存退出
3)、在路径osrc-lab/scripts/kernel 执行save_ kernel _config.sh保存配置。
6、修改设备树
/ {
         amba_pl: amba_pl {
                   #address-cells = <1>;
                   #size-cells = <1>;
                   compatible = "simple-bus";
                   ranges ;
                   axi_pcie_0: axi-pcie@40000000 {
                            #address-cells = <3>;
                            #interrupt-cells = <1>;
                            #size-cells = <2>;
                            clock-names = "REFCLK";
                            clocks = <&misc_clk_0>;
                            compatible = "xlnx,axi-pcie-2.9", "xlnx,axi-pcie-host-1.00.a";
                            device_type = "pci";
                            interrupt-map = <0 0 0 1 &pcie_intc_0 1>, <0 0 0 2 &pcie_intc_0 2>, <0 0 0 3 &pcie_intc_0 3>, <0 0 0 4 &pcie_intc_0 4>;
                            interrupt-map-mask = <0 0 0 7>;
                            interrupt-names = "interrupt_out";
                            interrupt-parent = <&intc>;
                            interrupts = <0 29 4>;
                            ranges = <0x02000000 0x00000000 0x80000000 0x80000000 0x00000000 0x04000000>;
                            reg = <0x40000000 0x2000000>;
                            pcie_intc_0: interrupt-controller {
                                     #address-cells = <0>;
                                     #interrupt-cells = <1>;
                                     interrupt-controller ;
                            };
                   };
                   misc_clk_0: misc_clk_0 {
                            #clock-cells = <0>;
                            clock-frequency = <100000000>;
                            compatible = "fixed-clock";
                   };
         };
};
7、编译并且部署系统到TF卡进行测试
1)、get_hw_description.sh
2)、make_uboot.sh
3)、make_kernel.sh
4)、create_image.sh
插入TF卡
5)、make_parted.sh
6)、deploy_image.sh
完成卡的制作
但是需要对uEnv.txt修改增加cma=128M

8、测试
弹出Tf卡一定不要带电插拔,把TF卡插入到开发板,上电启动。
1)、查看设备节点
输入名令: cd /dev
           ls
可以看到设备节点
2 )、查看磁盘
输入命令: fdisk -l
即可看到磁盘的大小
3 )、格式化SSD
       fdisk /dev/nvme0n1
4 )、测试读速度
       time dd if=/dev/zero of=/dev/nvme0n1 bs=2M count=1024
5 )、测试写速度
       time dd if=/dev/nvme0n1 of=/dev/null bs=2M count=1024


路过

雷人

握手

鲜花

鸡蛋
发表评论

最新评论

引用 I'mpossible 2020-4-1 16:23
感谢分享

查看全部评论(1)

本文作者
2019-9-6 18:39
  • 7
    粉丝
  • 2787
    阅读
  • 1
    回复

关注米联客

扫描关注,了解最新资讯

联系人:汤经理
电话:0519-80699907
EMAIL:270682667@qq.com
地址:常州溧阳市天目云谷3号楼北楼201B
相关分类
热门评论
排行榜