
上QQ阅读APP看书,第一时间看更新
4.6 将模块添加到内核构建
到目前为止,你的驱动都被构建为可加载的内核模块。这种模块在运行时加载。现在,将驱动作为内核代码树的一部分构建进内核的二进制镜像。在这种方式下,当新内核启动时驱动就已经被加载了。
在内核根目录中,你会发现所有的字符设备驱动都存放在drivers/char/
目录下。首先,将你的字符设备驱动拷贝到该目录:

使用文本编辑器打开位于~/my-linux-imx/drivers/char/
目录下的Kconfig
文件:

把下面这些代码添加到文件的后面,位于endmenu
之前:

打开Makefile
文件:

把下面的代码添加到Makefile
末尾:

修改了Kconfig
和Makefile
之后,hello_imx_char_driver
将成为内核的一部分而不是一个可加载模块。接下来构建新的内核镜像。
打开menuconfig窗口,依次选择main menu -> Device Drivers -> Character devices-> My simple helloworld driver。按下空格键就可以看到一个*号出现在新的配置选项上。选择Exit直到你退出menuconfig的GUI。记得保存新的配置。

打开内核根目录的.config
文件后将看到CONFIG_HELLOWORLD符号已经被添加进去了。
编译新的镜像并拷贝到tftp目录:

启动你的i.MX7D目标处理器:
