wm8962驅動梳理一

2021-09-02 19:20:50 字數 800 閱讀 5360

電腦開了兩台虛擬機器,一台ubuntu12用來除錯,一台ubuntu14用來編譯yocto,真的是卡到不行,幹啥都慢,乾脆借現在這個時間來梳理一下驅動的過程

我梳理驅動執行流程的方式很原始,新增printk,然後編譯系統,重啟板子,看新增的printk被執行了沒有,根據列印的順序來整理執行邏輯,有方便點的方式和手段嗎,不知道唉

1.在wm8962.c裡面有這個函式

static int wm8962_probe(struct snd_soc_codec *codec)

先找找這個函式什麼條件下會被執行

static struct snd_soc_codec_driver soc_codec_dev_wm8962 = ;

在wm8962_i2c_probe函式裡面有這麼一句

ret = snd_soc_register_codec(&i2c->dev,

&soc_codec_dev_wm8962, &wm8962_dai, 1);

應該是呼叫snd_soc_register_codec函式裡面,根據什麼條件來匹配,匹配到了就呼叫wm8962_probe函式,表示探測到了wm8962裝置了;那麼匹配條件是什麼呢,在wm8962_i2c_probe呼叫到snd_soc_register_codec函式之前,就有一大堆對wm8962晶元暫存器的讀寫操作,這個邏輯是不是有點反了,不是應該先探測到wm8962裝置之後在進行暫存器的讀寫操作來初始化嗎,新增點列印語句來驗證一下;

果然是我跟錯**了

WM演算法詳解

提到多模式匹配演算法,就得說一下wu manber演算法,其在多模式匹配領域相較於aho corasick演算法,就好象在單模式匹配演算法中bm演算法相較於kmp演算法一樣,在絕大多數場合,wu manber演算法的匹配效率要好於aho corasick演算法。這個演算法是由吳昇 台灣 和他的導師u...

wm螢幕校準

wince的cordll提供了螢幕校準的函式,使用方法與鉤子函式類似,強制載入dll,獲取位址,然後用函式指標呼叫。typedef bool winapi touchcalibrate hinstance hinstance loadlibrary t coredll.dll if hinstanc...

WM 實現透明效果

一 使用alphablend api 這個可以看黎老師的文章。見原文 net framework的winform程式支援支援調節控制項的透明度和gdi 用它可以實現例如淡入淡出這種很酷的介面效果。而.net compact framework的窗體和控制項不支援透明和gdi 因此常常利用來完成一些美...