论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
Linux驱动开发实战之SRIO驱动(二)基于Tsi721驱动 ...
Linux驱动开发实战之SRIO驱动(二)基于Tsi721驱动
嚴華
论坛元老
|
2025-3-22 20:25:04
|
显示全部楼层
|
阅读模式
楼主
主题
1010
|
帖子
1010
|
积分
3030
常用驱动先容
在RapidIO系统中,TSI721是一款常用的RapidIO交换芯片,其驱动程序和相干模块负责管理和优化数据传输,包罗DMA(直接内存访问)操作。以下是您提到的各个模块的作用概述:
rapidio.ko
:
这是RapidIO焦点模块,为RapidIO子系统提供基础支持。它负责管理RapidIO设备、维护RapidIO网络拓扑布局,以及处理RapidIO协议的底层细节。
rio_cm.ko
:
这个模块通常与RapidIO连接管理相干。它可能负责维护和管理RapidIO网络中的连接,包罗设备发现、链路维护等功能。
rio_scan.ko
:
这不是一个内核模块,而是一个工具或脚本来扫描RapidIO网络,发现网络中的设备,并创建设备列表。它通常用于系统启动时设置RapidIO网络。
rio_mport_cdev.ko
:
这个模块提供了一个字符设备接口,答应用户空间应用程序与RapidIO主端口(Maintenance Port)进行交互。通过这个接口,可以实行RapidIO维护操作,如读取和写入维护寄存器。
tsi721_mport.ko
:
这是专门为TSI721芯片计划的RapidIO主端口驱动模块。它负责实现TSI721特定的功能,包罗DMA操作、中断处理、以及与TSI721硬件相干的其他高级特性。这个模块是实现高速DMA传输的关键部分,由于它直接与TSI721硬件交互,优化数据传输服从。
idt_gen2.ko
交换
在DMA传输方面,
tsi721_mport.ko
模块是直接相干的,由于它提供了TSI721芯片特有的DMA功能实现。DMA是提高数据传输速度的关键技能,它答应硬件直接在内存和I/O设备之间传输数据,而不必要CPU的干预,从而显著提高数据传输服从。
编译链接过程
在Linux内核模块的编译过程中,CC 和 LD [M] 是两种差别的操作,它们分别代表编译(Compilation)和链接(Linking)的过程:
CC [M]:
CC 代表的是编译器(通常是gcc),它用于将源代码文件(.c 文件)编译成目标代码文件(.o 文件),这个过程包罗预处理、编译和汇编。
[M] 表现这个编译操作是为构建一个内核模块(module)而进行的。这意味着在编译时,会包罗内核模块特有的编译选项和宏定义。
例如,CC [M] /home/ict/yjl/kernel-rapidio-x86-5.4-banka-x2-801/rio.o 这行命令表现正在编译c 文件,生成rio.o 目标文件,这个目标文件是内核模块的一部分。
LD [M]:
LD 代表链接器(通常是ld),它用于将一个或多个目标代码文件(.o 文件)以及库文件链接成一个可实行文件或者内核模块(.ko 文件)。
[M] 同样表现这个链接操作是为构建内核模块而进行的。
例如,LD [M] /home/ict/yjl/kernel-rapidio-x86-5.4-banka-x2-801/rapidio.o 这行命令表现正在将之前编译生成的目标文件(好比o、rio-access.o 等)链接成一个名为rapidio.o 的单一目标文件,这个文件随后可能会被进一步处理以生成终极的内核模块文件(通常是 .ko 文件)。
简而言之,CC [M] 是用来编译源代码文件的,而 LD [M] 是用来将编译好的目标文件链接成终极的内核模块。这两个步骤是构建内核模块必需的。
Linux内核模块通常是由对应的.c源文件编译而来的。每个模块都有一个或多个.c文件,这些文件包罗了模块的源代码。在编译过程中,这些.c文件会被编译成目标文件(.o文件),然后这些目标文件再通过链接器(通常是ld)链接成终极的模块文件(通常是.ko文件)。
留意事项
板卡用的pcie是gen1,主机是gen2,所需板卡发DMA是60MB/s,主机是700MB/s。
lspci -n 检察节点号(一样寻常是00:02.0)
lspci -s 00:02.0 -vvv
由于板卡不稳定,所以将pcie的gen2改成了gen1
办理方法:
不运行echo 8 8 0 8 > /proc/sys/kernel/printk(日志太多,存盘变慢)或者增加echo 0 > /sys/module/rio_mport_cdev/parameters/dbg_level
手里的程序,板卡版本(吴改)、tsi官网最新版、0400依次版本。按照次序依次研究,比对差别。
板卡中的驱动必要不能编译lib测试用例,必要在新版本里边编译
主从模式
Hdid分别为一正一负
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
嚴華
论坛元老
这个人很懒什么都没写!
楼主热帖
iOS全埋点解决方案-用户标识 ...
【万能皆可链接】C++中的动态链接库编 ...
用uniapp实现微信小程序的电子签名效果 ...
【云服务器】推荐阿贝云服务器,目前永 ...
【Selenium+Pytest+allure报告生成自动 ...
MySQL实战45讲 20
【Javaweb】Web工作原理、两种网页、两 ...
Qt-FFmpeg开发-打开本地摄像头(6) ...
Spring Boot 配置文件
Doris(一) -- 简介和安装
标签云
运维
CIO
存储
服务器
浏览过的版块
分布式数据库
Postrge-SQL技术社区
移动端开发
前端开发
Nosql
程序人生
鸿蒙
SQL-Server
图数据库
快速回复
返回顶部
返回列表