linux设备编译到内核一般有两种方法

把linux设备编译到内核一般有两种方法,一种是通过模块的方式编译,这种方式需要你编译好的内核源码树,第二种方式是你编译内核的时候直接静态的把这个设备的驱动加入到内核中。第二种方法处理起来要容易一些,但是付出的代价就是内核会很大,如果往嵌入式芯片移植的时候不划算。
至于注册其实内核会提供一个注册函数,参数是你的设备号,设备类型之类的。内核运行的时候通过注册函数返回设备的一些信息,驱动中需要一些必要的函数,包括对这个设备的读写等操作,这样可以先保证内核能够识别这个设备,然后我们可以通过驱动函数对这个设备进行操作。比如linux中的lcd液晶显示屏驱动,它通过info之类的结构体存储了你的设备的一些信息,如设备号,屏幕大小之类的,然后通过注册函数将你的设备信息交给内核,然后就需要在驱动中配置跟自己设备相关的寄存器,进行读写之类的操作,大概过程就是这样的,驱动的实际代码和内核的注册的本质实际是很麻烦的

你可能感兴趣的:(linux设备编译到内核一般有两种方法)