自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wu7585535的专栏

吴聪帅是傻.β

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 深层次分析linux2.6input子系统

在linux下,按键、触摸屏、鼠标等都可以利用input接口函数来实现设备驱动。  从上图可知:输入子系统由三部分构成:1 驱动2 输入子系统3 处理函数其中2,3都是内核已经完成,我们要完成的就是1驱动设备用input_dev结构体描述,使用input子系统实现输入设备驱动的时候,驱动的核心工作是向系统报告按键、触摸屏、键盘、鼠标等输入事件(event,通

2012-08-25 16:59:46 901

原创 浅析2.6设备模型

2.6内核引入了sysfs文件系统,sysfs被看成与Proc devfs devpty同类别的文件系统,该文件系统是一个虚拟的文件系统,它可以产生一个包括所有系统硬件的层级视图,跟proc文件系统类似。sysfs的顶级目录包括 block device bus drivers class power firmwareblock目录包含所有块设备,devices目录包含系统所有的设备并根据

2012-08-22 20:36:02 374

原创 linux内核调度策略的修改对内核线程的影响

首先介绍下内核线程:直接上代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include MODULE_LICENSE

2012-08-22 15:39:39 836

原创 Linux2.6 I2C子系统分析

在linux中iic是以子系统的方式存在,我们查看2.6.32.2的内核源代码结构:在/drivers/iic目录下有algos busses chips文件夹,有i2c-core.c i2c-dev.c i2c-boardinfo.c源文件,那么这些分别代表什么呢?Algos目录下主要存放I2C总线适配器的algorithm。也就是I2C通信的一些算法,比如多少频率等

2012-08-21 15:47:43 812

原创 从用户态的open到内核驱动实现流程

我们之前在系统调用已经知道,在arm中open系统调用会产生一个SWI终端,最后跳转到call.c中 sys_open.我们看到里面所完成的工作为:1、查看打开的是否是大文件,如果是的话,置大文件标志位:O_LARGEFILE2、做do_sys_open()函数调用。3、检查2的调用返回值ret是否有效。查看do_sys_open()函数所完成的工作为:(1)调用get

2012-08-21 15:26:33 712

原创 浅析linux2.6 framebuffer

在Linux内核中,Framebuffer(帖缓冲)驱动是显示驱动的标准,Framebuffer将显示设备抽象为帖缓冲区,用户通过内存映射到进程地址空间之后,就可以直接进行读写操作,且写操作可以立即在屏幕上进行显示,在Linux内核/linux/drivers/video/下有相关的显示驱动与接口,其中Frmaebuffer驱动接口为fbmem.c。framebuffer驱动架

2012-08-20 22:48:24 1309

原创 C野指针

野指针”不是NULL指针,是指向“垃圾”内存(不可用内存)的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if无法判断一个指针是正常指针还是“野指针”。有个良好的编程习惯是避免“野指针”的唯一方法。 对指针操作不规范会很可能导致系统内存访问错误。下面举一个例子:        #include   #include   #inc

2011-11-05 15:44:15 569

原创 关于u cos 中延时函数OSTimeDly和任务通信***pend()函数对任务的影响分析

在u cos系统中,OSTimeDly和***pend都对任务有状态改变的作用,那么这两个函数到底有什么不同呢?例程分析:static  void App_TaskStart(void* p_arg)//优先级为2{ static st t;    INT8U

2011-10-11 18:19:42 1323

原创 u cos 延时函数用法小节

在u cos ii中任务延时函数是非常重要的的功能函数,它可以使任务在超级循环中不至于独占CPU,因为在任务中调用一次这个函数系统会进行一次任务调度,从而执行下一个优先级更高的任务,一旦调用OSTimeDly()所规定的时间满或者有其他任务通过调用OSTimeDlyResume(

2011-10-10 10:05:26 650

原创 stm32 通用定时器

stm32通用定时器是 TM2 3 4 5。功能包括:向上向下计数。16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意的值等等简单介绍一下利用TIM产生中断方法:其中有三个寄存器很重要:TIMx_CR1 时钟控制寄

2011-09-16 21:32:43 1041

原创 i2c总线协议总结

一. I2C协议技术性能:    工作速率有100K和400K两种;    支持多机通讯;    支持多主控模块,但同一时刻只允许有一个主控;         由数据线SDA和时钟SCL构成的串行总线;    每个电路和模块都有唯一的地址;

2011-09-13 12:34:03 329

原创 关于linux进程通信总结

进程的定义:进程是一个具有独立功能的程序的一次性活动。特点:1,独立性 2,并发性 3,动态性 4, 异步性进程ID:标识进程的唯一数字(PID以及PPID)。进程互斥:若干个进程访问一个资源时,只允许一个进程访问资源。其他进程需等待该进程访问完毕后才能使用该

2011-09-13 12:32:56 376

原创 关于linux线程总结

关于linux 线程总结什么是线程: 线程是进程中某一单一顺序的控制流。是程序执行的最小单元。线程的优点:1, 占CPU时间,资源少。2, 一个进程中的多个线程共用一个地址空间,共享代码段,数据段,以及堆栈段。编写线程程序时,需加,编译时需加 –lpthrea

2011-09-13 12:31:46 341

原创 关于linux网络编程总结

OSI七层网络模型 建立七层网络模型的目的是为了让不同的制造商在网络上通信,比如我A主机是苹果公司生产,操作系统是苹果,B主机是IBM公司生产,操作系统是windows,在AB主机软硬件都不同的情况下通过七层网络模型就可以互相通信了。下面阐述一下各层的作用:1 应用层

2011-09-13 12:30:09 543

原创 2440 裸机小节

工作模式1 用户模式2 快速中断模式3外部中断模式4管理模式5数据访问终止模式6系统模式7未定义模式可通过软件改变,或外部中断改变模式。除去用户模式和系统模式其他5种模式都叫异常模式。寄存器37个32位寄存器,31个通用寄存器,6个状态

2011-09-13 12:28:15 386

U8开发之EAI接口

U8开发之EAI接口,详细介绍了U8的EAI接口开发,我觉得很不错啊

2015-12-09

linux操作系统原理

学习linux必看,有关Linux的内核的架构

2011-10-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除