1首先来讲讲应用程序如何实现系统调用(用户态->内核态)?...count : 100);
ker_buf[99]='\0';
printk("sys_hello:%s\n",ker_buf);
}
}
3.4 include\linux...char **argv)
{
printf("in app, call hello\n");
hello("www.100ask.net", 15);//这个函数会调用内核的...sys_hello()
return 0;
}
4.1 其中asm ()是一个内嵌汇编(参考linux内核源代码情景分析1.5.2节)
格式如下所示:
asm( 指令部 : 输出部 :...,传递给内核的sys_hello()
5.重新烧写内核,试验应用程序
如上图所示,一个简单的系统调用便OK了
调用成功后,就可以来修改sys_hello(),来打印应用程序的各个寄存器值,打断点,来实现调试应用程序