HeroKern
码龄10年
关注
提问 私信
  • 博客:6,671,685
    社区:5,365
    问答:155,608
    6,832,658
    总访问量
  • 70
    原创
  • 26,137
    排名
  • 5,499
    粉丝
  • 91
    铁粉
  • 学习成就

个人简介:精通高速存储方案 V:yolov8

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2014-10-09
博客简介:

Herok

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,926
    当月
    13
个人成就
  • 博客专家认证
  • 获得2,178次点赞
  • 内容获得125次评论
  • 获得5,336次收藏
  • 代码片获得418次分享
创作历程
  • 6篇
    2024年
  • 3篇
    2022年
  • 6篇
    2021年
  • 9篇
    2020年
  • 15篇
    2019年
  • 16篇
    2018年
  • 4篇
    2017年
  • 14篇
    2016年
  • 6篇
    2015年
成就勋章
联系方式

微信号:yolov8

创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

exfat文件系统windows不能识别

发布问题 2024.07.31 ·
1 回答

FPGA SATA高速存储设计

今天来讲一篇如何在fpga上实现sata ip,然后利用sata ip实现读写sata 盘的目的,如果需要再速度和容量上增加,那么仅仅需要增加sata ip个数就能够实现增加sata盘,如果仅仅实现data的读写整体来说sata ip设计比较简单,下面从sata 协议角度来聊聊sata ip应该如何实现。下图就是在FPGA上实现3张SATA SSD硬盘组成RAID0的结构图。
原创
发布博客 2024.06.26 ·
2092 阅读 ·
14 点赞 ·
5 评论 ·
41 收藏

FPGA NVME高速存储设计

690T高速存储硬件设计框图如下,switch下面挂载6张ssd,一路x8 到fpga host,1路x8到fpga ep,pcie端采用nvme ip实现ssd盘的读写,40Gbps以太网数据,以及多通道的srio和GTX数据,整个架构中最核心的就是nvme ip,nvme ip扮演了大脑的角色,负责枚举ssd,分配地址,以及nvme协议处理等。关于nvme ip资源消耗情况,目前整个高速存储使用的资源如下,其实代码中有个细节可以优化很多bram接口,因为前期设计考虑冗余了,导致资源消耗过多。
原创
发布博客 2024.06.22 ·
1108 阅读 ·
5 点赞 ·
0 评论 ·
14 收藏

zynq qemu模拟器环境搭建

qemu是硬件模拟器,方便有些同学没得开发板想验证一些driver是否在指定板卡上可以测试,qemu就实现了该功能,选择qemu模拟器最好是选择cpu厂商指定qemu源码,这样测试结果更加逼真。方法二:通过peatalinux工具和xsa硬件描述文件生成zImage和dts,rootfs文件等,这种方法比较常见,因为xsa文件通过vivado生成,在有真实的硬件环境,开发流程可以保持一致。通过petalinux编译生成的zImage,dtb和rootfs后,就可以启动qemu。2. 准备内核和dtb文件。
原创
发布博客 2024.06.16 ·
1339 阅读 ·
11 点赞 ·
0 评论 ·
22 收藏

ubuntu22.04 修改内核源码教程

sudo make menuconfig ##什么都不用做 就保存。sudo make -jn #n就是上面查找的CPU核数量。到此为止就编译完成了,然后重启电脑就要可以看到修改的源码已经生效。2. 去ubuntu官网下载对应版本内核源码。将下图箭头部分配置成空,不然编译会报错。1. 确认当前内核版本。修改源码后开始编译代码。
原创
发布博客 2024.04.28 ·
1157 阅读 ·
6 点赞 ·
0 评论 ·
13 收藏

zynq多host高速存储方案设计

前面文章讲解了《zynq高速存储方案》,那种方案是针对单个pcie host设计的方案,当项目需求记录速度很高,并且没有国产化要求时,可以考虑使用Zynq UltraScale+ 系列的ZU11EG芯片,该芯片成本低,且支持4个PCIe硬核,可以将该4个pcie都配置成host模式,在每个host下挂载pcie 3.0 x4的SSD固态硬盘,这样每个pcie host能够跑的速率就是ssd盘能够支持的最大速率,如果选择三星的SSD盘,那么PCIe3.0 x4读写速率能够到3GB/s,那么4个...
原创
发布博客 2024.04.28 ·
1571 阅读 ·
12 点赞 ·
0 评论 ·
17 收藏

