微处理器驱动的本质,就是设置片内各种寄存器。所以实现的目的,都是一样的。
只不过linux这个系统,它只给了你抽象出来的上层软件区域,如果你要操作底层硬件,就要和它的内核进行交互,那么用到的一种方式就是加载、卸载内核驱动模块,你写的驱动就会被封装成模块送给内核,让它知道可以怎样去运行这个硬件(记住,只是“怎样运行”,而不是“如何运行”,“如何运行”由你的应用程序完成),当然,对于一个模块的操作,linux还是提供了很标准的一系列操作函数给你,类似于open,read,write,ioctl,release等,因为在linux里,一切都被看成文件来,所以驱动的操作和文件一样。。。你想设置什么寄存器,就在那些操作函数里去实现,和单片机编程是一样了,最后用用函数指针的方式封装进file_opreation结构体,交给内核,OK
以上如有错误,欢迎纠正