【内核驱动】 内核驱动中添加系统调用

开发环境:

Redhat6.5

开发板:

Tiny4412 (ARM Cortex A9)


1. 系统调用概述

系统调用请点击 系统调用概述


2. 实现系统调用的步骤

添加一个系统调用比较简单,下面以添加add函数来讲解下添加过程


2.1  添加系统调用号

[root@deng linux-3.5]# vim arch/arm/kernel/calls.S 

【内核驱动】 内核驱动中添加系统调用_第1张图片

378 代表系统调用号  CALL是宏  sys_my_add是函数指针

2.2  添加系统调用相关宏的声明

【内核驱动】 内核驱动中添加系统调用_第2张图片

注意: 378系统调用号不能写错


2.3 实现新添加的系统调用

[root@deng linux-3.5]# vim arch/arm/kernel/sys_arm.c

【内核驱动】 内核驱动中添加系统调用_第3张图片


2.4 重新编译内核

[root@deng linux-3.5]# make -j4

   编译完成之后,将要重新烧写内核到指定的falsh中


2.5 测试

测试方法有两种: 第一种通过内核驱动模块的方式测试 第二种通过应用程序测试



你可能感兴趣的:(Linux驱动)