`
hulunberbus
  • 浏览: 855209 次
文章分类
社区版块
存档分类
最新评论

Linux驱动:信号量同步测试

 
阅读更多

Linux驱动:信号量同步测试


本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.


环境:

主机:Fedora12

目标板:MINI6410

目标板LINUX内核版本:2.6.38


信号量主要函数:

//定义信号量

struct semaphore sem;

//初始化信号量

void sema_init(struct semaphore *sem,int val);

//获得信号量,会导致睡眠,不可在中断中使用

void down(struct semaphore *sem);

//获得信号量,能被信号打断,返回0表示正常返回,返回-EINTR表示被信号打断

intdown_interruptible(struct semaphore *sem);

//尝试获得信号量sem,如果能够立即获得,返回0,否则返回非0值,它不会导致调用者睡眠,可以在中断上下文使用

intdown_trylock(struct semaphore *sem);

//释放信号,唤醒等待者

void up(struct semaphore *sem);


测试代码:



测试

http://blog.csdn.net/jdh99/article/details/7178741中的测试程序进行测试:

开启两个程序,同时打开,双进程同时操作LED

分享到:
评论

相关推荐

    嵌入式Linux驱动程序设计从入门到精通.part01.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 ...

    嵌入式Linux驱动程序设计从入门到精通.part02.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 ...

    嵌入式Linux驱动程序设计从入门到精通.part04.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 CHA6 ...

    嵌入式Linux驱动程序设计从入门到精通.part06.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 CHA6 ...

    嵌入式Linux驱动程序设计从入门到精通.part08.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 CHA6 ...

    嵌入式Linux驱动程序设计从入门到精通.part07.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 CHA6 ...

    嵌入式Linux驱动程序设计从入门到精通.part09.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 CHA6 ...

    嵌入式Linux驱动程序设计从入门到精通.part05.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 CHA6 ...

    嵌入式Linux驱动程序设计从入门到精通.part03.rar

    CHA2 1 信号量同步 2 阻塞式读写 3 定时器 4 内存映射 5 /proc访问 6 工作队列 CHA3 LED.c LED灯驱动 button.c 键盘驱动 CHA4 Linux内核I2C驱动 CHA5 usb-skeleton.c USB驱动框架 camera Spcaview相关代码 ...

    linux 驱动

    Linux 的 进程间同步异步的程序,互斥锁,信号量,完成量,poll 机制

    清华大学Linux操作系统原理与应用

    7.2.3 信号量 156 7.3 并发控制实例 157 7.3.1 内核任务及其并发关系 158 7.3.2 实现机制 158 7.3.3 关键代码解释 162 7.3.4 实现步骤 163 习题7 164 第8章 文件系统 165 8.1 Linux文件系统基础 165 8.1.1 Linux文件...

    Android驱动开发权威指南

    第二篇 勿于浮砂筑高台——Linux驱动基础篇 第3章Linux内核综述 3.1 OS基本概念 3.1.1多用户系统 3.1.2用户和组 3.1.3进程 3.1.4 Linux单核架构 3.2 Linux内核综述 3.2.1进程/内核模型综述 3.2.2内存管理综述 3.2.3...

    嵌入式Linux应用程序开发标准教程(第2版全)

    11.6.3 按键驱动的测试程序 11.7 实验内容——test驱动 11.8 本章小结 11.9 思考与练习 第12章 Qt图形编程基础 12.1 嵌入式GUI简介 12.1.1 Qt/Embedded 12.1.2 MiniGUI 12.1.3 Microwindows、TinyX等 12.2 Qt/...

    Linux2.6内核标准教程(共计8-- 第1个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

    Linux2.6内核标准教程(共计8--第6个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

    Linux程序设计 第4版.haozip01

    14.1.3 linux的信号量机制 490 14.1.4 使用信号量 492 14.2 共享内存 496 14.2.1 shmget函数 497 14.2.2 shmat函数 497 14.2.3 shmdt 498 14.2.4 shmctl 498 14.3 消息队列 502 14.3.1 msgget函数 502 ...

    Linux2.6内核标准教程(共计8--第8个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

    Linux2.6内核标准教程(共计8--第3个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

    Linux2.6内核标准教程(共计8--第7个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

    Linux程序设计 第4版.haozip02

    14.1.3 linux的信号量机制 490 14.1.4 使用信号量 492 14.2 共享内存 496 14.2.1 shmget函数 497 14.2.2 shmat函数 497 14.2.3 shmdt 498 14.2.4 shmctl 498 14.3 消息队列 502 14.3.1 msgget函数 502 ...

Global site tag (gtag.js) - Google Analytics