发布时间:2013-05-08 23:18:18
最近在做i2c的程序,今晚终于调试好了。这次先做裸机程序,在写Linux的驱动,最后看Linux的平台设备那套。结合前面的一个介绍I2C的文章(http://blog.chinaunix.net/uid-23247212-id-2802732.html),大概清楚了I2C具体是怎么开始,怎么传输数据、读数据,又是怎么结束的。(时间有点晚了,还是明天再总结).........【阅读全文】
发布时间:2013-05-03 10:44:12
放了一个五一,回来工作就没状态。在拿起spin lock时候才发现里面实现的还是比较复杂的。话说互斥和同步有semaphore , mutex等等。但是呢semaphore的性能没mutex好(对于为什么mutex比semaphore好,可以参看mutex-design.txt),而且比mutex大。所以现在广泛的使用mutex。看了mutex的结构体后发现里面其实使用了spin,.........【阅读全文】
发布时间:2013-04-29 18:38:50
所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断。这种情况一般出现在一个变量会被多个线程使用。那么在其使用时需要避免中断。具体下面原子操作的概念可以参考《linux内核设计与实现》第八章 内核同步方法。在Linux里面提供了原子操作typedef struct {volatile int counter;} atomic_t;.........【阅读全文】