Linux下添加系统调用实例
一、 目的 在 arm-Linux 上创建并使用一个新的系统调用 二、 实验内容和原理(必填) 1、 修改系统调用相关文件,编译内核 2、 编写测试程序 3、 下载文件到目标机上测试 三、 主要仪器设备 微机(宿主机) s3c2440 目标板(目标机) 四、 操作方法与实验步骤 1、 修改系统调用相关文件 ARM-Linux 的系统调用有一个总的入口,然后把 swi 指令的操作数当作具体的
(1) 在arch/arm/kernel/call.S中添加自己的系统调用,新的系统调用号是0x900000+319。
(2) 修改arch/arm/kernel/目录下的Makefile文件,在obj-y后面添加mysyscall.o。
重新编译内核,此内核就可以提供新的mysyscall系统调用了。将新内核下载到目标机上,覆盖原来的内核,目标板上的ARM-Linux就支持新的系统调用了。
make
make uImage
1、编写测试程序
写一个测试程序来使用新的系统调用。
然后执行
#gcc test.c –o test
生成test.o测试程序
1、下载文件到目标机上测试
启动开发板,将test.o通过zmodem协议下载到开发板的文件系统目录下。
在板子上运行test程序所得的结果如下:
在arch/arm/kernel/call.S中添加自己的系统调用,新的系统调用号为0x900000+227,然后修改arch/arm/kernel/目录下的Makefile文件,在obj-y后面添加mysyscall2.o
要使用新的系统调用重写test.c,编译生成test.o文件,再次将test.o下载到目标板,运行test后得到下面的结果。
更多推荐
所有评论(0)