Linux
文章平均质量分 63
XIAO_PING_PING
这个作者很懒,什么都没留下…
展开
-
关于linux字符驱动编写接口函数的参数传递问题
早些天一直在纠结于原创 2014-09-05 18:47:10 · 624 阅读 · 0 评论 -
linux内核sk_buff的结构分析
我看的内核版本是2.6.32. 在内核中sk_buff表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面sk_buff会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32里面这个域已经被删除了。 而sk_buff的内存布局可以分作3个段,第一个就是sk_buff自身,第二个是linear-data buff,第三转载 2014-11-04 11:48:27 · 580 阅读 · 0 评论 -
Linux显示中文乱码解决方法
经常使用linux终端,有人上传中文命名的文件显示出中文乱码,下面是解决方法。 默认显示的字符编码# echo $LANGen_US.UTF-8 修改i18n文件# vi /etc/sysconfig/i18nLANG="zh_CN.GB18030"LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"SUPPORTED="z转载 2014-09-14 10:09:20 · 707 阅读 · 0 评论 -
Linux内核动态调试信息的打开,如pr_debug .
【1】配置Kconfig,添加要调试驱动模块的DDEBUG选项,如kernel_imx\drivers\mxc\pmic\mc13892\Kconfigconfig MXC_PMIC_DEBUG bool "Support MXC PMIC DEBUG" depends on MXC_PMIC 【2】配置Makefile,添加编译支持驱动模块 EXTRA_CFLAGS +转载 2014-08-14 14:44:56 · 2109 阅读 · 0 评论 -
linux调试MCX314AL过程
以前无论用动态映射还是静态映射用串口输出和电压表测量,以为能正常读不能正常些,现在在MCX314AL加上二极管测量,使用iowrite等函数写值时二极管能有正常显示,但是一闪而过,分析原因是不是后续的程序干扰了MCX314AL的写寄存器(也许就是MCX314AL的时序不严格的坏处)。 回想前面裸跑程序当中,给MCX314AL写值之后LCD的显示程序也会对其造成干扰,会不会问题是同一个问题.原创 2014-06-11 10:35:28 · 1176 阅读 · 0 评论 -
Ramdisk驱动的实现
文件gao_rd.c如下#include #include #include //定义了一些常用的函数原型#include //#include //一些出错的常量符号的宏#include //定义了一些基本的数据类型。所有类型均定义为适当的数字类型长度。#include //文件控制选项头文件,#include #include //定义了一些对硬盘控制器进行原创 2014-11-25 14:55:59 · 1317 阅读 · 0 评论 -
ioctl,unlocked_ioctl 处理方法【转】
kernel 2.6.35 及之前的版本中struct file_operations 一共有3个ioctl :ioctl,unlocked_ioctl和compat_ioctl现在只有unlocked_ioctl和compat_ioctl 了在kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针,取而代之的是unl转载 2014-09-18 15:58:02 · 1661 阅读 · 0 评论 -
TQ2440移植strace工具
以下是网上的一个方法,但是不适合TQ2440 strace工具是一个非常强大的工具,是调试程序的好工具。要移植到arm平台,就需要使用交叉编译工具编译生成静态链接的可执行文件。具体步骤如下:1.下载 strace-4.5.16.tar.bz2,下载网址是:http://www.filewatcher.com/m/strace-4.5.16.tar.bz2.457272.0.0.htm原创 2014-05-28 20:47:02 · 1116 阅读 · 1 评论 -
Linux设备驱动开发-Makefile与Kconfig举例
上一篇文章说了Makefile与Kconfig,那么我们现在就看一个例子让我们对其有更加深刻的理解。(参考驱动开发详解)假设我们要在内核源码drivers目录下为ARM新增一个my driver树形目录,如下:my_driver/|-- cpu| `-- cpu.c|-- test.c|-- test_client.c|-- test_ioctl.c|-- te转载 2014-08-16 19:34:23 · 595 阅读 · 0 评论 -
看我是怎样捣鼓Linux的
酝酿了半个月,捣鼓(允许我使用这个词语,因为我非常这个新造的词)了差不多20天,写下我从window倒戈转向Linux 的整个过程。 并不是我不喜欢window,当然也不会是讨厌,从接触PC机开始就别无选择的使用着,所以无所谓喜欢和不喜欢。姑且不论window的优劣(好像对于我们一般人来说,从来就没有一款系统可以用来和它比较),对于大多数初代软件产品是基于Linux的。比如我前段时间做的原创 2015-03-29 21:58:47 · 757 阅读 · 0 评论 -
打补丁常见错误patch: **** malformed patch at line
2008-01-29 22:18 Patch Tips1. 给源码树加 patch进入源码树的根目录下:cd SRC_DIRpatch -p 1 -p 1 指定忽略的目录个数,如你的patch头为 diff -urN orig/include/linux/module.h tgt/include/linux/module.h,则是对 $SRC_DIR/ 下的 i原创 2014-05-28 20:54:24 · 13866 阅读 · 1 评论 -
redefinition of 'struct iphdr'
busybox 编译不过去,错误如下CC networking/libiproute/iptunnel.oIn file included from /opt/EmbedSky/4.3.3/bin/../arm-none-linux-gnueabi/libc/usr/include/linux/if_tunnel.h:5, from netwo原创 2014-06-10 20:07:11 · 1593 阅读 · 0 评论 -
linux删除空间不释放的解决方法
问题已经解决,用“右击--移动到回收站”的方法删除的文件夹放在了“/opt/.Trash-0/files/”目录下,由于是隐藏的,所以以前没看到,把那里面的文件用rm命令删除即可原创 2014-09-20 11:15:52 · 1090 阅读 · 0 评论 -
linux驱动程序调试常用方法
驱动程序开发的一个重大难点就是不易调试。本文目的就是介绍驱动开发中常用的几种直接和间接的调试手段,它们是:利用printk 查看OOP消息 利用strace 利用内核内置的hacking选项 利用ioctl方法 利用/proc 文件系统 使用kgdb 一、利用printk这是驱动开发中最朴实无华,同时也是最常用和有效的手段。scull驱动的main.c第338行如下,就是使用pri转载 2014-05-28 15:36:00 · 1083 阅读 · 1 评论 -
Linux DM9000网卡驱动程序完全分析
版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。http://blog.csdn.net/ypoflyer/article/details/6209922说明1:本文分析基于内核源码版本为linux-2.6.31 说明2:本文在理解了linux中总线、设备和驱动模型的基础上加以分析代码 虽然Linux驱动程序应该是和具体的硬件平台分离的,但转载 2014-11-04 11:39:08 · 740 阅读 · 0 评论 -
RTC设备类与系统平台设备数据传递函数解析
解析语句如下platform_set_drvdata(pdev, rtc); 将 RTC 设备类的数据传递给系统平台设备。struct platform_device *pdev = to_platform_device(dev);struct rtc_device *rtc_dev = platform_get_drvdata(pdev);原创 2014-08-13 11:47:19 · 685 阅读 · 0 评论 -
GCC扩展符(#,##)
先来说说这两个扩展符的各自用处吧,“#”是将宏字符串化(Stringification),“##”是将##左右两边的标签组合在一起(token pasting or token concatenation),下面从两个简单例子着手:[cpp] #define SSVAR(X,Y) const char X[]=#Y SSVAR(InternetGatewayDevice, Inte转载 2014-05-29 10:02:26 · 710 阅读 · 1 评论 -
vim打开文件有^M结尾
当用vim编辑器,打开一个文件时,可能会出现每行的末尾都有"^M"符号.这很可能是由于源文件不是用vim编辑的.可以用以下方法快速的解决:在命令模式下:输入:%s/^M//g 然后,回车即可替换注,其中"^M"的输入,分别是“Ctrl+v”、“Ctrl+M”键生成的方法2: 使用vi打开文本文件 vi dos.txt 命令模式下输入 :s原创 2014-05-22 21:06:01 · 2341 阅读 · 1 评论 -
刨根问底ioremap()(一)
硬是在动态映射或者只能读原创 2014-06-08 22:54:51 · 906 阅读 · 1 评论 -
Linux系统下安装rz/sz命令及使用说明
对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令。今天,我们就简单的讲解一下如何安装和使用rz、sz命令。1.软件安装(1)编译安装root 账号登陆后,依次执行以下命令:1cd /tmp转载 2014-06-23 16:29:03 · 1583 阅读 · 1 评论