分类: LINUX
2009-06-23 19:13:48
1、冷静的编写代码,不管是驱动还是app,不为外物所动,心中只有代码。
2、了解Linux Kernel各部分工作方式,减少所开发程序的常识性错误。
3、获取所需驱动设备的基本知识,保证开发的正确性。
4、详细阅读分析datasheet会在一定程度上降低开发前期速度,但是却会加速后期的开发速度。
5、合理使用调试等级制度可以对输出进行更详细的设置,在调试时能更方便的得到需要的调试信息。例如:
#define DM9000_DEBUG 0
#if DM9000_DEBUG > 1
#define PRINTK2(args...) printk(“DM
#else
#define PRINTK2(args...) do { } while(0)
#endif
#if DM9000_DEBUG > 0
#define PRINTK1(args...) printk(“DM
#define PRINTK(args...) printk(“DM
#else
#define PRINTK1(args...) do { } while(0)
#define PRINTK(args...) printk(KERN_DEBUG args)
#endif
6、使用指针会带来一定麻烦,但是驾驭良好的指针会给程序良好运行提供最基础的保障。
7、一定要选择合适的锁机制。以及锁的范围。
8、Oops和printk获得的信息需要仔细分析,这样可以避免很多重复的操作:编译,传输驱动程序,加载驱动程序,出错……
9、不要奢望正确代码出现的偶然性,要保证你知道缩写的每一行代码的用途。
10、正确退出minicom,否则,你会后悔的。当然,也可以用ps –aux | grep minicom,来查到minicom的id,并干掉他。