PCIE2.0 3.0 4.0 硬件测试解决方案

   2023-12-16 300

PCIE2.0 3.0 4.0 硬件测试解决方案

PCIE memap空间读写异常

问题:

pcie可以正常读写配置空间,但无法正常读写memap 空间

定位问题:
一个address是36bit的,但软件定义为一个32bit的变量,从而导致软件读写pcie memap空间失败(读错了位置)。
解决方法:fixed the software bug。☺

这个问题定位主要需要一些关于PICE的一些地址的知识,要理解他们之间的关系。

PCIE空间的BAR

CPU访问PCIE设备的高速外设(IO)的地址

应用层访问PCIE memap的地址

来张图吧,

上图中,有几个关键的Address,Virtual Address这个大家比较好理解,但凡有一点在linux下开发经验的程序员都知道linux下的应用程序只能访问Virtual Address,那如果我们需要访问一些指定的Physical Address怎么办,这在driver开发当中十分常见。linux提供了mamap系统调用,用于Virtual Address和Physical Address的转换。另外,PICE设备在读写时使用PCIE的BAR地址,BAR地址是PCIE控制器以memap 方式读写PCIE EP设备时使用的地址,是PCIE协议使用的地址。

3775824447.jpg3777678124.jpg

核心提示:PCIE2.0 3.0 4.0 硬件测试解决方案
 
标签: 商务服务,检测服务,电子产品检测
反对 0举报 0 收藏 0 打赏 0评论 0
 
同类新闻
  • 联系人:邓经理
  • 地址:北京市海淀区永泰庄北路1号天地邻枫2号楼A座B101
  • 手机:18601085302
我们的产品