读书笔记
weijitao
这个作者很懒,什么都没留下…
展开
-
串口UART
如何查看Linux系统下串口信息?从上面的信息可知串口设备为16550A,占用的io口为0x3f8。下面看下UART占用的端口的范围。看到serial占用的io口范围为0x03f8~0x03ff,共8个port。 UART 16550A驱动代码8250_core.c文件中实现,初始化函数serial8250_init。从struct uart_driver类型的原创 2015-06-16 22:16:57 · 1747 阅读 · 0 评论 -
DMA32映射问题
最近在调试PCIe的行情加速卡的驱动,其中使用DMA在CPU和FPGA间传输数据。最开始使用的是低16M的DMA ZONE的内存,用slab分配器的kmalloc分配获取。但由于最新的需求,需要使用的内存远远超过16M,这样再使用DMA ZONE区域的内存就不够了,那就只能使用DMA32区域的内存来进行DMA传输了。在我使用的调试机器上,DMA32区域的内存情况如下:由上图可知原创 2015-08-11 19:28:27 · 3160 阅读 · 2 评论 -
tcpdump+wireshark分析数据笔记(1)
测试环境:两台pc机器PC1:上面装有FPGA单板,单板上有TOE模块,模块的MAC地址为55:55:aa:aa:00:24,IP地址为67.153.0.0PC2:上面安装有solarflare SFN7122F万兆网卡。两台pc的连接方式:PC1àDMAàFPGA(TOE)à光纤àSNF7122FàPC2àsocket程序àPC2à SFN7122Fà光纤àFPGA(TOE)原创 2015-09-25 10:45:42 · 1260 阅读 · 0 评论 -
tcpdump+wireshark分析数据笔记(2)
TCP建立连接图1中编号为3、4、5的是TCP建立连接的包,是TCP建立的三次握手的过程。PC2作为server端,启动监听程序,监听端口65044,一开始处于LISTEN状态。图1客户端发送SYN图4 三次握手之第一次握手TCP连接的建立需要三次的握手,图4是三次握手的第一次握手。PC1作为client端,发送一个SYN段指明打算连接的服务器端PC2。原创 2015-10-24 09:24:53 · 1136 阅读 · 0 评论 -
igb uio小结
前两天对DPDK的igb_uio相关的代码做了下分析,先把这期间碰到的一些问题和代码分析记下来,作为一个小总结。Igb_uio代码相关的可以分为三个部分:igb_uio内核驱动,内核uio框架,uio用户态部分。Igb_uio内核驱动Igb_uio驱动主要做的就是注册一个pci设备。但是igbuio_pci_driver对应的保存pci设备信息的id_table指针为空原创 2016-10-27 20:41:39 · 14303 阅读 · 0 评论 -
Mcelog笔记
最近测试过程中panic并报如下错误:Kernel panic - not syncing: Timeout synchronizing machine check over CPUs经查找Linux内核代码是与mce相关的错误导致的系统panic。 收集mce的log信息,需要安装mcelog工具。Mcelog能够记录和统计运行在x86架构下的Linux OS的一些machine ...原创 2018-03-18 22:04:23 · 9940 阅读 · 6 评论