Linux
文章平均质量分 82
fdaopeng
这个作者很懒,什么都没留下…
展开
-
Linux下FTP命令详解
FTP> ! 从 ftp 子系统退出到外壳。 FTP> ? 显示 ftp 命令说明。? 与 help 相同。 格式:? [command] 说明:[command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。 FTP> append 使用当前文件类型设置将本地文件附加到远程计算机上的文件。 格式:append local-file [remot转载 2010-04-15 10:35:00 · 580 阅读 · 0 评论 -
内核延迟函数分析
<br />linux内核提供3个函数分别进行纳秒,微妙和毫秒延时:<br />void ndelay(unsigned long nsecs);<br /><br />void udelay(unsigned long usecs);<br />void mdelay(unsigned long msecs);<br />这3个函数的延时原理是忙等待,也就是说在延时的过程中并没有放弃cpu,根据cpu的频率进行一定次数的循环。<br />在内核中对于毫秒级以上的延时,最好不要直接使用mdelay函数,这将原创 2011-02-21 11:14:00 · 5382 阅读 · 0 评论 -
可延迟函数、内核微线程以及工作队列
http://www.ibm.com/developerworks/cn/linux/l-tasklets/?ca=drs-tp4608转载 2012-03-24 23:14:12 · 701 阅读 · 0 评论 -
内核线程的创建并运行
kthread_run()负责内核线程的创建,参数包括入口函数 threadfn,参数data,线程名称namefmt。 进入kthread.h文件,会发现kthread_run实际是一个宏定义,由kthread_create()和wake_up_process() 两部分组成,这样的好处是用kthread_run()创建的线程可以直接运行。kthread_stop()负责结束创建的线程,原创 2012-03-24 16:56:00 · 715 阅读 · 0 评论 -
网址
http://solidot.org/ IBM developerworks:http://www.ibm.com/developerworks/cn/ Android:http://geek.gfan.com/create-android-developer-environment/http://www.android123.com.cn/sdkxiazai/717.原创 2011-02-23 21:04:00 · 727 阅读 · 0 评论 -
Linux __setup解析
__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下:#define __setup(str, fn) \__setup_param(str, fn, fn, 0)#define __setup_param(str, unique_id, fn, early) \static char __setup_st原创 2012-08-22 11:45:25 · 19289 阅读 · 0 评论 -
采用Fuel Gauge可能出现的几种电量现象及解释
首先应该熟悉两个变量,bat_volt_check_point是UI上面显示的值。gFG_capacity_by_C,库仑计计算的电量值.也等于SOC的值.公式 DOD1 = DOD0 + (-Car/Qmax).DOD1对应当前的电量值.DOD0对应初始的电量值.Car 为t时间内, 流过Rfg电阻电流的电量.Qmax为电池的容量.下面几种情况会更新DOD0的值,原创 2013-04-15 15:00:39 · 10168 阅读 · 3 评论 -
Android使用socket使底层和framework通信
一般的native和framework的通信是通过jni,但是这一般只是framework调用native,native如果有消息要怎样通知上层呢?Android中GSP模块提供一种解决思路,但是实现有些复杂,这里介绍一种使用socket通信的方法可以使native和framework自由通信,具体实现如下:android中使用jni对linux中的socket进行了封装。使用起来十分的方转载 2014-04-14 15:52:30 · 1294 阅读 · 0 评论 -
struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表
Linux 用户态与内核态的交互 在 Linux 2.4 版以后版本的内核中,几乎全部的中断过程与用户态进程的通信都是使用 netlink 套接字实现的,例如iprote2网络管理工具,它与内核的交互就全部使用了netlink,著名的内核包过滤框架Netfilter在与用户空间的通 读,也在最新版本中改变为netlink,无疑,它将是Linux用户态与内核态交流的主要方法之一。它的通信依据是转载 2014-04-15 10:01:31 · 815 阅读 · 0 评论 -
Linux之pre-cpu变量
在Linux系统中,per-cpu变量用在SMP系统中,用来为每个cp原创 2014-08-12 11:14:58 · 1538 阅读 · 0 评论 -
LINUX-smp
在SMP系统中:获取当前活动cpu的ID:int cpu = smp_processor_id();原创 2014-08-12 11:01:15 · 656 阅读 · 0 评论 -
linux内核定时器分析
linux内核(2.6.28)操作定时器的数据结构为timer_list,timer_list结构体的一个实例对应一个定时器。struct timer_list { struct list_head entry; unsigned long expires; void (*function)(unsigned long); unsigned long data; struct tvec_base *base; #if原创 2011-02-17 18:15:00 · 1149 阅读 · 0 评论 -
fork和vfork的区别
<br />fork()和vfork()都是创建一个进程,区别在于:<br />fork():子进程拷贝父进程的数据段和代码段,且父子进程的执行顺序是不确定的<br />vfork():共享父进程的数据段,确保子进程优先执行,在调用exec或exit之前与父进程共享数据段,在调用exec或exit父进程才可能被调度运行。如果在调用这两个函数之前,子进程依赖于父进程的进一步动作,则会造成死锁。<br />举例如下:<br />#include <stdio.h><br />#include <unistd.h转载 2011-02-17 16:56:00 · 626 阅读 · 0 评论 -
进程上下文和中断上下文
<br />进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。<br /> <br /><br />处理器总处于以下状态中的一种:<br />1、内核态,运行于进程上下文,内核代表进程运行于内核空间;<br />2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;<br />3、用户态,运行于用户空间。<br转载 2011-02-17 11:57:00 · 730 阅读 · 0 评论 -
Debian下构建嵌入式交叉编译环境
在Debian下构建嵌入式交叉编译环境1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下. #sudo apt-get install gcc g++ libgcc1 libg++ make gdb(推荐使用:apt-get install build-essential 代替上面的安装)原创 2010-04-24 22:40:00 · 4084 阅读 · 0 评论 -
不能满足依赖关系,build-essential: 依赖: libc6-dev 但是它将不会被安装
不能满足依赖关系,build-essential: 依赖: libc6-dev 但是它将不会被安装转自:http://www.tetx.com/program/htm/tetx/blog/view/blog_id/1209961096/index.htm版本:debain5.0 lennyyzhang@hz143-28:~/src$ sudo apt-get install bui转载 2010-04-25 16:25:00 · 24012 阅读 · 4 评论 -
编译内核所需的软件包ncurses
如安装ncurses的时候直接使用:apt-get install ncurses 系统会告诉你找不到包,如果使用:apt-get install ncurses* 系统会建议你安装那些合适的,当然建议的不一定会完全对。然后你从建议的包中选择相关的安装即可。最后选择,apt-get install libncurses5-dev安装成功。如果安装不全,就用再atuo-a原创 2010-04-25 16:38:00 · 1159 阅读 · 0 评论 -
在驱动模块初始化函数中实现设备节点的自动创建
在驱动模块初始化函数中实现设备节点的自动创建我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。内核中定义了struct class结构体,顾名思义,一个struct class结构体转载 2010-04-27 09:54:00 · 484 阅读 · 0 评论 -
linux/compile.h头文件说明
<br />inux/compile.h头文件说明 <br />所有的内核代码,基本都包含了linux/compile.h这个文件,所以它是基础,打算先分析这个文件里的代码看看,有空再分析分析其它的代码。<br /><br />首先印入眼帘的是对__ASSEMBLY__这个宏的判断,这个变量实际是在编译汇编代码的时候,由编译器使用-D这样的参数加进去 的,AFLAGS这个变量也定义了这个变量,gcc会把这个宏定义为1。用在这里,是因为汇编代码里,不会用到类似于__user这样的属性(关于转载 2010-12-07 10:01:00 · 842 阅读 · 0 评论 -
boot开机制作方法
boot开机logo的制作方法<br />在有实现LCD显示和LCD命令行终端的U-boot中,在左上角都有显示一个logo,如果是atmel的芯片,就会有atmel的logo,三星的则是denx的logo。<br />有的网友发邮件说想改成自己公司的Logo,而且如果是自己玩的话,改成自己喜欢的logo也爽阿。所以今天我做好了实验,将简单的修改方法总结如下:<br />一、图片的放置路径<br /> 所有的开机logo都放在了 /tools/logos 之下,你只需要将你的班子作对应的logo替换就好了转载 2010-12-14 10:01:00 · 731 阅读 · 0 评论 -
vivi分析
<br /><br /> 在操作系统启动前,要先运行一段程序.这段程序就是BootLoader,即启动装载程序,它相当于PC机上的BIOS。通过这段程序,可以实现硬件设备的初始化,建立内存卒问映射等一系列初始化工作,从而将系统的软硬件环境初始化为一个合适的状态.以便为装载操作系统作好准备。在系统加电或复位后,CPU通常都是从一个预先定义的地址上取指令,而在嵌入式系统中,通常将某种类型的固态存储设备(如ROM、FIash等)映射到此地址处。通过烧写工具把BootLoader的映像烧写到这种固态存储设备上,在原创 2010-11-02 15:16:00 · 1026 阅读 · 0 评论 -
undefined reference to __udivdi3问题之解决
<br />编译时有时会遇到这种错误:<br />undefined reference to `__udivdi3'<br />嵌入式中,32位系统中(目前多数系统都是,比如ARM的片子),对于普通的a除以b(b为32位):<br />(1)当a为32位,Linux 内核中,常用uint32_t 类型,可以直接写为 a/b<br />(2)但是,对于a是64位,uint64_t的时候,就要用到专门的除操作相关的函数,linux内核里面一般为<br />do_div(n, base),注意,此处do_div原创 2010-11-05 10:25:00 · 5086 阅读 · 0 评论 -
mmap
<br />功能描述: <br />mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。 <br />基于文件的映射,在mmap和munmap执行过程的任何时刻,被映射文件的st_atime可能被更新。如果st_atime字段在前述的情况下没有得到更新,首次对映射区的第一个页索引时会更新该字段的值。用PROT_WRITE 和 MAP_SHARED标志建立起来的转载 2011-01-19 11:25:00 · 433 阅读 · 0 评论 -
linux中断机制分析
在linux设备驱动中,使用中断的设备需要申请和释放对应的中断,分别使用内核提供的request()和free()函数。1 申请IRQint request_irq(unsigned int irq, void (*handler)(int irq, void *dev_id ...), unsigned long irqflags, const char *devname, void *dev_id);其中irq:要申请的硬件中断号irqflags是要处理的中原创 2011-02-17 10:13:00 · 4059 阅读 · 0 评论