内核子系统
明天我约你
这个作者很懒,什么都没留下…
展开
-
linux USB调试
配置内核打开调试选项:Kernel hacking ---> [*] Debug Filesystem 挂载调试程序文件系统:mount -t debugfs none /sys/kernel/debug抓取总线0上的数据:cat /sys/kernel/debug/usb/usbmon/0u原创 2016-11-17 22:31:59 · 1154 阅读 · 0 评论 -
Linux USB子系统(1)-设备、驱动、框架
linux USB子系统 设备 驱动 框架原创 2016-11-28 23:20:23 · 2295 阅读 · 0 评论 -
select和poll实现及驱动支持
select poll 驱动 实现原创 2016-11-21 23:47:34 · 1567 阅读 · 0 评论 -
ttyUSB串口设备节点生成过程
usbserial和option模块加载时做的事和设备插入后tty设备的注册原创 2017-03-19 21:37:47 · 3716 阅读 · 0 评论 -
Linux x86_64/arm 分配大块物理连续内存
Linux x86 分配大于4M空间的内存实现一个PCIe设备驱动,需要分配几个128M的物理连续内存作为DM缓冲区,受制于伙伴系统最多分配4M,所以需要使用到CMA机制,来分配大块的物理连续内存:硬件平台:x86_64 软件平台:CentOs7.4 linux-3.10.0linux在x86下支持cma在x86下linux的swiotlb是使能的,这种情况下cma是不使能的,所以dm...原创 2018-04-18 20:08:42 · 2787 阅读 · 0 评论 -
PCIe驱动调试过程中遇到的问题
PCIe驱动和fpga设备调试遇到的问题解决问题1. FPGA设备通过PCIe读取DDR内容失败现象:观察FPGA侧的PCIe核,发现在执行一段时间后,PCIe核发出读存储器请求,不能得到内存的数据;同时系统侧通过lspci -vvv命令发现设备的UESta信息出现overflow标志(RxOF+)。通过与正常系统上的PCIe设备的配置空间内容比较,发现我们设备的DevCtl设置了E...原创 2018-08-24 12:00:50 · 5938 阅读 · 1 评论 -
wait_event_interruptible返回-ERESTARTSYS(-512)
最近做一个驱动,在等待FPGA结果的时候调用wait_event_interruptible,期望能进入睡眠状态,并且在需要的时候可以使用ctrl+c杀死进程,但是在使用过程中发现wait_event_interruptible一直返回-ERESTARTSYS(-512)值,究其原因是因为在wait_event_interruptible里会调用signal_pending(current)检查当...原创 2018-09-22 17:53:59 · 4705 阅读 · 0 评论