驱动学习笔记(1)

驱动学习笔记(1)


内核符号列表:

cat 
/ proc / kallsyms
cat 
/ proc / iomem

导出内核符号:
EXPORT_SYMBOL(sym)
1 、缺省情况下,Linux2.6内核中默认不导出所有的符号,即在2.6的内核中没有这个宏EXPORT_NO_SYMBOLS
2 、如果想要自己指定导出哪些变量或函数,先在Makefile中使用 - DEXPORT_SYMTAB,然后在源文件中使用EXPORT_SYMBOL(xxx);导出之

echo 
8   >   / proc / sys / kernel / printk

查看中断:
cat 
/ proc / interrupts

下半部机制
1 .tasklet
#define  DECLARE_TASKLET(name, func, data) \
struct  tasklet_struct name  =  { NULL,  0 , ATOMIC_INIT( 0 ), func, data }

2 . 工作队列
struct  work_struct my_work;       // 定义一个工作队列
void  my_work_func(unsigned  long );  // 定义一个处理函数

在中断处理函数,tasklet和内核定时器等非进程上下文不能阻塞.

你可能感兴趣的:(驱动学习笔记(1))