linux 添加内核模块和应用程序
来源:互联网 发布:科瑞明软件 编辑:程序博客网 时间:2024/05/04 03:29
1.Kernel Module
1.1 add .c file
./kernel_imx/drivers/hello_module/hello.c:
#include <linux/module.h>#include <linux/string.h>static int __init hello_module_init(void){ printk(KERN_DEBUG "hello_module_init\n"); return 0;}static void __exit hello_module_exit(void){ printk(KERN_DEBUG "hello_module_exit\n");}module_init(hello_module_init);module_exit(hello_module_exit);MODULE_LICENSE("GPL");
1.2 add Makefile
./kernel_imx/drivers/hello_module/Makefile:PWD = $(shell pwd)KERNEL_SRC = /home/xxx/Projects/Android/android4.4.3/kernel_imx/CROSS_COMPILE = /home/xxx/Projects/Android/android4.4.3/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-obj-m := hello.oall: make ARCH=arm CFLAGS_MODULE=-fno-pic CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNEL_SRC) M=$(PWD) modulesclean: make ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNEL_SRC) M=$(PWD) clean
1.3 compile
cd ./kernel_imx/driver/hello_module
make
1.4 result
2. Application
2.1 add .c file
./kernel_imx/drivers/hello_app/hello_app.c
#include <stdio.h>#include <string.h>#include <fcntl.h>int main(int argc, char *argv[]){ printf("hello app\n"); return 0;}
2.2 add Makefile
./kernel_imx/drivers/hello_app/Makefile
EXEC = hello_appCC := arm-linux-androideabi-gcc#CC := arm-none-linux-gnueabi-gccall: $(EXEC) $(EXEC): hello_app.c $(CC) hello_app.c -static -o hello_appclean: rm -f hello_app *.o
ps. need download android NDK and get the toolchain
2.3 compile
cd ./kernel_imx/drivers/hello_app/
make
2.4 result
0 0
- linux 添加内核模块和应用程序
- linux内核模块和应用程序的区别
- linux 添加内核模块
- Linux系统应用程序和内核模块的区别
- Linux系统应用程序和内核模块的区别
- linux内核模块和应用程序有什么区别
- Linux: 添加内核模块步骤
- linux中添加内核模块
- Linux内核模块与应用程序的对比
- 应用程序和内核模块的区别
- linux内核添加新的模块
- 如何在LINUX内核中添加模块
- Linux内核中添加hello_world模块
- linux ubuntu编写内核模块并添加
- Linux 驱动开发内核模块的添加
- linux内核添加新的模块
- Linux内核模块动态添加方法
- linux内核模块和驱动程序
- maven项目中有小红叉的问题
- Java快速教程
- hdu刷题记录
- C语言抽取字符串奇数和偶数位字符
- 玲珑杯Just for Fun
- linux 添加内核模块和应用程序
- 第一章 游戏之乐 中国象棋将帅问题
- 【Javascript基础】Javascript的简介
- IO_STACK_LOCATION与IRP的一点笔记
- 100道动态规划——14 UVA 1412 Fund Management 从刘汝佳dalao的代码里学到了很多。。。。
- 《深入理解Android内核设计思想》第6章
- Sql Server 将截断字符串或二进制数据
- 计算机组成原理(1)实验2
- java图形用户界面基础