
Linux驱动
文章平均质量分 82
bianhonglei
无
展开
-
[转]Linux驱动开发学习的一些必要步骤
1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。 5. 写一完整驱动, 加上转载 2009-07-30 21:00:00 · 466 阅读 · 0 评论 -
字符设备驱动入门级(一)
这里主要涉及字符设备的架构,各个函数的具体内容的研究可以后再进行更为深入的学习还是那句,排除干扰,勇往直前!字符设备驱动的组成:1. 模块的加载与卸载函数主要有以下几块 定义设备结构体 模块加载函数 模块卸载函数其中重要的有cdev结构体,主要完成设备号相关的及和文件操作函数的连接,同时提供申请内存等操作 如:cdev_init()用于初始化cdev成员,并建原创 2009-12-05 13:39:00 · 720 阅读 · 0 评论 -
进程控制开发-1
进程的学习进程控制开发纲要基本概念定义:相对于程序而言,它是一个动态的过程,是资源分配的最小单位,包括动态的创建,调度消亡的整个过程,进程控制块:从系统的角度,通过进程控制块来描述进程,它包括描述信息,控制信息,以及资源信息,每一项是一个task_struct结构,include/linux/sched.h 进程控制块是进程存在的唯一标识,一般把PCB放在操作系统原创 2009-08-25 16:18:00 · 487 阅读 · 0 评论 -
(由尚德)Linux系统编程学习一(第一第二讲:进程)
Linux系统编程学习一第一讲 基础知识posix标准portale operating system interface for compputing system对Linux发展到今天很重要man手册善于使用man开发工具Windows IDELinux下emacs,vi,gcc的组合gcc选项-c-o-wallposix定义的数据类型在头文件sys/原创 2009-08-24 22:19:00 · 1750 阅读 · 0 评论 -
驱动学习--1--内核模块
驱动学习--1内核模块内核文件中实现多种功能的组件很多,要是都编译进内核,会出现以两个问题1,生成的内核会很大2,如果要修改某个功能,将不得不重新编译内核模块的机制特点:1,模块本身不被编译进内核,从控制内核的大小2,模块一旦被加载,它就和内核中的其他部分完全一样最简单的Linux内核模块示例#include #include MODULE_LICENSE("Dua原创 2009-08-23 21:38:00 · 751 阅读 · 0 评论 -
SWI指令---软件中断实例详解
SWI指令---软件中断实例详解关键字: SWI,指令,软件中断,实例,详解SWI,即software interrupt软件中断。该指令产生一个SWI异常。意思就是处理器模式改变为超级用户模式,CPSR寄存器保存到超级用户模式下的SPSR寄存器,并且跳转到SWI向量。其ARM指令格式如下:SWI{cond} immed_24Cond域:是可选的条件码 (参见 ARM汇转载 2009-08-21 10:35:00 · 1101 阅读 · 0 评论 -
Linux驱动学习---Linux设备驱动概述
Linux设备驱动概述以点亮LED为例:包括应用程序、库、操作系统、内核、驱动程序。而开发人员中只要关注自己的那一层,相邻层只关注接口就可以了1,应用程序使用库提供的open函数打开LED的设备文件2,库根据open函数传入的参数执行“SWI”指令,这是软中断,这条指令会引起CPU异常,进入内核3,内核异常处理函数就会根据这些参数找到相应的驱动程序,返回一个句柄给库,进而返回给应用程序4,应用原创 2009-08-21 17:00:00 · 834 阅读 · 0 评论 -
Next
字符型设备驱动大体情况如下重要的结构结构体及函数cdev结构体file_operationscdev_init()cdev_alloc()cdev_add()cdev_del()register_chrdev_region()alloc_chrdev_region()unregister_chrdev_region()file_operations结构体中的重要函数原创 2009-08-23 22:38:00 · 498 阅读 · 0 评论 -
tftp 安装与配置
安装: 先安装xinetd 服务:yum install xinetd安装tftp ,tftp-sever:yum install tftp tftp-sever 可以在这个网站搜索下载rpm包直接安装http://www.rpmfind.com 配置:更改tftp配置文件 /etc/xinetd.d/tftpvim /etc/xinetd.d/tftp# default: off# descri原创 2009-08-12 13:10:00 · 903 阅读 · 0 评论 -
学了5天Arm,今天谈谈初学感受
学了5天Arm,今天谈谈初学感受 一.初探 4月1日入手友善mini2440。先看了下板子,感觉没什么稀奇的,s3c2440总线上外挂SDRAM(对这个不是很感冒,之前搞过一个FPGA的SDRAM控制器),NOR . flash,Nand Flash, Enternet PHY +MAC芯片。心里视乎有点数了--------程序烧在Flash里,上电后s2c2440把代码从Fl转载 2009-07-31 11:12:00 · 1360 阅读 · 0 评论 -
驱动编程核心理论之并发控制
驱动编程核心理论之并发控制并发,竟态的理解:也就是Linux的东西在时间和空间被同时使用导致的问题Linux系统提供的解决方案: 中继屏蔽 原子操作 自旋锁 信号量 1,中断屏蔽 首先这个依赖于CPU,CPU一般提供屏蔽中断的打开中断的功能,中断屏蔽使得中断和进程之间的并发 不再发生,同时进程调试也依赖于中断,内核抢占的进程间并发也就可以避免原创 2009-12-13 17:25:00 · 831 阅读 · 0 评论