tag 标签: 读写

相关博文
  • 热度 8
    2023-3-23 16:25
    943 次阅读|
    0 个评论
    ​U盘是一种便携的存储介质,可以在不同设备之间传输数据和文件,也可以作为启动或扩展设备,运行、调试和测试不同的操作系统或应用程序。要选择合适的U盘来配合开发板进行项目开发,则需要考虑容量、读写速度、接口类型、兼容性和可靠性等因素。 本文将使用万象奥科基于HD-G2UL-CORE工业级核心板设计的HD-G2UL-EVM评估板为大家演示如何挑选读写速度合适的U盘作为开发板项目开发。 1. 测试结果 表1.1测试结果 U 盘 写 读 海康威视 USB3.064GB 6.0MB/s 22.1MB/s 闪迪 USB3.016GB 10.2MB/s 31.5MB/s 爱国者 USB3.064GB 5.7MB/s 31.5MB/s 金士顿 USB3.032GB 6.5MB/s 33.9MB/s 闪迪 USB2.01GB 9.1MB/s 18.1MB/s 爱国者 USB2.032GB 5.5MB/s 19.6MB/s 从表1.1测试结果中可以看出,USB3.0的U盘在读取速度上都比USB2.0的U盘快,但在写入速度上没有明显差异。其中,闪迪USB3.016GB的U盘在写入和读取速度上都是最快的,分别达到了10.2MB/s和31.5MB/s,其次是金士顿。而海康威视USB3.064GB的U盘在写入速度上是最慢的,只有6.0MB/s,其次是爱国者。 综上所述:如果需要一个容量大、速度快、安全可靠的U盘,可以选择闪迪USB3.016GB的U盘,因为它在写入和读取速度上都是最快的;如果需要一个容量小、速度慢、价格便宜的U盘,可以选择闪迪USB2.01GB的U盘,因为它在写入速度上比其他USB2.0的U盘都要快一些,而且价格较便宜;如果需要一个容量中等、速度一般的U盘,则可以选择金士顿USB3.032GB的U盘,因为它在读取速度上是最快的USB3.0的U盘之一。 2.测试原理 2.1 dd命令 1. Linuxdd命令用于读取、转换并输出数据。 2. dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。 3. 测试指令如下: 写速度测试:ddif=/dev/zeroof=$mount_point/largefilebs=16kcount=16384oflag=direct /proc/sys/vm/drop_caches 读速度测试:ddif=$mount_point/largefileof=/dev/nullbs=16kcount=16384 2.2 dd的相关解释 if代表输入文件。如果不指定if,默认就会从stdin中读取输入。 of代表输出文件。如果不指定of,默认就会将stdout作为默认输出。 bs代表字节为单位的块大小。 count代表被复制的块数。 /dev/zero是一个字符设备,会不断返回0值字节(\0)。 3.测试过程 3.1 硬件准备 HD-G2UL-EVM评估板(512MB+8GB)、网线、Type-c数据线、5V电源适配器、电脑主机。 3.2 测试准备 准备5种以上不同规格品牌U盘,如表3.1所示。 表3.1测试U盘 3.3 测试环境 图3.1测试环境 3.4 读写测试 以读写FAT32文件系统为例,写读大小为256MB的文件。 3.4.1 海康威视USB3.064GB 进行写性能测试...预计写入256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,44.4863s,6.0MB/s 清除缓存... 进行读性能测试...预计读256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,12.1501s,22.1MB/s 测试时长:(0hours1minutes4seconds.) 测试完成! 3.4.2 闪迪USB3.016GB 进行写性能测试...预计写入256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,26.2853s,10.2MB/s 清除缓存... 进行读性能测试...预计读256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,8.51293s,31.5MB/s 测试时长:(0hours0minutes42seconds.) 测试完成! 3.4.3 爱国者USB3.064GB 进行写性能测试...预计写入256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,46.8673s,5.7MB/s 清除缓存... 进行读性能测试...预计读256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,8.53448s,31.5MB/s 测试时长:(0hours1minutes2seconds.) 测试完成! 3.4.4 金士顿USB3.032GB 进行写性能测试...预计写入256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,41.2719s,6.5MB/s 清除缓存... 进行读性能测试...预计读256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,7.92642s,33.9MB/s 测试时长:(0hours0minutes56seconds.) 测试完成! 3.4.5 闪迪USB2.01GB 进行写性能测试...预计写入256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,29.5702s,9.1MB/s 清除缓存... 进行读性能测试...预计读256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,14.809s,18.1MB/s 测试时长:(0hours0minutes51seconds.) 测试完成! 3.4.6 爱国者USB2.032GB 进行写性能测试...预计写入256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,49.1139s,5.5MB/s 清除缓存... 进行读性能测试...预计读256M大小的largefile文件 16384+0recordsin 16384+0recordsout 268435456bytes(268MB)copied,13.6685s,19.6MB/s 测试时长:(0hours1minutes10seconds.) 测试完成!  
  • 热度 20
    2012-12-30 22:38
    12385 次阅读|
    2 个评论
      STM32 FSMC与FPGA 存储器接口 读写  panasonic.lin@163.com FPGA通常作为协处理器,需要和CPU或DSP通信,我想在CPU端看来, FPGA就是一块存储器,写入控制或者数据的寄存器执行命令,然后读取状态或者数据寄存器查询结果。 如果是应用NIOS II的话还方便,直接应用内置的Memory Mapped-Avalon总线就可以了。Quartus II内置的IP好像还没有 合适的,赛灵思XILINX起码还有。如果使用Quartus II的单双端口RAM,同步异步模式都很麻烦。 STM的异步存储器并行总线读写时序很简单,只需要处理nWR,nRD,nCS,AddressBus,DataBus,高低字节半字指示。 读时序(FPGA端): 1.nCS变低,进过地址总线建立时间后,nRD变低,采样解码需要的数据(根据addressbus),再 经过数据建立时间后,送出数据到databus,此前databus是高阻态; 2.databus一直保持数据到nCS变高为止,注意,不是nRD变高 写时序(FPGA端): 1.nCS变低,进过地址总线建立时间后,nWR变低,采样需要的地址(根据addressbus); 2.nWR变高时,采样Databus,根据前面采样的address,写入寄存器。 3.最后,nCS变高。 FPGA端的程序需要注意异步跨时钟域数据交换问题,同步方法可以参考edn特权同学的文章。 刚开始时,STM32端的FSMC接口程序没有设置好时序参数,把地址建立时间设置为0了,也就是说 FSMC 模式A和模式1变成一样了,nRD或者nWR一开始就和nCS一起变低。但是并不能说地址建立时间 就是真的为0了,还是有一段延时的,如果还是继续按在nRD或者nWR的下降沿采样地址总线,得到 的结果是亚稳态的结果。 最佳采样地址总线的时机是在nRD或者nWR下降沿后至上升沿这段时间的中点时刻。                  
相关资源