[置顶] Android(安卓)从硬件到应用:一步一步向上爬 2 -- 运行 C 程序测试硬件驱动
16lz
2021-01-25
编写C程序快速测试硬件驱动:
在Android 源码根目录下的external文件夹创建driver_test文件夹:
cd external
mkdir driver_test
cd driver_test
创建Android.mk:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_MODULE := driver_testLOCAL_SRC_FILES := driver_test.cinclude $(BUILD_EXECUTABLE)创建driver_test.c:
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> int main(int argc, char *argv[]) { int fd; int val=0; fd=open("/dev/AdrIO",O_RDWR); if(fd<0) { printf("open device failed !\n"); exit(1); } else { printf("open success ! \n"); } write(fd,argv[1],1); close(fd); return 0; }回到Android源码根目录:make driver_test
最初可能会提示错误:
host c++: libhost <= build/libs/host/pseudolocalize.cpp/bin/bash: g++: 未找到命令
make: ***[out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/pseudolocalize.o] 错误 127
解决:
sudo -i
aptitude install g++
安装完成后再执行:make driver_test
最终编译完成:
Install: out/target/product/generic/system/lib/libm.soInstall: out/target/product/generic/system/bin/driver_test将out/target/product/generic/system/bin/driver_test拷贝到AM335X文件系统中,启动Android
运行:
./driver_test 1 (这时D1亮)
./driver_test 0 (这时D1灭)
测试成功,利用此方法可以快速测试android下的linux内核驱动
更多相关文章
- Android快速开发框架dyh详解(五)---基础层的使用
- android 混淆配置
- Android(安卓)Studio 关于AAR 的打包引用
- android UiAutomator生成测试报告的基本方法封装
- Android[中级教程]第四章 单元测试AndroidTestCase
- Android(安卓)4.0 的镜像文件
- [Unity for android]Unity在安卓机上调试的测试环境搭建
- Android性能分析工具Systrace和TraceView,性能测试GT等
- Android(安卓)在内部存储中创建文件夹