zynq nvme高速存储之ext4文件系统

前面文章分析了高速存储的各种方案,目前主流的三种存储方案是,pcie + switch高速存储方案,zynq高速存储方案,fpga高速存储方案。虽然三种高速存储方案都可以实现高速存储,但是fpga高速存储方案是最烂的,fpga存储方案在速度上没有前两种高,对于Error Handler上处理也不友好,同时fpga高速存储方案不支持标准的EXT4文件,不能够支持NFS文件系统等,所以有读者向我咨询高速存储方案,我会毫不犹豫的推荐前面两种。对于pcie + switch高速存储方案硬件框图如下。
原创
发布博客 2024.04.20 ·
1350 阅读 ·
5 点赞 ·
0 评论 ·
13 收藏

windos驱动问题

发布问题 2023.02.15 ·
3 回答

ftp/nfs卸载自定义文件系统数据

在存储领域对于数据卸载有很多种方式,比如通过高速GTX接口流模式卸载,或者通过网络卸载数据,通过网络卸载数据可以开发上位机定制化卸载数据,但是开发上位机软件比较麻烦,已经需要安装软件,软件容易出现BUG等诸多问题,这篇文章分享通过自定义文件系统管理数据,并且通过windos自带的nfs客户端卸载存储办卡中的数据,windos端通过nfs映射磁盘到共享文件夹,用户看到的储存办卡存储空间就像看电脑本地磁盘一样方便,这种方式安全可靠,不需要专门定制客户端,并且具有通用性,并且客户是最喜欢这种方式卸...
原创
发布博客 2022.03.05 ·
1721 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

PCIe+Switch高速存储方案设计

上篇文章分享了《zynq高速存储方案》,zynq存储方案实现了1.2GB/s的存储速率,这篇文章分享pcie+switch常规方案,这种方案在存储领域很常见,目前作者实现switch方案存储速度有5GB/s和6.5GB/s,以及没有国产化要求并且不使用switch方案储存速率5GB/s。具体速度多少根实际的SSD盘数和switch选择都有很大关系,高速存储在设计存储方案时会有很多考虑,比如是否全国产化,速度指标,SSD盘容量,数据是否需要备份,硬件成本,开发难度系数等诸多因素,只有结合实际项...
原创
发布博客 2022.02.19 ·
10935 阅读 ·
11 点赞 ·
16 评论 ·
65 收藏

linux系统raid0测试实验

本篇文章介绍嵌入式平台linux系统中raid0如何使用,并了解raid0磁盘阵列的工作原理,在后面文章中介绍pcie+switch存储方案raid0阵列的实现。在linux系统中raid0配置使用的mdadm命令,在嵌入式平台中,mdadm命令一般默认是没有的,需要手动安装mdadm命令。本次编写块设备驱动用两片内存模拟磁盘做raid0,在块设备中提供读写内存接口,打印内存接口,方便跟踪mdadm命令工作原理。安装mdadm命令下载mdadm.tar.gz tar –xzvf m...
原创
发布博客 2022.01.13 ·
1482 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

全网最全PCIe枚举算法分析(以ZYNQ平台实例讲解)

本篇文章分析PCIe上电是如何枚举的,BAR空间访问在以前文章已经讲解,可以参考《从cpu角度理解PCIe》和《从cpu角度理解PCIe续集》。本文篇幅较长,读者需要耐心阅读。PCIe上电枚举算法主要是分配总线号和分配BAR空间,分配的总线号用于访问配置空间,BAR空间用于与PCIe设备进行数据交互。PCIe协议包括物理层,链路层和事务层,本次分析从事务层开始着手,事务层数据交互的单元是TLP包,TLP有公共的头部和载荷数据,载荷数据最大为4KB,根据公共头部TLP可以分...
原创
发布博客 2021.12.31 ·
4191 阅读 ·
8 点赞 ·
4 评论 ·
76 收藏

