linux2.6专题

Linux驱动(五):Linux2.6驱动编写之设备树

目录 前言一、设备树是个啥?二、设备树编写语法规则1.文件类型2.设备树源文件(DTS)结构3.设备树源文件(DTS)解析 三、设备树API函数1.在内核中获取设备树节点(三种)2.获取设备树节点的属性 四、应用示例1.设备树2.驱动层3.应用层 前言   本文主要讲解了一下设备树的概念,编写语法规则,API函数和使用流程,最后使用LED灯闪烁,实战验证了一下。 一、

Linux2.6设备驱动开发

一:Linux2.6驱动设备开发的特点 1:首先是属于字符型设备注册的方法之一         这种开发接口是在Linux2.6引入的,之前的版本不支持这种开发方式,也是目前最标准的开发方式。 2:Linux2.6的设备开发         不再去限制设备号,与其对应的就是需要去申请可用的设备号。 3:Linux2.6注册完毕设备且成功之后并不会生成设备文件 对于这种情况有两种方法:

Linux驱动学习之点灯(四,linux2.6)

上篇最后的第二种点灯方法年代比较久远,register_chrdev()这个函数一下申请了255个设备号,不建议使用  如下图 下图的函数在linux2.6里是上图函数的升级版,不过他是静态分配,后续还得添加到cdev里 从上图函数不难发现,静态申请多个设备号,主设备号不变,次设备号++ 一般我们会使用下图函数动态申请设备号,并添加到cdev里 第一个

让linux2.6.24内核在开发板支持usb鼠标

Cited from http://blogold.chinaunix.net/u2/64681/showart_508931.html 今天下午,对以前移植的linux2.6.24内核不能检测USB鼠标进行了修改menuconfig,新内核的USB鼠标在内核 drivers/hid/usbhid目录下,文件名:usbmouse.c,如果你需要对鼠标驱动修改就看这个文件,我的开发板暂时不需要对

Linux2.6 内核进程调度分析

进程的调度时机与引起进程调度的原因和进程调度的方式有关。在 2.6 中,除核心应用     主动调用调度器之外, 核心还在应用不完全感知的情况下在以下三种时机中启动调度器工作:     1>从中断或系统调用返回到用户态;     2>某个进程允许被抢占 CPU;     3>主动进入休眠状态;        调度策略:     在 Linux2.6 中,仍有三种调度策略: SCHED_OTHER、

linux2.6 内核I2C驱动框架-韦东山-专题视频课程

linux2.6 内核I2C驱动框架—1919人已学习 课程介绍         新版本I2C框架和这个差不多,建议重点看新版本的 课程收益     熟悉2.6 内核I2C驱动框架 讲师介绍     韦东山 更多讲师课程     2003 年毕业于中国科学技术大学,电子专业、软件专业双学位。近10年嵌入式开发经验,曾ZTE公司负责Linux底层系统开发。 近5年

Linux2.6的LOGO制作与显示

前不久,因为工作需要更换了液晶屏,分辨率由原来的640*480换成了800*600。 当然首先更改了液晶屏驱动,修改了相应的参数。把开机Logo也进行了更换,分辨率修改为800*600。 但是开机时,Logo无法显示,提示以下错误。 fbcon_init: disable boot-logo (boot-logo bigger than screen). 真是扯淡啊,查看源代码

【Linux】——进程地址空间 Linux2.6内核进程调度队列

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、环境变量的补充 二、进程空间的地址 2.1、程序地址空间 2.2、研究背景 2.3、程序地址空间 来段代码感受一下 2.4、进程地址空间 2.5、如何理解地址空间 a、什么是区域划分 b、地址空间的理解 2.6、为什么要有地址空间 2.7、进一步理解页表和写实拷贝 2.

linux2.6内核启动流程

计算机在启动时都是先加电,然后进行硬件检测并引导操作系统的初始化程序,然后操作系统的初始化程序程负责读入系统内核并建产系统的运行环境.一这过程相对来说比较复而且与CPU体系结构相关,这里我们通过linux 并以i386的体系结构对这一过程进行较为详细的说明.  一、硬件检测  当 机器加电后它首先执行BIOS(基本输入输出系统)中的代码,BIOS首先执行加电自检程序(POST),当自检通过程便完成

移植Linux2.6.39到杨创utu2440

