快速瀏覽

在 Android 上使用 GPIO 觸發器啟動應用程序


 

您必須安裝 Android 版本 V2.9(C2)/V4.5(XU4)/20190425(N2) 或更高版本才能通過 GPIO 啟動應用程序。
在這種情況下,您可以跳過第 1 步到第 7 步,讓您的生活更輕鬆哈哈

如果您安裝了更高版本的Android Marshmallow v2.9,請僅執行第3 步和第4 步,然後跳至第7 步
請檢查PCB 版本。此頁面基於電路板修訂版 0.2.(ODROID-C2)

此頁面說明如何通過 GPIO 輸入啟動應用程序。


1. 啟用內置的 GPIO 鍵驅動程序。

...
CONFIG_KEYBOARD_GPIO_POLLED=y
...

2. 將 gpio 鍵映射添加到設備樹 blob。

(路徑:arch/arm64/boot/dts/amlogic/overlays/odroidc4/gpio_shortcut.dts)
GPIO引腳說明

/dts-v1/;
/plugin/;

/{
	fragmetn@0 {
		target-path ="/";

		__overlay__ {
			gpio_keys_polled {
				status = "okay";
				compatible =
					"gpio-keys-polled";
				#address-cells = <1>;
				#size-cells = <0>;
				poll-interval = <100>;
				autorepeat;
				button@1 {
					label = "GPIO Key F7";
					linux,code = <65>;
					gpios = <&gpio GPIOX_4 1>;
				};
				button@2 {
					label = "GPIO Key F8";
					linux,code = <66>;
					gpios = <&gpio GPIOX_7 1>;
				};
				button@3 {
					label = "GPIO Key F9";
					linux,code = <67>;
					gpios = <&gpio GPIOX_0 1>;
				};
				button@4 {
					label = "GPIO Key F10";
					linux,code = <68>;
					gpios = <&gpio GPIOX_1 1>;
				};
			};
		};
	};
};

3. 啟用 GPIO 按鍵映射。

gpio_keys_polled { 
   status = "ok"; 
   . 
   . 
};

4. 構建內核源代碼。並將內核映像閃存到板上。

$ cd common 
$ export  ARCH =arm64 
$ export  CROSS_COMPILE =aarch64-linux-gnu- 
$ make odroidc4_android_defconfig 
$ make  -j8 
$ adb reboot fastboot 
$ fastboot flash dtb arch / arm64 / boot / dts / amlogic / meson64_odroidc4_android.dtb 
$ fastboot reboot

5.在system/usr/keylayout/Vendor_0001_Product_0001.kl文件中添加按鍵事件keycode。
您可以從參考
ODROID-C2
commit
ODROID-XU3/XU4 commit 中找到鍵碼表

...
key 65 F7
key 66 F8
key 67 F9
key 68 F10
...

6. 將攔截關鍵事件的補丁應用到frameworks/base & ODROID Utility App。
ODROID-C2
框架/基礎提交
ODROID 實用程序提交
ODROID-XU3/XU4
框架/基礎提交
ODROID 實用程序提交

7. 構建 Android 鏡像並燒寫它。
ODROID-C2 構建方法 ODROID-XU3/4 安裝方法

$ cd  < PATH_TO_ANDROID_ROOT > 
$ cd out / target / product / odroidc2 / 
$ adb reboot fastboot 
$ fastboot flash system rootsystem.img 
$ fastboot reboot

ODROID-C4

$ su
# vi /odm/env.ini
add gpio_shortcut
overlays="i2c0 i2c1 spi0 uart0 gpio_shortcut"

8. 使用 10KOhm 上拉電阻將幾個按鈕連接到 GPIO。 點擊圖片放大。


9. 使用 ODROID Utility 或 Odroid-Settings 應用程序設置啟動應用程序。

快速瀏覽

ODROID-C4

四核ARM CORTEX-A55 |4GB RAM |4 USB3 PORTS