zynq srio枚举id方案设计

常见的SRIO枚举分配ID操作在Powerc平台比较常见,本文使用zynq7045实现SRIO枚举功能,PL端有SRIO IP,只需要将AXI维护端口挂到AXI-GP接口上,PS软件就可以通过AXI总线访问SRIO IP实现枚举自动分配ID功能。本次测试硬件拓扑图如下图所示。srio交换芯片采用的时1848交换芯片,SRIO1和SRIO2本次实验室环回到ZYNQ的SRIOIP上,也可以直接将端口引到外部让用户使用,本次方便实验分析和抓信号,SRIO三个x4的IP都是...
原创
发布博客 2021.12.30 ·
2140 阅读 ·
4 点赞 ·
5 评论 ·
30 收藏

zynq实现二层网络加密转发

二层网络加密转发是加密端将所有二层网络数据实现加密,然后发送出去,接收端接收到数据后解密,然后以二层报文发送出去。常规的网络加密仅仅局限于网络应用数据加密,对底层的ARP(IP地址到MAC地址的解析,可通过ARP广播包寻找MAC地址),ICMP(ping命令),IP(TCP和UDP的下一层)包通通实现加密传输。
原创
发布博客 2021.11.23 ·
3088 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

高效无锁环形队列

在linux零拷贝技术中提到高效无锁环形队列,这篇文章分享这个知识点,这个知识点不是很复杂。环形队列多用于多线程之间数据异步传输,提高数据处理性能。下面介绍常规环形队列和高效无锁队列两种处理方式。常规环形队列如下图所示,队列头代表写指针,队列尾代表读指针,通过判断读写的位置判断队列是否为空,是否满,通过线程锁来保证读写指针在使用时只被一个线程使用,从而保证数据不会出错。(出错原因,当一个线程在对读写指针修改时,调度器将该线程切换出去访问另外一个线程,如果该线程正好也会对读写指针进行修改,那么就会导致读写指
原创
发布博客 2021.11.22 ·
2302 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

linux内核零拷贝技术

1. 设计思想零拷贝技术主要用于磁盘数据通过网络进行交互,常见用法卸载磁盘文件从网络发送出去。常规的卸载文件方法流程如下所示。从上图可以看出软件流程一共复制了4次数据,内核态到用户态切换4次。读操作(复制两次,上下文切换两次):1.用户进程通过 read() 函数向内核(kernel)发起系统调用,上下文从用户态(user space)切换为内核态(kernel space)2.CPU利用DMA控制器将数据从主存或硬盘拷贝到内核空间(kernel space)的读缓冲区(read buffer)
原创
发布博客 2021.11.19 ·
3938 阅读 ·
3 点赞 ·
0 评论 ·
21 收藏

zynq/nvme/ext4/fpga高速存储设计

1.概述很久没有写文章了,有空余时间还是分享一点技术干货。今天写一下zynq+nvme高速存储设计思想,zynq处理器是将ARM和FPGA集成在一起的处理器,区别于以前ARM+FPGA的板间架构,采用AXI内部总线实现ARM和FPGA内部的通讯,支持低速AXI-GP接口(类型Local Bus),高速AXI-HP接口,ARM端简称PS,FPGA端简称PL。如果数据过PS端,那么数据会经过HP接口,软件上的数据解析和拷贝,这样存储速率大约为130MB/s,速率比较慢,所以就引入了本文方案,控制走PS,数据P
原创
发布博客 2021.11.15 ·
12403 阅读 ·
17 点赞 ·
11 评论 ·
101 收藏

嵌入式寄存器查看助手。

发布资源 2021.08.19 ·
exe

secureCRT开发脚本

发布资源 2020.09.01 ·
7z

以太网PHY寄存器分析

以太网PHY寄存器分析    11、以太网PHY标准寄存器分析    21.1 Control Register    21.2 Status register    51.3 PHY Identifier Register   &...
转载
发布博客 2020.07.17 ·
8142 阅读 ·
25 点赞 ·
6 评论 ·
150 收藏
加载更多