lugl4313820 发表于 2024-3-12 16:19

《原子Linux驱动开发》字符设备驱动开发步骤

<p>1、首先作者强调了&ldquo;学习Linnux驱动开的重点是学习其&rdquo;驱动框架&ldquo;,要记住作者的这个提示&rdquo;驱动框架&ldquo;。目前我还没有这个驱动框架的概念。</p>

<p>2、接下来,作者给出了驱动加载的两种方式,一种是已经把驱动编译进了内核,在Linux内核启的时候就自动运行驱动程序。(我原来是这么想的,所以每次都去编译内核,累!)</p>

<p>3、接下来作者提出了&rdquo;将驱动编译成模块&ldquo;,在内核启动之后也可以用insmod命令加载驱动模块。这就方便了不需要重复的编译内核,可以大大提高编程效率。</p>

<p>4、模块加载有&ldquo;加载&rdquo;、&ldquo;卸载&rdquo;两种操作(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

感谢作者的分享,我们一起加油,为了自己,为了……!!!

lugl4313820 发表于 2024-3-19 21:39

通途科技 发表于 2024-3-19 18:16
感谢作者的分享,我们一起加油,为了自己,为了……!!!

<p>感谢大佬的关注,一直在努力中,就不知道什么时候能成功。</p>

beyond_笑谈 发表于 2024-4-9 11:13

深有体会,把驱动编译进内核之后控制器的运行效率高
页: [1]
查看完整版本: 《原子Linux驱动开发》字符设备驱动开发步骤