自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liaoye's blog

[sina weibo@廖野Paul]

  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 阻塞型字符设备驱动

阻塞型字符设备驱动[概述]首先明确一点,不管你是睡眠、休眠还是阻塞,还是挂起,本质上都是把进程放到等待队列上。 [休眠的实现]休眠通过等待队列进行处理。等待队列是由等待某些事件发生的进程组成的简单链表。内核中用wake_queue_head_t来代表等待队列。等待队列可以通过DECLARE_WAITQUEUE()静态创建,也可以由Init_waitqueue_head()动态创

2011-10-25 19:56:31 1019

转载 Linux内核模块符号导出后无法调用问题

Linux内核模块符号导出后无法调用问题Linux模块间通讯方法非常的多,最便捷的方法莫过于函数符号导出,然后直接调用。然而在linux2.6.26以后的内核中模块的符号导出经常会出现问题,一个模块中的导出符号不能被另外一个模块进行调用。这个使得处理有依赖关系的模块非常的头疼。1. 符号导出函数EXPORT_SYMBOL() EXPORT_SYMBOL标签内定义的函数对全部内核代码

2011-10-25 11:39:47 1595

原创 commonly spoken English

1. I see. 我明白了。 2. I quit! 我不干了! 3. Let go! 放手! 4. Me too. 我也是。 5. My god! 天哪! 6. No way! 不行! 7. Come on. 来吧(赶快) 8. Hold on. 等一等。 9. I agree。 我同意。 10. Not bad. 还不错。 11. Not yet. 还没

2011-10-20 11:52:53 1022

原创 linux驱动子系统之输入子系统(1)

linux驱动子系统之输入子系统(1)1.输入子系统框架1.1 概述内核提供的输入子系统是对分散的、多种不同类别的输入设备(键盘、鼠标、触摸屏、加速计、跟踪球、操纵杆等)进行统一处理的驱动程序。 输入子系统带来的好处:l  抽象底层形态各异的硬件输入设备,为上层提供了统一的操作接口 l  提高了代码重用率和效率,减少了bug  1.2 系统框架

2011-10-18 20:51:47 10292 1

原创 一些C语言题

一些C语言题**此文是转载高手的blog,源地址无法找到,本人进行少量的修改和添加了一些内容**[预处理器(Preprocessor)] 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 *365)UL 我在这想看到几件事情:1). #define

2011-10-15 10:50:11 1541

原创 运行时数据结构

运行时数据结构[段]文本段也称为代码段;数据段包含经过初始化的全局和静态变量以及它们的值;BSS(block started by symbol)段包含未初始化的全局变量和静态变量;堆栈段(stack)包含局部变量、临时数据、传递到函数中的参数等,运行时产生;堆(heap)用于动态分配的内存(malloc),平常所看到的段错误和内存泄露就是发生在堆里的; [可执行文

2011-10-13 22:20:01 1061

原创 简单字符设备驱动和自动创建设备文件

简单字符设备驱动和自动创建设备文件国庆花了两天时间把字符设备驱动重新学习了一下,发现自己之前学的几乎一半都忘得一干二净了,所以决定写成blog,以便以后会用到,也供初学者参考。[必要的头文件]/** Asimple character driver for learn*/#include #include #include #include #in

2011-10-07 14:29:07 2681 1

原创 野指针和内存泄露

内存泄漏也称作“存储渗漏”  用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。内存泄漏概念  简单的说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。泄漏的分类

2011-10-07 13:42:09 2811 1

原创 About Extern “C”

About Extern “C”1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对

2011-10-07 13:39:34 710

原创 About volatile

About volatile由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化,但有可能会读脏数据。当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存

2011-10-07 13:37:43 628

原创 About const

About constconst是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。   虽然这听起来很简单,但实际上,const

2011-10-07 13:36:18 655

原创 Crosstool-ng制作交叉编译工具链

Crosstool-ng制作交叉编译工具链交叉编译器可以用现成的,比如CodeSourcery制作的交叉编译器,也可以自己制作,一般是用kernel+gcc+glibc+binutils的源码包来编译安装,后来由于这个太麻烦于是就有类似crosstool这样的自动化配置工具。

2011-10-07 13:24:31 3326

win10 batteryhistorian install doc

win10 batteryhistorian install doc

2022-03-14

导出的docker battery historian镜像

导出的docker battery historian镜像

2022-03-13

空空如也

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

TA关注的人

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