1首先来讲讲应用程序如何实现系统调用(用户态->内核态)?...左移2位,一个函数指针占据4个字节
从上面代码可以看出,2440的val基值为0x900000,也就是说要调用数组表的第一个函数时,则使用:
swi #0x900000
2 接下来,我们便来自制一个系统调用...count : 100);
ker_buf[99]='\0';
printk("sys_hello:%s\n",ker_buf);
}
}
3.4 include\linux...sys_hello()
return 0;
}
4.1 其中asm ()是一个内嵌汇编(参考linux内核源代码情景分析1.5.2节)
格式如下所示:
asm( 指令部 : 输出部 :...sys_hello()
5.重新烧写内核,试验应用程序
如上图所示,一个简单的系统调用便OK了
调用成功后,就可以来修改sys_hello(),来打印应用程序的各个寄存器值,打断点,来实现调试应用程序,