泰山派2--把helloworld驱动编译进内核

老小孩
原创
发布时间: 2025-06-09 23:29:06 | 阅读数 0收藏数 0评论数 0
封面
上一篇是把自己写的驱动编译成模块然后加载到内核,这一篇学习如何把自己写的驱动编译进开发板内核并运行验证。

准备工作:

材料:

  1. 一台装有虚拟机ubuntu的PC
  2. 一个泰山派开发板
  3. 一个串口烧录线
1

编写驱动.c文件

先cd到SKD源码的/kernel/drivers/char/下(因为char下都是字符驱动),新建helloworld文件夹,然后把上次的驱动.C文件复制到helloworld文件夹下。(咱们还是用上篇的驱动.c文件)

2

编写Kconfig文件

在helloworld文件夹下新建Kconfig文件(menuconfig图形化界面配置文件),编写如下:

config helloworld
    bool "helloworld support"
    default y
        help helloworld
3

编写上一级的Kconfig文件

返回到上一级,用vim打开上一级的目录的Kconfig文件,在其中插入语句:source "drivers/char/helloworld/Kconfig"

4

编写Makefile文件

在helloworld文件夹下新建Makefile文件,用vim打开它编译如下:obj-$(CONFIG_helloworld) :=helloworld.o

保存退出。

5

编写上一级目录的Makefile文件

打开上一级目录的Makefile文件,插入一行代码:obj-y += hellowrold/

6

图形界面配置

我们回到SDK的kernel目录下,先输入命令:export ARCH=arm64设置编译环境,再输入图形设置界面命令:make menuconfig

如图: ,然后保存退出(已经默认选择我们的驱动了)。





7

复制.config文件

在kernel目录下,复制.config文件到 arch/arm64/configs/rockhip_linux_defconfig 下。

8

编译内核

在SDK的顶目录下输入编译命令:./build.sh kernel 开始编译内核。

9

测试

用泰山派烧写软件RKDevTool.exe把刚编译好的内核镜像烧写到泰山派上,用串口工具打开泰山派,在串口命令行中输入命令:dmesg | grep "hello" 检索一下,发现在系统启动到0.234523秒的时候已经打印了helloworld!,表示我们已经成功把自己的驱动编译到内核了。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载