完善资料让更多小伙伴认识你,还能领取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 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
谁有3566+电池+POE充电的方案,有个项目需要用该功能的主板
304 浏览 0 评论
RK3588的GMAC0与PHY的参考时钟电平匹配问题??????
4374 浏览 1 评论
请问各位大佬,如何解决,瑞芯微 RV1126B 使用 mpp 自带工具 调试时,内核直接报错崩溃!
1798 浏览 0 评论
使用rk3568开发板,核0\\1\\3运行linux,核2运行hal,在核0中怎么关闭核2
2354 浏览 0 评论
2356 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 17:28 , Processed in 0.750638 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1700