Android 從硬體到應用:一步一步向上爬 2 -- 運行 C 程式測試硬體驅動

來源:互聯網
上載者:User

標籤: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 程式測試硬體驅動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.