首先添加Android.mk,具体内容如下:
#定义当前模块的相对路径
LOCAL_PATH:= $(call my-dir)
#清除当前的环境变量
include $(CLEAR_VARS)
#编译该模块需要的源文件
LOCAL_SRC_FILES:= $(call all-subdir-c-files)
#编译生成的目标名
LOCAL_MODULE := test_zxy
#编译生成的文件格式
include $(BUILD_EXECUTABLE)
然后添加源程序文件,内容如下
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <string.h>
#define DEV_NAME "/dev/rk_gpio"
#define GPIO_IOC_MAGIC 'G'
#define IOCTL_GPIO_GETTEMP_NUM _IOR(GPIO_IOC_MAGIC, 4, int)
typedef struct {
int pin;
int data;
}rk3288_gpio_arg;
int main(void)
{
printf("main start..\n");
rk3288_gpio_arg gpio_fan;
int fd = open(DEV_NAME,2);
ioctl(fd,IOCTL_GPIO_GETTEMP_NUM, &gpio_fan);
printf(" num is %d\n",gpio_fan.pin);
return 0;
}
截图显示所有内容
安卓10上只需修改Android.mk即可,修改成Android.bp
cc_binary {
name: "zxytest",
shared_libs: ["libcrypto"],
srcs: [
"main.c",
],
}
然后mmm编译即可