自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式记录

为我记录,为人分享!

  • 博客(23)
  • 收藏
  • 关注

原创 memcpy中使用AVX指令集可以让cpu操作内存的粒度扩大

内存对齐:上述代码使用的是未对齐加载和存储指令(_mm256_loadu_si256 和 _mm256_storeu_si256),即便地址未对齐也能正常工作,但性能可能会受到一定影响。例如,在 64 位系统中,可能会一次复制 8 字节的数据,减少 CPU 访问内存的次数,从而提高复制效率。当一次复制多个字节的数据时,这些数据可能会被一次性加载到缓存中,后续的访问可以直接从缓存中获取,减少了从主存中读取数据的次数,提高了访问速度。例如,在某些架构中,对齐的内存访问比非对齐的内存访问速度更快。

2025-04-10 09:29:59 565

原创 CXL中Dynamic Capacity Device (DCD)简介

主机可以在任何时候,在没有收到 Release Capacity Event Record(释放容量事件记录)的情况下,通过调用 Release Dynamic Capacity 命令(参考章节 8.2.10.9.9.4),并在命令中提供一个包含特定要释放容量的 Extent List(Extent List),将动态容量释放回设备。Extent List基于设备物理地址(DPA),单个列表可描述所有Region的范围,主机获取的Extent List包含设备分配给主机的每个范围的起始 DPA 和长度,

2025-04-09 15:59:59 689

原创 CXL中LD-FAM简介

MLD 的资源划分与设备类型:type3 型多逻辑设备(MLD)可将资源划分为最多 16 个隔离的逻辑设备(LD),每个 LD 通过 LD-ID 在 CXL.io 和 CXL.mem 协议中识别。对虚拟层级(VH)可见的每个 LD 都作为 3 型设备运行,且 LD-ID 对访问 VH 的软件透明。由于 LD-ID 功能仅存在于上述两种协议中,MLD 仅限于 3 型设备。LD 的分配与 FM 的作用:MLD 有一个 LD 预留给管理器(FM),最多 15 个 LD 可供主机绑定。

2025-04-09 15:58:01 894

原创 如何使用devmem及mmap直接访问物理内存

devmem 是一个在 Linux 系统下用于直接访问物理内存的命令行工具,它能让用户在用户空间对指定的物理内存地址进行读写操作。

2025-04-09 15:28:37 239

原创 CXL中的mailbox通信架构实现

本节参考了CXL2.0协议中8.2.8节,mailbox的相关寄存器的描述,及8.2.9中对command接口定义,还有7.6.8中FM模块的命令格式,对通过mailbox对FM模块的配置机制进行了梳理。IPC是一种确定的可以替代的实现方案,基于pcie或cxl.io的特性都可以实现,在支持pcie或cxl的设备环境可以进行一定的demo验证。此命令为每个LD设置内存分配。可以将一个memory地址作为doorbell标志,映射到bar4空间,或者选取bar2中的一个固定地址也可以,根据实际情况而定。

2025-03-14 14:21:29 862

原创 msi中断开发流程

当Mask Bits字段的相应位为1时,如果PCIe设备需要发送对应的中断请求时,Pending Bits字段的对应位将被PCIe设备的内部逻辑置1,此时PCIe设备并不会使用MSI报文向中断控制器提交中断请求;当系统软件将Mask Bits字段的相应位从1改写为0时,PCIe设备将发送MSI报文向处理器提交中断请求,同时将Pending Bit字段的对应位清零。该字段保存的数值与处理器系统相关,在PCIe设备进行初始化时,处理器将初始化该字段,而且不同的处理器填写该字段的规则并不相同。

2025-03-14 14:08:17 516

原创 CXL中Global-Fabric-Attached Memory(G-FAM,全局结构连接内存)简介

MLD 为每个主机 / 对等接口(LD)有单独的设备物理地址(DPA)空间,而 GFD 有一个对所有主机和对等设备通用的 DPA 空间GFD 解码器主机物理地址(HPA)转换为 DPA为创建共享内存,可将两个或更多 HPA 范围(来自不同请求者)映射到相同 DPA 范围。

