一、开发环境
1、内核:Linux 2.6.22.6;
2、JZ2440
3、ubuntu 9.10
二、互斥
为了实现同一时绝对的只能有一个进程使用某个设备需要互斥机制,linux互斥机制有多种,如原子变量、互斥锁、信号量、自旋锁、读写锁等等。
1、原子操作。指执行的过程中不会被别的代码路径所中断的操作。实现原子操作过程:
1.1 其常使用的函数有:
static atomic_t canopen = ATOMIC_INIT(1); //定义原子变量并初始化为1
atomic_dec_and_test(atomic_t *v))//自减操作,并检测是否为0,为0返回ture,为1返回false。