先cd到SKD源码的/kernel/drivers/char/下(因为char下都是字符驱动),新建helloworld文件夹,然后把上次的驱动.C文件复制到helloworld文件夹下。(咱们还是用上篇的驱动.c文件)
在helloworld文件夹下新建Kconfig文件(menuconfig图形化界面配置文件),编写如下:
返回到上一级,用vim打开上一级的目录的Kconfig文件,在其中插入语句:source "drivers/char/helloworld/Kconfig"
在helloworld文件夹下新建Makefile文件,用vim打开它编译如下:obj-$(CONFIG_helloworld) :=helloworld.o
保存退出。
打开上一级目录的Makefile文件,插入一行代码:obj-y += hellowrold/
我们回到SDK的kernel目录下,先输入命令:export ARCH=arm64设置编译环境,再输入图形设置界面命令:make menuconfig
如图: ,然后保存退出(已经默认选择我们的驱动了)。
在kernel目录下,复制.config文件到 arch/arm64/configs/rockhip_linux_defconfig 下。
在SDK的顶目录下输入编译命令:./build.sh kernel 开始编译内核。
用泰山派烧写软件RKDevTool.exe把刚编译好的内核镜像烧写到泰山派上,用串口工具打开泰山派,在串口命令行中输入命令:dmesg | grep "hello" 检索一下,发现在系统启动到0.234523秒的时候已经打印了helloworld!,表示我们已经成功把自己的驱动编译到内核了。