컴퓨터 과학 & 영상처리 관련/임베디드

리눅스 드라이버 만들 때 사용하는 헤더파일 (약간)정리

꺄뜨르 2011. 5. 10. 23:54

#include <linux/config.h>

 

#include <linux/module.h>   // 모듈과 관련된 자료 구조와 매크로가 정의되어 있다.

 

#include <linux/kernel.h>   // 커널에서사용하는각종자료형들ssize_t

                            // 커널과 관련된 자료 구조와 printk() 함수 등이 정의 되어
                                                      있다.
loff_t
.. printk()

 

#include <linux/init.h>     // (1) 커널 2.6에서만 사용되며, (2) module_init()와 
                                                 //   module_exit() 매크로 함수가 정의되어 있습니다.
#include <linux/fs.h>       // register_chrdev() / unregister_chrdev()

 

#include <linux/fcntl.h>    // open()

 

#include <linux/slab.h>            // kmalloc() & kfree()

#include <linux/kmalloc.h>         // kmalloc() & kfree()

 

#include <linux/vmalloc.h>         // vmalloc() & vfree()

 

#include <asm/uaccess.h>           // copy_to_user() & copy_from_user()

 

#include <linux/delay.h>           // mdelay() & udelay()

 

#include <linux/time.h>    // do_gettimeofday() & do_settimeofday() & mktime()

 

#include <linux/timer.h>           // init_timer() & add_timer() & del_timer()

                                  

                                   

#include <asm/arch/hardware.h>  // 보통은mcu별로register map을정리한 headerfile을만들고이파일에서 include하게된다.

 

#include <asm/irq.h>               // enable_irq() / disable_irq()

 

#include <linux/sched.h>           // request_irq() & free_irq()

 

#include <linux/wait.h>            // init_waitqueue_head() &   
                                      interruptible_sleep_on() &

                                      interruptible_sleep_on_timeout() &

                                   wake_up_interruptible()

http://flylhs83.tistory.com/31 여기서 불펌