设为首页 加入收藏

TOP

Linux驱动:信号量同步测试
2014-11-24 14:32:34 来源: 作者: 【 】 浏览:1
Tags:Linux 驱动 信号 同步 测试

环境:


目标板:MINI6410


目标板LINUX内核版本:2.6.38




信号量主要函数:


//定义信号量


struct semaphore sem;


//初始化信号量


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


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


void down(struct semaphore *sem);


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


int down_interruptible(struct semaphore *sem);


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


int down_trylock(struct semaphore *sem);


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


void up(struct semaphore *sem);




测试代码:




测试



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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux驱动:内核延时测试 下一篇OK6410-A烧写yaffs系统步骤

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: