
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在早期的linux内核版本的时间概念都是由周期时钟提供的。虽然比较有效,但是,对于关注能耗电量的系统上,就不能满足长时间休眠的需求,因为周期系统要求必须在一定的频率下,周期性的处于活动状态。因此,linux提出了tickless system,即无时钟系统。其关键就是判定系统当前是否无事可做,若是则禁用时钟系统。判定系统当前无事可做的依据是:如果运行队列时没有活动进程,内核将选择idle进程来运行
参考文件:arch/mips/kernel/scall32-o32.Ssys_call_table定义了系统调用的函数列表。在这个表中反复引用sys这个汇编宏定义二元组。.macro sys function, nargs PTR /function LONG (/nargs .endm这个表
用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:lpj@lpj-linux:~$ which ls/bin/ls用命令搜索该软件所在包,代码如下:lpj@lpj-linux:~$ dpkg -S /bin/lscoreu
今天我们详细了解一下spin_lock在内核中代码实现,我们总共分析四个项目: 1.spinlock_t的定义分析:首先来看一下spinlock_t的定义:typedef struct { raw_spinlock_t raw_lock;#if defined(CONFIG_PREEMPT) &&defined(CONFIG_SMP) unsig
【问题】编译Linux下面的代码,经常会遇到这种错误:undefined reference to `__udivdi3'【解决过程】之前遇到过几次了,都是类似的原因导致此问题的。后来才了解,其根本原因:嵌入式中,32位系统中(目前多数系统都是,比如ARM的片子),对于普通的a除以b(b为32位):(1)当a为32位,Linux 内核中,常用uint
在Linux内核源码中,经常要对链表进行操作,其中一个很重要的宏是list_for_each_entry:意思大体如下:假设只有两个结点,则第一个member代表head,list_for_each_entry的作用就是循环遍历每一个pos中的member子项。图1:pos:
V4L是 Video for Linux的缩写,它是Linux 内核中关于视频设备的子系统,它为linux 下的视频驱动提供了统一的接口,使得应用程序可以使用统一的API 函数操作不同的视频设备,极大地简化了视频系统的开发和维护。 由于早期的 V4L 有很多缺陷,Bill Dirks 等人对其进行了重新设计,并取名为Video for Linux 2(V4L2使用),最早出现于Linu
这几天为公司开发板编写了矩阵键盘驱动,还有之前编写的触摸屏驱动,都属于input设备,归于input子系统之下。因此从网上找文章学习了一下input子系统。其实编写驱动并不一定需要完全明白input子系统的实现,只要知道其向下提供给具体设备的接口如何使用就可以,input子系统是内核的逻辑,是在内核和驱动之间的一层封装。下面是从网上搜到的文章,记录以便以后在学习:L
Linux内核启动参数 Console Options 参数说明选项内核配置/文件 console=Options用于说明输出设备ttyn 终端 ttySn[,options],
转载于:http://blog.mcuol.com/User/webenson/Article/1816_1.htm本文通过整理之前研发的一个项目 (ARM7TDMI + uCLinux),分析内核启动过程及需要修改的文件,以供内核移植者参考。整理过程中也同时参考了众多网友的帖子,在此谢过。由于整理过程匆忙,难免错 误及讲解的不够清楚之处,请各位网友指正,这里提前谢过。本文分以下部







