Firefly RK3308B Hello_world实例

接《Firefly RK3308B 搭建环境,编译,生成固件并烧录》文章
在Ubuntu中编辑和编译生成hello_world.ko文件,运行在开发板上,熟悉交叉编译的流程,进一步熟悉RK3308B开发板的开发流程。

参考链接:
https://www.cnblogs.com/downey-blog/p/10500828.html

https://blog.csdn.net/jianwen_hi/article/details/53398141

https://blog.csdn.net/Wu996/article/details/120632573?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164197408616780261996312%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=164197408616780261996312&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-120632573.nonecase&utm_term=firefly+rk3308+%E7%82%B9%E4%BA%AELED&spm=1018.2226.3001.4450

(一)生成Makefile、Kconfig文件

1.配置Kconfig

在/home/sgw/prj/Firefly-RK3308/kernel/drivers目录下,新建一个test文件夹,进入test文件夹

$ mkdir test
$ cd test

在test文件夹下,创建并编辑Kconfig

$ touch Kconfig
$ gedit Kconfig

在Kconfig中添加内容

config TEST
	bool "Test driver"
	help
	this is for test !!

这里定义了一个TEST的句柄,Kconfig可以通过这个句柄来控制Makefile中是否编译,”Test driver”是显示在终端的名称。

2.配置Makefile

在test文件夹下,创建Makefile

$ touch Makefile
$ gedit Kconfig

在Kconfig中添加内容

obj-m+=hello_world.o
all:
	make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules
clean:
	make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean

当CONFIG_选项名=y时,表示对应目录下的xxx.c将被编译进内核当CONFIG_选项名=m时对应目录下的xxx.c将被编译成模块

3.配置上层目录的Kconfig

首先回到/home/sgw/prj/Firefly-RK3308/kernel/drivers目录

$ cd ..
$ gedit Kconfig

在Kconfig中最后添加

source "drivers/test/Kconfig"

4.配置上层目录的Makefile

$ gedit Makefile

在Makefile中最后添加

obj-y				+= test/

5.配置menuconfig

首先回到/home/sgw/prj/Firefly-RK3308/kernel目录

$ cd ..
$ make menuconfig

在打开的Kernel Configuration界面中,选择Device Drivers,Enter后再选择Test driver,然后通过空格键选中,保存退出

6.make生成.ko文件

在/home/sgw/prj/Firefly-RK3308/kernel目录下

$ make

7.把.ko文件推进到开发板

首先去到/home/sgw/prj/Firefly-RK3308/kernel/drivers/test目录

$ adb push hello_world.ko mnt/

8.另开一个终端,进入开发板目录,并加载.ko文件

$ adb shell
$ cd mnt/
$ insmod hello_world.ko

9.查看.ko文件是否已加载,并且查看打印

$ lsmod
$ dmesg

10.卸载.ko文件

$ rmmod hello_world.ko
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值