指紋識別除錯記錄

2021-06-28 20:50:21 字數 1017 閱讀 7911

文件是之前寫的,因為當時按壓式指紋識別都沒有量產,原廠**仍在除錯階段,拿到的是不完善版本。

配置gpio. 涉及到6個gpio: spi_cs , clk,mo ,mi, rst, int. 飛線浪費了很多時間。還有乙個是這個晶元有2個電源,1.8v和3.3v,datasheet上原理圖上是要接上3.3v的。實際拿到的模組是不能接的,接了無法採集到影象。fae的說法是模組背面有個電阻,沒焊接的話就不用接3.3。這個是在fae來了之後,我們一起量過電壓之後才解決,他們之前並沒有說這個問題。

確認核心已啟用spi 驅動。6592平台預設是開啟的。可以在 sys/devices/platform下看到。

註冊spi 裝置,在 mt_devs.c 中。

將驅動檔案複製到 kernel/driver/input/下,更改 kconfig makefile. 在project 資料夾下kernel config 檔案中將剛改的config項設定為y

重新編譯後就會進入probe. 之後就應該測量各個訊號是否正常,硬體有無問題。

驅動流程分析,比較簡單:open_device  ioctl  poll –> read

問題點:

1. gpio 初始化和中斷移植。因mtk 不支援標準linux 核心gpio操作方式,需要自己移植帶**。

2. spi 無法讀到資料:

因資料量比較大,fae說必須用dma。直接初始化dma,無法讀取到資料。log顯示 tx dma should be 4byte alignment. mtk spi dma只支援4b 對其方式,而操作暫存器都是3b ,(r/w+add+data), 採取的解決方法是先配置spi 為fifo mode,在讀取image時切換為dma,操作完後切回來。

3. apk 無法開啟。因為是測試版本,沒有原始碼。kernel log 顯示probe完成,adb 下裝置檔案和sys下檔案都正常。抓取main log發現在load jni庫時會check license file。有log顯示license 過期。將系統時間改為當前時間,居然啟動了。這個問題連fae也不知道,費了一番周折。

iOS 指紋識別

1.首先匯入框架localauthentication 2.判斷系統版本,最低ios 8.0 3.建立驗證物件上下文lacontext 4.判斷指紋識別技術是否可用canevaluatepolicy 5.如果可用,開始呼叫方法開始使用指紋識別 import 指紋按鈕 void showfingerp...

Android BMPrinter 指紋識別庫

作者 蒼王 日期 2018.9.7 近來建立了兩個小專欄,將會其中發布現在的區塊鏈通訊專案所應用到的技術,以及程序化技術,有興趣可以關注一下 不一定需訂閱,推廣期價錢也便宜 android im技術指南 裡面介紹的是加密im的技術應用和指南 android 程序化架構 裡面介紹的是程序化的方案。但是...

android指紋識別

使用指紋識別功能,只需要關心 fingerprintverifymanager 和 fingerprintcallback 兩個類 1 例項化 builder,必需 fingerprintverifymanager.builder builder new fingerprintverifymanag...