最近遇到一個問題,
gpio 讀出來的值與預期不同,
詳細描述如下:
首先手機 download 了一個完整的 daily build image ,
接下來 不斷地修改 kernel 部分 code,
並且不斷地燒錄 其中一部分 image,也就是 bootimage,
一個完整的 image 是由 bootimage,systemimage,..... 所組成的,
bootimage 是其中一部分。
而其中所修改的 code,
包含 gpio 讀取,
問題來了,
gpio 讀取出來的值與預期不同(排除硬體因素),
但是若使用 adb shell 讀取 gpio 的 value 竟又是與預期相同值,
卡了許久,找不出 root cause,
解決方式:
燒錄一個完整的手機 daily build image,
再燒錄所修改的 bootimage,
竟解決 gpio 讀出來的值與預期不同的問題。
小結:
若程式跑出來的行為有異常或是非預期行為,
不妨試著刷新整個 image 或是 clean build,
再檢查程式行為。