嵌入式Linux设备驱动程序开发指南(原书第2版)
上QQ阅读APP看书,第一时间看更新

4.6 将模块添加到内核构建

到目前为止,你的驱动都被构建为可加载的内核模块。这种模块在运行时加载。现在,将驱动作为内核代码树的一部分构建进内核的二进制镜像。在这种方式下,当新内核启动时驱动就已经被加载了。

在内核根目录中,你会发现所有的字符设备驱动都存放在drivers/char/目录下。首先,将你的字符设备驱动拷贝到该目录:

084-02

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

084-03

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

084-04

打开Makefile文件:

084-05

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

085-01

修改了KconfigMakefile之后,hello_imx_char_driver将成为内核的一部分而不是一个可加载模块。接下来构建新的内核镜像。

打开menuconfig窗口,依次选择main menu -> Device Drivers -> Character devices-> My simple helloworld driver。按下空格键就可以看到一个*号出现在新的配置选项上。选择Exit直到你退出menuconfig的GUI。记得保存新的配置。

085-02

打开内核根目录的.config文件后将看到CONFIG_HELLOWORLD符号已经被添加进去了。

编译新的镜像并拷贝到tftp目录:

085-03

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

085-04