自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (28)
  • 收藏
  • 关注

转载 ftrace 简介

刘 明 (ovis_poly@sina.com), 软件工程师, 上海交通大学电子与通信工程系刘明,从事嵌入式软件开发,热爱开源软件。喜欢学习和使用 linux,目前致力于数据库方面的工作和研究简介: Trace 对于软件的维护和性能分析至关重要,ftrace 是当前 Linux 内核中一种新的 trace 工具。本文介绍 ftrace 的使用和实现原理,并将 ftrace 和 systemTap,LTTng 等软件进行对比,希望读者能够对 ftrace 有一个全面的了解

2011-05-31 10:33:00 828

转载 开源Liecense介绍

<br />开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的。开源运动同样有自己的游戏规则和道德准则。不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。<br />现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。

2011-05-28 11:03:00 790

原创 softirq 使用

在上一篇 “一个简单的并口驱动”的基础上,我增加了softirq的使用。具体描述:Softirq:1.    Add an entry in file 'include/linux/interrupt.h'.enum{    HI_SOFTIRQ=0,    TIMER_SOFTIRQ,    NET_TX_SOFTIRQ,    NET_RX_SOFTIRQ,    BLOCK_SOFTIRQ,    TASKLET_SOFTIRQ,    SCHED_SO

2011-05-27 23:23:00 1084

原创 一个简单的并口驱动

// parport.c/*Function: It implement parport read and write method.-------------------------------------------------------- How to use: * # echo "" > /var/log/messages //clear file * # insmod pipe.ko * # cat /var/log/messages you can

2011-05-25 10:47:00 1666

原创 kthread helpers --- a good choice to replace complex completion interfaces

<br />/*The kthread interface provides you free access to a built-in exit synchronization mechanism implemented using the completion interface.You may directly call kthread_stop() to ask the corresponding task to exit. And make a neat call to kthr

2011-05-21 10:51:00 947

原创 synchronizing using completion function

<br />essential linux device dirver:<br /> <br />In the following example,  'my_release' is called when module is removed.<br />But before the module's unloaded, you have to make sure that 'my_thread' <br />has finished some very important task which will

2011-05-20 11:13:00 712

原创 Notifier Chains

<br /> <br />Essential linux device driver:<br /> <br />Notifier chains are used to send status change messges to code regions that request them.<br />There are Die notification, Net device notification,  CPU frequency notification, and Internet address no

2011-05-19 21:31:00 1441

原创 工作队列 例子

<br />接着 上一篇  “工作队列 的变化”<br />写了个例子,代码如下:<br /> <br />#include <linux/workqueue.h>#include <linux/module.h> // kmalloc ... #include <linux/sysctl.h>int submit_work(void (*func)(struct work_struct *work), void* data);struct workqueue_struct* wq = NU

2011-05-19 17:10:00 1112

转载 工作队列 的变化

<br /><br />原文<br />Linux自从2.6.20之后,工作队列发生了一些变化,目前从网络上搜索的资料一般都是介绍老版本的工作队列,很少见到对新版本的介绍。本文对新老版本都做了简要概述,并分别提供了简单的实作案例。<br />工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。<br />工作队列是2.6内核开始引入的机制

2011-05-19 16:27:00 1015

原创 link list and wait queue

<br />-  test2.c (/usr/src/linux-2.6.23/joseph)<br />|-   struct                   <br />||     _mydrv_wq              <br />||     _mydrv_work            <br />|                             <br />|-   variable                 <br />||     mydr

2011-05-13 11:22:00 997

原创 kernel thread, wait queue, /proc/sys/kernel entry, call usermode handler in kernel mode

author: Joseph(Honggang Yang)@dslabdate: 05-10-2011Key words: kernel thread, wait queue, /proc/sys/kernel entry, call usermode handler in kernel mode====================================================In this section I sill show you how to create two kerne

2011-05-10 22:45:00 1704

原创 /proc/sys/kernel/ 入口项的创建

<br />/proc/sys/kernel/* entry creationYou have to modify the Linux source code. Here we use 2.6.23.1. Add an entry to the kern_table array in kernel/sysctl.c as following ... { .ctl_name = KERN_MYEVENT_HANDLER,//Define in

2011-05-10 21:30:00 2139

原创 call_usermodehelper() ---让内核空间的驱动程序启用用户空间的若干应用程序

背景知识:call_usermodehelper()用来让内核空间的驱动程序启用用户空间的若干应用程序,如:/sbin/hotplug、/bin/gliethttp_hello等,它的函数原型如下:static inline int call_usermodehelper(char *path, char **argv, char **envp, enumumh_wait wait);path --- 用户空间所要启用的应用程序路径,如:"/sbin/hotplug",那么hotplug应用程序就会被内核加

2011-05-08 11:02:00 3333 2

原创 kernel thread 应用

<br />author: joseph<br />email: ganggexiongqi@gmail.com<br />==============================<br /> <br />本节介绍下kernel thread简单使用的例子实验.<br /> <br />我的系统:<br /> <br />joseph:/usr/src/linux-2.6.23/joseph# uname -a<br />Linux joseph 2.6.23 #1 SMP PREEMPT Fri Ma

2011-05-07 11:43:00 1313

The Zettabyte File System

The Zettabyte File System zfs

2015-09-06

ZFS On-Disk Specification Draft

ZFS On-Disk Specification – Draft ZFSOnDiskFormat.pdf, Sun Microsystems, Inc., 2006-08)

2015-08-29

文件系统的数据结构之间的概要视图

文件系统的数据结构之间的概要视图

2013-05-13

一个用户空间网卡驱动的设计和实现

一个基于UIO和UIO-DMA的用户空间网卡驱动的设计和实现。

2013-01-05

经典汇编教程

* 第1章 汇编语言的由来,数据类型 o 1.1 汇编语言的由来 o 1.1.4 汇编语言的特点 o 1.1.5 汇编语言的应用领域 o 1.2 数据地表示和类型 o 1.2.1 数值表示及其扩展 o 1.2.2 非数值数据的表示 o 1.2.3 基本的数据类型 o 1.3 习题 * 第2章 CPU资源和存储器 o 2.1 寄存器组 o 2.1.2 通用存储器的作用 o 2.1.3 程序状态字 o 2.2 16位微机存储器的管理模式 o 2.2.1 物理地址的形成方式 o 2.2.1 段寄存器的引用 o 2.2.1 存储单元的内容 o 2.2.2 32位微机存储器的管理模式 o 2.3 习题 * 第3章 操作数的寻址方式 o 3.1 立即数寻址方式 o 3.2 寄存器寻址方式 o 3.3 直接寻址方式 o 3.4 寄存器间接寻址方式 o 3.5 寄存器相对寻址方式 o 3.6 基址加变址寻址方式 o 3.7 相对基址加变址寻址方式 o 3.8 32位地址的寻址方式 o 3.10 习题 * 第4章 标识符和表达式 o 4.1 标识符 o 4.2.2 字节变量的定义 o 4.2.3-4 字/双字变量的定义 o 4.2.5 多字变量的定义 o 4.3 调整偏移量的伪指令 o 4.3.3 调整偏移量伪指令ORG o 4.4 复合内存变量的定义 o 4.4.2 结构类型的定义 o 4.4.2 结构变量的定义 o 4.4.3 联合类型的定义 o 4.4.3 联合变量的定义 o 4.4.4 记录类型的定义 o 4.4.4 记录类型的定义 o 4.4.5 数据类型的自定义 o 4.5 标号、属性 o 4.6.3 类型属性操作符 o 4.6.6 强制属性操作符 o 4.6.7 存储单元别名操作符 o 4.7 表达式 o 4.7.2 数值表达式 o 4.7.3 地址表达式 o 4.8 符号定义语句 o 4.8.2 等号语句 o 4.9 习题 * 第5章 微机CPU的指令系统 o 5.1 汇编语言指令格式 o 5.2 指令系统 o 5.2.1-传送-填充指令 o 5.2.1-取有效地址指令 o 5.2.1-堆栈操作指令 o 5.2.2 标志位操作指令 o 5.2.3 算术运算指令 o 5.2.3 减法指令 o 5.2.3 乘法指令 o 5.2.3 除法指令 o 5.2.3 类型转换指令 o 5.2.4 逻辑运算指令 o 5.2.5 移位操作指令 o 5.2.5 逻辑移位指令 o 5.2.5 双精度移位指令 o 5.2.5 循环移位指令 o 5.2.5 带进位的循环移位指令 o 5.2.6 位操作指令 o 5.2.6 位操作指令 o 5.2.7 比较运算指令 o 5.2.8 循环指令 o 5.2.8-循环指令 o 5.2.9 转移指令 o 5.2.9-条件转移指令 o 5.2.10 条件设置字节指令 o 5.2.11-字符串操作指令 o 5.2.11-字符串比较指令 o 5.2.11-重复字符串操作指令 o 5.2.12-ASCII-BCD调整指令 o 5.2.12-乘、除法调整指令 o 5.2.12-十进制调整指令 o 5.2.13 处理器指令 o 5.3 习题 * 第6章 程序的基本结构 o 6.1 程序的基本组成 o 6.1.2 段寄存器的说明语句 o 6.1.3 堆栈段的说明 o 6.1.4 源程序的结构 o 6.2 程序的基本结构 o 6.2 程序的基本结构举例 o 6.2.2 分支结构 o 6.2.2 分支结构 o 6.2.2 用伪指令实现分支结构 o 6.2.3 循环结构 o 6.2.3 伪指令实现的循环结构 o 6.2.3 辅助循环伪指令 o 6.3 段的基本属性 o 6.3.3 段的类别和段组 o 6.4 简化的段定义 o 6.4.2 段简化定义伪指令 o 6.4.3 简化段段名的引用 o 6.5 源程序的辅助说明伪指令 o 6.6 习题 * 第7章 子程序和库 o 7.1 子程序的定义 o 7.2 子程序的调用和返回 o 7.2.2 子程序的返回指令 o 7.2.2 子程序的举例 o 7.3 子程序的参数传递 o 7.3.2 存储单元传递参数 o 7.3.3 堆栈传递参数 o 7.4 寄存器的保护与恢复 o 7.5 子程序的完整定义 o 7.5.2 子程序的位距和语言类型 o 7.5.4 子程序的可见性和首尾宏操作 o 7.5.6 寄存器的保护与恢复 o 7.5.7 子程序参数传递 o 7.5.9 子程序调用伪指令 o 7.5.10 局部变量的定义 o 7.6 子程序库 o 7.6.3 库文件的应用 o 7.6.3 库文件的应用举例 o 7.6.4 库文件的好处 o 7.7 习题 * 第8章 输入输出和中断 o 8.1 输入输出的基本概念 o 8.1.2 I/O指令 o 8.2 中断 o 8.2.2 中断指令 o 8.2.3 中断返回指令 o 8.3 中断功能的分类 o 8.3.1 键盘输入中断 o 8.3.2 屏幕中断功能 o 8.3.2 屏幕中断功能 o 8.3.2 屏幕中断功能 o 8.3.2 键盘中断的处理过程 o 8.3.2 键盘中断举例 o 8.3.3 打印输出中断 o 8.3.4 串行口中断功能 o 8.3.5 鼠标功能中断 o 8.3.6 目录和文件的中断功能 o 8.3.7 内存管理的中断功能 o 8.3.8 读取和设置中断向量 o 8.3.8 修改中断向量 o 8.4 习题 * 第9章 宏 o 9.1 宏的定义 o 9.1.2 宏的引用 o 9.1.4 宏的嵌套定义 o 9.1.5 宏与子程序的区别 o 9.2 宏参数的特殊运算符 o 9.2.3 字符转义运算符 o 9.3 与宏有关的伪指令 o 9.3 与宏有关的伪指令 o 9.4 重复汇编伪指令 o 9.4 重复汇编伪指令 o 9.5 条件汇编伪指令 o 9.6 宏的扩展——REPEAT/WHILE o 9.6 宏的扩展——FOR/FORC o 9.6 宏的扩展——GOTO o 9.6 宏的扩展——系统定义的宏 o 9.7 习题 * 第10章 应用程序设计 o 10.1 字符串的处理程序 o 10.1 字符串的处理程序 o 10.1 字符串的处理程序 o 10.2 数据的分类统计程序 o 10.2 分类统计程序举例 o 10.3 数据转换程序 o 10.3 数据转换程序举例 o 10.3 数据转换程序举例 o 10.3 数据转换程序举例 o 10.4 文件操作程序 o 10.4 文件操作程序举例 o 10.5 动态数据的编程 o 10.6 COM文件的编程 o 10.7 驻留程序 o 10.8 程序段前缀及其应用 o 10.8.2 程序段前缀的应用 o 10.9 习题 * 第11章 数值运算协处理器 o 11.1 协处理器的数据格式 o 11.1.3 浮点数 o 11.1 浮点数转化为十进制数 o 11.2 协处理器的结构 o 11.2.2 状态寄存器 o 11.2.2 存取状态寄存器 o 11.2 协处理器的结构 o 11.3 协处理器的指令系统 o 11.3.2 数据传送类指令 o 11.3.3 数学运算类指令 o 11.3.4 比较,超越函数运算指令 o 11.3.6 常数操作,控制指令 o 11.4 协处理器的编程举例 o 11.5 习题 * 第12章 汇编语言和C语言 o 12.1 汇编指令的嵌入 o 12.2 C语言源程序的汇编输出 o 12.3 简单的屏幕编辑程序 o 12.4 习题 * 汇编语言重要附录

2012-04-12

latex.tar.bz2

latex相关的电子书和listings使用 和一个paper的模板

2012-02-23

现代汉语词典.tar.bz2

现代汉语词典.tar.bz2

2012-01-11

牛津现代英汉双解词典

牛津现代英汉双解词典.tar.bz2

2012-01-11

朗道英汉字典.tar.bz2

朗道英汉字典.tar.bz2 星际译王 辞典

2012-01-11

算法导论 和 答案

算法导论 和 答案 算法导论 和 答案 算法导论 和 答案 算法导论 和 答案

2011-10-19

并口 ECP 模式详细介绍

并口 ECP 模式详细介绍 ECP parallel port

2011-10-13

Real-Time Concepts for Embedded Systems

Real-Time Concepts for Embedded Systems 一本不错的对嵌入式实时系统概要介绍的书

2010-10-09

分布式系统 答案 一版 & 二版

分布式系统 答案 一版 & 二版 分布式系统 答案 一版 & 二版

2010-09-12

Distributed_Systems_Principles_and_paradigms e2

Distributed_Systems_Principles_and_paradigms e1Distributed_Systems_Principles_and_paradigms e1 第二版

2010-09-12

Distributed_Systems_Principles_and_paradigms e1_2

Distributed_Systems_Principles_and_paradigms e1Distributed_Systems_Principles_and_paradigms e1

2010-09-12

Distributed_Systems_Principles_and_paradigms e1

Distributed_Systems_Principles_and_paradigms e1 Distributed_Systems_Principles_and_paradigms e1

2010-09-12

MCS9865_Linux_UM_Ver1.1.doc

MCS9865_Linux_UM_Ver1.1 MCS9865_Linux_UM_Ver1.1 官方参考文档

2010-09-09

嵌入式Linux系统开发技术详解 完整版

嵌入式Linux系统开发技术详解 嵌入式Linux系统开发技术详解 完整版

2010-08-07

omnetpp 安装手册

omnetpp 安装手册 安装包带的,希望对你有帮助

2010-08-07

Building Embeded Linux System

Building Embeded Linux System Building Embeded Linux System

2010-08-04

/Linux C常用库函数手册

Linux C 常用 库函数 手册 Linux C 常用 库函数 手册

2010-08-04

Linux 高级编程

Linux高级编程 Advanced Linux Programming

2010-08-04

空空如也

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

TA关注的人

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