http://blog.csdn.net/panzhenjie/article/details/6443311 移植是基于比较新的官方的2.6.39的内核,下载下来linux-2.6.39.tar.bz2,然后解压。 view plain tar jxvf linux-2.6.39.tar.bz2   进入内核目录,把最接近utu2440的默认配置文

移植linux2.6.38产生的问题及其解决方法

在移植linux2.6.38过程中,遇见了很多的问题,通过在网上查阅相关信息和在图书馆不停的查阅资料,终于成功了。下面将移植过程中产生的问题及其解放方法与大家共享一下。 1、编译内核时yaffs2出现unknown field 'clear_inode' specified in initializer的 错误,原因是所下载的yaffs2不支持linux2.6.38.    解决方法:

详解Linux2.6内核中基于platform机制的驱动模型 (经典)

【摘要】本文以Linux 2.6.25 内核为例,分析了基于platform总线的驱动模型。首先介绍了Platform总线的基本概念,接着介绍了platform device和platform driver的定义和加载过程,分析了其与基类device 和driver的派生关系及在此过程中面向对象的设计思想。最后以ARM S3C2440中I2C控制器为例介绍了基于platform总线的驱动开发流程

SPI驱动的移植(Linux2.6.24)

主题 : SPI驱动的移植(Linux2.6.24) 复制链接 | 浏览器收藏 | 打印 aoohoo   级别: 新手上路 作者资料 发送短消息 加为好友 UID:  3083 精华:  0 发帖:  36 金钱:  360 两 威望:  360 点 贡献值:  0 点 综合积分:  72 分 注册时间:  2008-12-

进程切换和是Linux2.6内核中进程调度的算法

正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 进程切换 进程并发就需要做到进程切换,一个CPU一套寄存器但是需要运行的进程有很多,CPU内是内置的有时间片的,当时间片到之后,上面的进程就会被从CPU上剥离下来,开始调度下一个进程,所以被剥离下来的进程就需要保存CPU中寄存器的内容,然后等到下一次被调度的时候再把内

linux2.6内核内存描述符与线性区分析

内存描述符与线性区 用户的等级与内核的等级是不同的,这个原因造成了当用户进程请求动态内存的时候,会被“拖延”,同时内核对用户进程也充满警惕,时刻准备捕获用户进程引起的所有寻址错误。用户进程所获得的空间是虚拟内存,是被称为“线性区”的空间,是一堆线性地址空间的使用权。而描述这一框架的数据结构就是内存描述符,线性区对象。内存描述符在slab分配器中,内存描述符彼此形成一个链表,而其中的字段的功

Linux驱动开发之杂项设备注册和Linux2.6设备注册

目录 一、杂项设备注册 杂项设备注册简介 杂项设备注册特点: 杂项设备注册相关API misc_register() misc_deregister() 杂项设备注册相关例程 例程简介 源码分享 二、Linux 2.6设备注册 Linux2.6设备注册简介 Linux 2.6设备注册特点 Linux2.6设备注册流程 ​Linux2.6设备注册相关函数 alloc

(Linux2.6内核)进程调度队列与切换

个人主页:Lei宝啊  愿所有美好如期而遇 我们首先来了解几个概念 1. 进程在CPU上运行的时候,一定要运行完才行吗?答案是否定的,我们大部分的操作系统,主流就是分时操作系统,即基于时间片进程轮转执行的。 时间片是什么呢?  就是进程有一个执行时间,这个时间到了就算没执行完,也不会继续执行,而是会执行下一个进程,每个进程都有自己的时间片,时间片到了就下一个进程。 2. 竞争

linux2.6.32内核移植,3G在linux2.6.35内核下的移植

一、 移植环境: 【移植环境】 1、 主机:Ubuntu 10.10发行版 2、 目标机:FS_S5PC100平台 3、 交叉编译工具:arm-none-linux-gnueabi-4.5.1 4、3G模块 华为 e220 5、SIM卡 联通3G 6、pppd ppp-2.4.4 7、Linux文件系统:rootfs. cramfs. 8、内核:linux-2.6.35-farsight 二、

Linux寄存器+Linux2.6内核进程调度队列+命令行参数+环境变量

目录 一、寄存器 二、Linux2.6内核进程调度队列 (一)优先级 (二)活动队列 (三)过期队列 (四)active指针和expired指针 三、命令行参数 (一)举例一 (二)举例二 四、环境变量 (一)基本概念 (二)常见环境变量 (三)查看环境变量方法 (四)测试PATH (五)和环境变量相关的命令 (六)通过系统调用获取或设置环境变量 一、寄存