完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Firefly-RK3399第一个驱动程序编制
编写程序 hello_module.c #include #include MODULE_LICENSE("Dual BSD/GPL"); MODULE_AUTHOR("ZWWANG"); static int hello_init(void) { printk(KERN_EMERG "HELLO WORLD enter!n"); return 0; } static void hello_exit(void) { printk(KERN_EMERG "HELLO WORLD exit!n"); } module_init(hello_init); module_exit(hello_exit); 编写Makefile #!/bin/bash CROSS_COMPILE:= aarch64-linux-gnu- ARCH:= arm64 CC:= $(CROSS_COMPILE)gcc LD:= $(CROSS_COMPILE)ld obj-m += hello_module.o KERNELDIR := /home/zwwang/sdk/linux-sdk/kernel all: make -C $(KERNELDIR) M=$(PWD) modules clean: rm -f *.o rm -f *.symvers rm -f *.order rm -f *.ko rm -f *.mod.c 编译 在hello_module 的文件夹下使用 make 编译程序 结果: make -C /home/zwwang/sdk/linux-sdk/kernel M=/home/zwwang/testDriver/hello_mod modules make[1]: Entering directory '/home/zwwang/sdk/linux-sdk/kernel' CC [M] /home/zwwang/testDriver/hello_mod/hello_module.o Building modules, stage 2. MODPOST 1 modules CC /home/zwwang/testDriver/hello_mod/hello_module.mod.o LD [M] /home/zwwang/testDriver/hello_mod/hello_module.ko make[1]: Leaving directory '/home/zwwang/sdk/linux-sdk/kernel' 查看目录中已经产生 hello_module.ko 执行 把ko文件放入目标主机 加载模块 sudo insmod hello_module.ko 查看模块 cat /proc/modules 或 lsmod 卸载模块 sudo rmmod hello_module |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
533 浏览 0 评论
803 浏览 1 评论
700 浏览 1 评论
1926 浏览 1 评论
3171 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 18:08 , Processed in 0.653950 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号