《原子Linux驱动开发》字符设备驱动开发步骤
<p>1、首先作者强调了“学习Linnux驱动开的重点是学习其”驱动框架“,要记住作者的这个提示”驱动框架“。目前我还没有这个驱动框架的概念。</p><p>2、接下来,作者给出了驱动加载的两种方式,一种是已经把驱动编译进了内核,在Linux内核启的时候就自动运行驱动程序。(我原来是这么想的,所以每次都去编译内核,累!)</p>
<p>3、接下来作者提出了”将驱动编译成模块“,在内核启动之后也可以用insmod命令加载驱动模块。这就方便了不需要重复的编译内核,可以大大提高编程效率。</p>
<p>4、模块加载有“加载”、“卸载”两种操作(module_ini(xxx_init);、(module_exit(xxx_exit))。当insmod加载时调用module_init().当rmmod时就调用module_exit()。</p>
<p>5、xxx_init都是以静态函数的声明,通过module_init来提供接口。</p>
<p>6、驱动编译完成以后扩展名为.ko,有两种方式(insmod 和modprobe)。文例举了两个命的区别,就是insmod 不能解决依赖关系。执行的方式为insmod drv modprobe drv,而卸载则为rmmod drv或者modprobe -r drv。</p>
<p>今天就学习到这里。</p>
<p>主要是了解字符设备的加载方式。</p>
感谢作者的分享,我们一起加油,为了自己,为了……!!! 通途科技 发表于 2024-3-19 18:16
感谢作者的分享,我们一起加油,为了自己,为了……!!!
<p>感谢大佬的关注,一直在努力中,就不知道什么时候能成功。</p>
深有体会,把驱动编译进内核之后控制器的运行效率高
页:
[1]