1.container_of宏1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。2>接口:container_of(ptr, type, member) ptr:表示结构体中member的地址 type:表示结构体类型 membe
dump_stack():打印出10条函数的调用关系。 定位故障代码:arm-eabi-gdb out/target/product/msm8625/obj/KERNEL_OBJ/vmlinuxgdb) l * i2c_device_probe+0xc4
2. 通常会碰到的实际问题到此,问题出现了 C或者其他服用功能该如何操作?4. 当在串口driver中有可能想使能某个功能而不想写定在driver代码
原型:struct proc_dir_entry *create_proc_read_entry (const char *name, mode_t mode, struct proc_dir_entry *base, read_proc_t *read_proc, void *data);说明:name : 要创建的文件名;mode : 文件掩码,为
中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志数据到来了,然后让处理器
tartar 主要用于创建归档文件,和解压归档文件,其本身是没有压缩功能的,但可以调用 gzip 、 bzip2 进行压缩处理。参数解释:-c 创建归档-x 解压归档-v 显示处理过程-f 目标文件,其后必须紧跟 目标文件-j 调用 bzip2 进行解压缩-z 调用 gzip 进行解压缩-t 列出归档中的文件$ tar -cvf filename
1.mmap系统调用void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset);功能:负责把文件内容映射到进程的虚拟地址空间,通过对这段内存的读取和修改来实现对文件的读取和修改,而不需要再调用read和write;参数:addr:映射的起始地址,设为NULL由系统指定;len:映
adb shell /system/bin/screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png E:\
这篇文章详细分析了V4L2用户空间和kernel层driver的交互过程,目的只有一个:更清晰的理解V4L2视频驱动程序的系统结构,驱动编程方法,为以后开发视频驱动打好基础既然从用户层出发探究驱动层,这里先贴出应用层code:#include stdio.h>#include stdlib.h>#include string.h>#include
一、什么是BusyBox ? BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许
这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)perror("open");}这个事常用的一种用法fd是设备描述符,linux在操作硬件设备
linux2.6的“/prob/kallsyms”文件对应着内核符号表,记录了符号以及符号所在的内存地址。模块可以使用如下宏导出符号到内核符号表:[c-sharp] view plaincopyEXPORT_SYMBOL(符号名); EXPORT_SYMBOL_GPL(符号名) 导出的符号可以被其他模块使用,不
发现有台服务器ubuntu server 12.04在远程过去时文件名的中文现实没有问题,但ls的时候时间居然乱码。 搜索了一下,应该是locale的问题,可以这样处理:1. 编辑/var/lib/locales/supported.d/local文件,内容改成如下:en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8zh_CN.GBK GBKzh_CN G
一、定义proc节点的读、写函数static int tp_switch_writeproc(struct file *file,const char *buffer, unsigned long count,void *data){ sscanf(buffer,"%d", &tp_dbg);
HZ1、内核通过定时
大部分驱动除了需要具备读写设备的能力之外,还需要 通过命令码告诉驱动程序它想做什么,至于怎么
就像你写C程序需要包含C库的头文件那样,Linux内核编程也
初始化配置C代码 #配置使用git仓库的人员姓名 git config --global user.name "Your Name Comes Here" #配置使用git仓库的人员email git config --global user.email you@yourdomain.example.com #配置到缓存 默认1
前文再续,书接上一回,在上一篇文章:Linux多线程——使用信号量同步线程中,我们留下了一个如何使用互斥量来进行线程同步的问题,本文将会给出互斥量的详细解说,并用一个互斥量解决上一篇文章中,要使用两个信号量才能解决的只有子线程结束了对输入的处理和统计后,主线程才能继续执行的问题。一、什么是互斥量互斥量是另一种用于多线程中的同步访问方法,它允许程序锁住某个对象
今天用sudo apt-get install flex的时候出现了标题上的问题,不能连接。先ping了一下这个域名,发现能够ping的通,就是不懂为什么不能链接。接着从网上找相应的解决方法,有网友说是源出问题拉,权且认为是这个源的主机down了。然后从网上搜到与OS相对应的版本的源,我的是10.04,然后更改了源,就没问题了。具体如下:1. sudo gedit /etc/a
在Ubuntu下安装jdk解压出现问题:./jdk-6u30-linux-i586.bin: 113: ./install.sfx.3631: not found。Failed to extract the files. Please refer to the Troubleshooting section ofthe Installation Instructions on the d
Ubuntu 方便宜用,最值得让人称道的便是其安装软件的方式, 一条命令: sudo apt-get install xxx 就几乎能帮你搞定所有的软件安装难题。但是有时你可能有这样的需求,查看某个软件包是否安装、安装在哪..., 那我们就来介绍一下 Ubuntu 的软件包管理方式。一、Ubuntu 采用 Debian 的软件包管理器 dpkg 来管理软件包, 类似 RPM. 系统中所有 pa
首先用你当初装ubuntu的方法进入live cd打开终端 输入以下命令:1:sudo -i2:fdisk -l (找一找你的ubuntu安装在那个分区)下面挂载原系统的根目录: mount /dev/sdax /mnt(x代表你Ubuntu所在分区编号) grub-install --root-directory=/mnt /dev/sda (注意:/mnt后面有 空格键
Linux字符设备驱动程序的一个简单示例一.开发环境:主 机:VMWare--Fedora 9开发板:友善之臂mini2440--256MB Nandflash 编译器:arm-linux-gcc-4.3.2 二.驱动源码:该源码很浅显易懂,非常适合初学者。memdev.h#ifndef _MEMDEV_H_#define _MEMDEV_H_
Ubuntu系统进行网络配置有的时候用图形界面不起作用,这种情况下可以直接修改某些启动脚本或配置文件Ubuntu系统进行网络配置涉及到几个配置文件1./etc/network/interfaces 2./etc/resolv.conf操纵步骤:1.打开ubuntu的/etc/network/interfaces文件默认的内容如下:auto loiface l
一. 概述 platform设备和驱动与linux设备模型密切相关。platform在linux设备模型中,其实就是一种虚拟总线没有对应的硬件结构。它的主要作用就是管理系统的外设资源,比如io内存,中断信号线。现在大多数处理器芯片都是soc,如s3c2440,它包括处理器内核(arm920t)和系统的外设(lcd接口,nandflash接口等)。linux在引入了platform机制之后
UIMAGE arch/arm/boot/uImage"mkimage" command not found - U-Boot images will not be built Image arch/arm/boot/uImage is readycp: 无法获取"arch/arm/boot/uImage" 的文件状态(stat): 没有那个文件或目录使用make uIma
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号