標籤:android 硬體 驅動 hal
編寫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++
sudo apt-get install build-essential
安裝完成後再執行: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 從硬體到應用:一步一步向上爬 2 -- 運行 C 程式測試硬體驅動