千家信息网

Android/Linux系统怎么调用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了Android/Linux系统怎么调用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android/Linux系统怎么调用文章都会有所收获,下面我们一起
千家信息网最后更新 2026年11月02日Android/Linux系统怎么调用

这篇文章主要介绍了Android/Linux系统怎么调用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android/Linux系统怎么调用文章都会有所收获,下面我们一起来看看吧。

在调试Android 设备驱动时 ,应用层总是被各种权限束缚,这里给出其中一种解决方案。

一 kernel 层修改

drivers/input/fingerprint/zpx_fp_mtk_tee/zpx_fp_mtk_tee.c

     #include         static long zpx_method(long arg)        {                        printk("%s enter,arg=%ld\n",__func__ ,arg);                read_all_reg_test(fp_global);                return 0;        }                        SYSCALL_DEFINE1(zpx_method,long,arg)//一个形参        {                        return zpx_method(arg);        }

include/linux/syscalls.h

asmlinkage long sys_zpx_method(long arg);

include/uapi/asm-generic/unistd.h

 __SYSCALL(__NR_zpx_method, sys_zpx_method)

arch/arm/include/uapi/asm/unistd.h

#define __NR_zpx_method                (__NR_SYSCALL_BASE+391)

arch/arm/kernel/calls.S

         CALL(sys_zpx_method).rept syscalls_padding  //注释如下空函数        /*      CALL(sys_ni_syscall) */  /*null func*/

arch/arm/include/asm/unistd.h

#define __NR_syscalls  (392) // last call +1

二 应用层调用

#include #include #include #define _SYSCALL_zpx_ 391int main(int argc,char **argv){   syscall(_SYSCALL_zpx_,13);        return 0;}

三 结果

无需任何权限

k39_bsp:/data/local/tmp $ ls -ltotal 80-rwxrwxrwx 1 shell shell 78968 2020-07-20 09:28 driver_testk39_bsp:/data/local/tmp $ ./driver_test                                                                                    k39_bsp:/data/local/tmp $

kernel log

[  100.325202] (2)[2506:driver_test]zpx_method enter,arg=13[  100.325234] (2)[2506:driver_test][zpx] zpx_spi_clk_enable enter[  100.325249] (2)[2506:driver_test][zpx] zpx_spi_clk_enable finsish[  100.325469] (2)[2506:driver_test][zpx] [0]=FF[  100.325483] (2)[2506:driver_test][zpx] [1]=0[  100.325490] (2)[2506:driver_test][zpx] [2]=0[  100.325497] (2)[2506:driver_test][zpx] [3]=3F[  100.325503] (2)[2506:driver_test][zpx] [4]=0[  100.325510] (2)[2506:driver_test][zpx] [5]=57

关于"Android/Linux系统怎么调用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Android/Linux系统怎么调用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

系统 知识 内容 应用层 权限 篇文章 应用 价值 函数 操作简单 文章 方案 易懂 更多 注释 看吧 结果 行业 解决方案 设备 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技深圳 科技互联网政务服务 科技互联网公司装修 互联网扶贫科技 互联网科技金融 科技创新互联网企业 互联网科技网站 济南和联互联网科技有限公司 成都互联网科技公司100强 互联网科技教育视频 中国航天科技大学国际工业互联网 青岛科技大学互联网大赛研究生 本届互联网博览会上的黑科技 华夏恒生互联网科技013171 四川慕妮娅互联网科技有限公司 互联网方面的科技前沿 风投北京互联网科技 全球科技与互联网公司市值变化 互联网时代高科技布局 玉溪新华互联网科技怎么选 百单网互联网科技有限公司怎么样 蓝思科技飞鸽互联网 合肥互联网科技公司 朗涯互联网科技 广西互联网科技公司 汉立互联网科技有限公司联系电话 阿里巴巴算科技企业还是互联网 互联网科技与管理 神州科技互联网有限公司 福建互联网展示科技馆设计
0