之前的文章,已经完成了开发板的系统移植:
一、安装交叉编译工具,实现arm交叉编译,参考【系统移植】交叉编译工具链常用工具
二、制作SD卡启动,参考【系统移植】制作SD卡启动——将uboot烧写到SD卡
三、搭建NFS环境,挂载根目录,参考【系统移植】NFS服务器环境搭建——挂载根文件系统
四、搭建TFTP环境,用于传输uImage和dtb文件,参考【系统移植】TFTP服务器环境搭建
五、Uboot的使用,参考【系统移植】Uboot的使用:主要环境变量及命令、tftp下载文件的步骤以及主要存储器访问命令
六、在开发板上加载内核和根目录,参考【系统移植】在开发板上加载内核和根文件系统的三种方法
通过以上一系列的步骤,我们完成了操作系统的移植,现在要考虑如何将新功能添加到开发板,让其在开发板的操作系统中运行。
向内核添加新功能的方法有两种,分别是静态添加法和动态添加法。
一、内核模块静态添加功能
什么是静态添加法
所谓静态添加新功能,就是将新功能源码,与内核其他代码一起编译到uImage,加载到开发板运行。
内核模块静态添加功能的步骤
1、添加的新功能代码添加到内核源码同一目录结构下
具体来说,在内核顶层目录linux-3.14/drivers/char目录下:
通过vi或者vim命令创建一个新源文件myhello.c:
$ vi myhello.c
将下面代码写入该文件,退出,并保存:
#include <linux/module.h>
#includ