2025-02-27 10:04:20 537

原创 xsdb加载启动镜像

【代码】xsdb加载启动镜像。

2023-09-12 14:49:04 429

原创 minicom是哪个端口

【代码】minicom是哪个端口。

2023-09-11 15:46:20 227

原创 网络配置常用命令

网络配置:

2023-09-01 17:04:06 111 1

原创 pcie bar空间region [disable]无法访问

2023-09-01 16:00:16 1035 1

原创 petalinux设备树修改

petalinux_project\components\plnx_workspace\device-tree\ 目录下的设备树是软件自动生成的,最好不做修改,xilinux提供了一个用户设备树,该设备树为:petalinux_project\project-spec\meta-user\recipes-bsp\device-tree\files\system-user.dtsi。2、执行petalinux-build -c device-tree -x cleansstate清理设备树编译状态。

2023-07-13 16:11:18 1497 1

原创 emmc科普

FAT 格式文件系统操作命令。uboot下烧写flash。u-boot烧写emmc。emmc启动分区设置。

2023-07-13 13:50:20 72 1

原创 petalinux产生的镜像文件说明

这个文件是由petalinux-package --image 打包kernel rootfs device-tree这个三个文件合成的image.ub文件,也就是说,当你启动mpsoc的时候,你最终只需要两个文件BOOT.bin image.ub。PMU的配置文件,但这个不是必须的,用户是可选的,MPSOC有LPD.FPD.PL三路电源轨,PMU是为了更好的管理电源和控制功耗,一般情况下,大部分客户不需要修改这个elf文件,这个文件不是制作BOOT.bin必须要的。

2023-07-12 09:43:19 379 1

原创 tftp方式下载文件到开发板

【代码】tftp方式下载文件到开发板。

2023-07-11 17:10:19 352

原创 petalinux jtag启动失败

执行 petalinux-boot --jtag --prebuilt 3报错。概念:ATF(ARM Trusted firmware)修改完成,重新boot即可。

2023-07-04 13:15:46 408

原创 基于petalinux的vitis开发流程

本文主要说明petalinux从工程创建到加载xsa到编译启动的步骤,以及vitis软件开发步骤。环境基于ZYNQ UltraScale+ MPSoc EG系列,默认petalinux及vitis已安装完毕。本文示例版本:vitis名词解释Workspace:当打开Vitis软件平台时,创建workspace,用来存储工程数据。Platform:是硬件部件(XSA)和软件部件(BSP,FSB等)的集合。

2023-07-04 10:18:50 2255 1

原创 linux创建新用户

a. 创建用户yourname并在/home下产生yourname文件夹。su即switch user。

2023-07-04 10:11:27 393

原创 创建虚拟机时报hvm错误

Yes!

2023-06-29 11:07:04 543 1

原创 qemu学习笔记

普通简单qemu arm工程创建:qemu常见参数说明:内核升级:

2023-06-29 11:03:18 91 1

原创 vmware中创建qemu的嵌套虚拟化问题

在控制面板---程序---启用或关闭Windows功能,然后将所有关于Hyper-V的功能全部关闭。以下图片的红框部分以及继续下滑的虚拟机平台选项。打开 Windows 安全中心 --- 设备安全性 --- 内核隔离 --- 内核隔离详细信息,然后将内存完整性保持关闭。问题发生场景为在虚拟机中嵌套使用虚拟机,因此不光物理机要支持虚拟化,同时虚拟机也要支持虚拟化,即嵌套虚拟化问题。

2023-06-29 10:28:46 2774 1

原创 petalinux工程创建启动

最新本文主要说明petalinux从工程创建到加载xsa到编译启动的步骤,以及vitis软件开发步骤。环境基于ZYNQ UltraScale+ MPSoc EG系列,默认petalinux及vitis已安装完毕,安装过程后面会单独出一篇教程。另一种方式,从BSP文件创建工程,不在本文说明。

2023-06-15 10:32:35 552 1

转载 实例讲解linux压缩命令

实例讲解linux压缩命令Linux压缩打包命令使用方法 tar命令   [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指

2011-09-19 21:52:50 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除