免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

AB1568藍(lán)牙耳機(jī)ANC調(diào)試:從按鍵事件到NVR參數(shù)鏈路排查

AB1568藍(lán)牙耳機(jī)ANC調(diào)試:從按鍵事件到NVR參數(shù)鏈路排查 簡(jiǎn)介面向Airoha洛達(dá)AB1568藍(lán)牙耳機(jī)應(yīng)用開(kāi)發(fā)的PDF技術(shù)文檔適合TWS耳機(jī)固件、嵌入式藍(lán)牙開(kāi)發(fā)及方案定制崗位的工程師與進(jìn)階學(xué)習(xí)者用于建立從硬件啟動(dòng)到應(yīng)用層功能落地的完整知識(shí)框架。壓縮包內(nèi)僅含1個(gè)PDF文件大小約9.58MB內(nèi)容按工程專(zhuān)題組織覆蓋上電執(zhí)行函數(shù)、mk文件宏定義、app活動(dòng)行為、ANC模式切換、LED呼吸燈、充電參數(shù)監(jiān)測(cè)、超時(shí)與事件管理、Airoha API、回調(diào)注冊(cè)、自動(dòng)關(guān)機(jī)、配對(duì)時(shí)間、開(kāi)機(jī)提示電量、清除配對(duì)列表、鏈路重連、UI Shell、SideTone、音頻路徑、DUT測(cè)RF、硬件復(fù)位、PEQ及通話降噪等模塊。已有374人學(xué)習(xí)可作為項(xiàng)目開(kāi)發(fā)與調(diào)試時(shí)按問(wèn)題檢索的參考手冊(cè)。其目錄結(jié)構(gòu)將芯片啟動(dòng)、事件驅(qū)動(dòng)、降噪算法與低功耗配置串聯(lián)起來(lái)便于讀者對(duì)照接口文檔和模塊實(shí)現(xiàn)排查細(xì)節(jié)、補(bǔ)齊知識(shí)短板適合作為開(kāi)發(fā)過(guò)程中的案頭查詢(xún)資料。1. 一個(gè)按鍵按下去為什么要在四個(gè)模塊里繞一圈做 Airoha AB1568 藍(lán)牙耳機(jī)開(kāi)發(fā)最容易翻車(chē)的不是降噪算法而是一條按鍵事件到底走了幾層才落到濾波器上。三連擊 POWER 鍵提示音響了模式也切了耳朵里卻一點(diǎn)變化都沒(méi)有——這個(gè)現(xiàn)象背后壓著三件事編譯期的宏有沒(méi)有把代碼編進(jìn)去、UI Shell 的活動(dòng)有沒(méi)有收到這條事件、NVR 里的參數(shù)有沒(méi)有真的寫(xiě)進(jìn)芯片。把這三層拆開(kāi)看耳機(jī)固件的黑匣子就打開(kāi)了一半剩下的都是細(xì)節(jié)。2. 上電第一行代碼宏在哪個(gè) mk 文件里決定哪段代碼存在很多人調(diào)固件的第一反應(yīng)是打開(kāi)工程找main然后發(fā)現(xiàn)自己改的那段代碼根本沒(méi)有被編譯。AB1568 的啟動(dòng)流程是兩段式的上電后先跑apps目錄下 bootloader 的main再由它把控制權(quán)交給apps下對(duì)應(yīng)工程earbuds或headset的main最后由apps_inits把各種應(yīng)用模塊拉起來(lái)。這條流水線上每一段都可能被條件編譯掐斷而決定掐不掐的那個(gè)開(kāi)關(guān)不在.c文件里在 GCC 目錄下的某個(gè) mk 文件里。理解這件事的價(jià)值在于它把你對(duì)“代碼為什么沒(méi)生效”的排查順序從“翻代碼”改成“先確認(rèn)這段代碼是否存在于最終鏡像”。嵌入式里最貴的 bug 不是邏輯寫(xiě)錯(cuò)而是邏輯壓根沒(méi)進(jìn)二進(jìn)制。2.1 兩段 main 的接力與條件編譯的斷點(diǎn)bootloader 的 main 負(fù)責(zé)的是很底層的事時(shí)鐘、電源、存儲(chǔ)介質(zhì)自檢然后判斷要不要進(jìn) FOTA 流程。這個(gè)判斷本身也是條件編譯的——只有在 GCC 目錄下的 mk 文件里定義了BL_FOTA_ENABLEbl_fota_process這個(gè)函數(shù)才會(huì)被編譯成真正的代碼。也就是說(shuō)你把升級(jí)邏輯寫(xiě)得再漂亮宏沒(méi)開(kāi)那段函數(shù)體在預(yù)處理階段就被整段抹掉了鏈接器連符號(hào)都看不見(jiàn)。常見(jiàn)的實(shí)現(xiàn)思路是mk 文件里的CFG_XXX y這類(lèi)寫(xiě)法最終會(huì)被構(gòu)建腳本翻譯成編譯命令行的-DXXX交給預(yù)處理器。所以“宏定義在哪里”這個(gè)問(wèn)題的答案永遠(yuǎn)是“在本次編譯實(shí)際引用的那個(gè) mk 文件里”而不是“在工程目錄里搜到的那個(gè)”。/* 這段代碼是否存在于固件取決于 BL_FOTA_ENABLE 是否在本次編譯的 mk 中被定義 */ #ifdef BL_FOTA_ENABLE /* 只有宏打開(kāi)時(shí)這個(gè)函數(shù)體才會(huì)被編譯器看到 */ bl_fota_process(); #endif上面這段沒(méi)有參數(shù)需要解釋重點(diǎn)在語(yǔ)義#ifdef之外是運(yùn)行時(shí)判斷#ifdef之內(nèi)是編譯期存在性判斷。前者錯(cuò)了能在 log 里看到分支沒(méi)走后者錯(cuò)了連 log 都不會(huì)有因?yàn)槟嵌未a不存在。這也是為什么“加了打印卻沒(méi)輸出”有時(shí)候根本不是串口問(wèn)題。進(jìn)到應(yīng)用層之后apps_inits統(tǒng)一初始化各應(yīng)用模塊其中就包含所有活動(dòng)行為的初始化。初始化順序在這里是有講究的誰(shuí)先注冊(cè)事件組誰(shuí)就能更早收到開(kāi)機(jī)階段拋出的廣播事件。順序不對(duì)你會(huì)看到某些模塊在開(kāi)機(jī)頭幾百毫秒里“反應(yīng)遲鈍”而幾百毫秒之后一切正常——這類(lèi)現(xiàn)象很容易被當(dāng)成玄學(xué)。2.2 build.sh list宏到底落在哪個(gè) mk同一套 SDK 里通常并存多個(gè)板級(jí)工程和多個(gè)產(chǎn)品工程編譯哪個(gè)工程、用哪個(gè) mk由構(gòu)建腳本的參數(shù)決定。先列出來(lái)看清楚比在目錄里翻文件可靠得多。# 列出當(dāng)前 SDK 支持的編譯目標(biāo)以及每個(gè)目標(biāo)實(shí)際引用的 mk 文件 ./build.sh list # 輸出里重點(diǎn)看兩列工程名、對(duì)應(yīng)的 feature_xx.mk # 當(dāng)前頭戴耳機(jī)基于 ab1565_ab1568_evk 開(kāi)發(fā)板衍生 # 對(duì)應(yīng)到 ab1568_evk 板級(jí)下的 headset_ref_desgin 工程 # 該工程編譯時(shí)引用的是 feature_68_evk 這個(gè) mk命令本身只有一句關(guān)鍵是讀輸出的方式不要只看工程名匹配要看板級(jí)前綴。ab1565_ab1568_evk是開(kāi)發(fā)板名ab1568_evk是落到具體芯片型號(hào)的板級(jí)目錄產(chǎn)品工程名headset_ref_desgin只是它的一個(gè)子項(xiàng)。三者對(duì)不上你改的 mk 就不是本次編譯用的那個(gè)。確認(rèn)之后打開(kāi)feature_68_evk.mk能看到現(xiàn)成的宏定義也可以往里加新的。比如 ANC 相關(guān)的MTK_ANC_ENABLE在這個(gè)文件里已經(jīng)是開(kāi)啟狀態(tài)——這意味著 ANC 的按鍵處理分支是存在的問(wèn)題不可能出在“沒(méi)編進(jìn)去”這一層。這個(gè)判斷很省時(shí)間一次確認(rèn)直接排除掉一整類(lèi)可能性。2.3 增量編譯與 mk 變更的沖突改 mk 之后不 clean 就 build是血淚經(jīng)驗(yàn)級(jí)別的坑。構(gòu)建系統(tǒng)對(duì).c文件的依賴(lài)關(guān)系跟蹤得很細(xì)但對(duì) mk 文件的變更往往只做粗粒度判斷甚至完全依賴(lài)時(shí)間戳。結(jié)果就是宏已經(jīng)改了目標(biāo)文件卻沒(méi)重新生成你燒進(jìn)去的還是舊鏡像。# 改過(guò)任何 mk 文件之后的標(biāo)準(zhǔn)動(dòng)作 ./build.sh clean ./build.sh ab1568_evk headset_ref_desgin這兩條命令的含義很直白但順序不能省。clean清掉的是中間產(chǎn)物和最終鏡像確保下一次編譯完整展開(kāi)所有 mk。省掉它的代價(jià)是幾十分鐘的迷惑你明明改了宏行為卻一點(diǎn)沒(méi)變于是開(kāi)始懷疑芯片、懷疑工具鏈、懷疑人生。另外一個(gè)細(xì)節(jié)是宏的作用域。寫(xiě)在 mk 里的宏是全局的寫(xiě)在某個(gè)模塊自己的 mk 片段里的宏只影響該模塊。同一個(gè)宏名在兩處出現(xiàn)且值不同最終生效的取決于鏈接順序和包含順序這種沖突不會(huì)有任何警告。所以新增宏之前先在feature_68_evk.mk里搜一遍名字比事后查行為異常便宜得多。3. UI Shell 事件框架一條事件為什么所有活動(dòng)都能收到耳機(jī)固件里最像“操作系統(tǒng)”的部分就是這套 UI Shell。它把一個(gè)個(gè)界面抽象成活動(dòng)activity每個(gè)活動(dòng)有自己的事件組和處理函數(shù)。系統(tǒng)產(chǎn)生事件時(shí)不是點(diǎn)對(duì)點(diǎn)投遞而是把事件拋出去所有活動(dòng)都能監(jiān)聽(tīng)到屬于自己事件組的才處理。這個(gè)設(shè)計(jì)看著低效實(shí)際上解決了嵌入式 UI 里最麻煩的問(wèn)題狀態(tài)切換時(shí)的責(zé)任歸屬。3.1 活動(dòng)棧ui_shell_start_activity 申請(qǐng)的那個(gè) itemui_shell_start_activity做的事情是在活動(dòng)棧里申請(qǐng)一個(gè)空閑 item把活動(dòng)的描述結(jié)構(gòu)掛上去。這個(gè)棧決定了“誰(shuí)在前臺(tái)”。app_preproc_activity_proc是主進(jìn)程負(fù)責(zé)管理和調(diào)配其它子進(jìn)程比如app_home_screen_idle_activity_proc這類(lèi)具體界面。開(kāi)機(jī)后系統(tǒng)會(huì)拉起很多不同的進(jìn)程每個(gè)進(jìn)程里有不同的事件組形成一張扁平的監(jiān)聽(tīng)網(wǎng)。/* 活動(dòng)的事件處理表事件組 ID 與處理函數(shù)的對(duì)應(yīng)關(guān)系 */ static const ui_shell_event_handler_t home_screen_handlers[] { { KEY_EVENT_GROUP, app_home_screen_proc_key_event_group }, /* 按鍵類(lèi)事件 */ { ANC_EVENT_GROUP, app_home_screen_proc_anc_event_group }, /* ANC 狀態(tài)變化 */ { TIMER_EVENT_GROUP, app_home_screen_proc_timeout_event }, /* 超時(shí)類(lèi)事件 */ }; /* 啟動(dòng)活動(dòng)在活動(dòng)堆里申請(qǐng)一個(gè)空閑 item并把處理表注冊(cè)進(jìn)去 */ ui_shell_start_activity(app_home_screen_idle_activity_proc, home_screen_handlers, ARRAY_SIZE(home_screen_handlers), false);上面兩個(gè)調(diào)用的語(yǔ)義是先聲明“我關(guān)心哪幾類(lèi)事件、分別交給誰(shuí)處理”再聲明“我現(xiàn)在進(jìn)入活動(dòng)?!?。第三個(gè)參數(shù)是處理表長(zhǎng)度最后一個(gè)布爾量在不同 SDK 版本里可能是“是否獨(dú)占前臺(tái)”之類(lèi)的開(kāi)關(guān)入?yún)㈨樞蛞渤S姓{(diào)整理解成“注冊(cè)范圍 前臺(tái)聲明”這兩件事就夠了。真正要記住的是處理表在注冊(cè)時(shí)就被固定下來(lái)活動(dòng)運(yùn)行期間不會(huì)再變。3.2 事件的三段式send、init_input_msg、remove事件的生命周期被拆成三個(gè)明確的動(dòng)作。ui_shell_send_event負(fù)責(zé)投遞攜帶事件組、事件 ID、payload 大小和優(yōu)先級(jí)ui_shell_init_input_msg是接收側(cè)的統(tǒng)一入口把底層消息隊(duì)列里的事件取出來(lái)分派給活動(dòng)ui_shell_remove_event則是后悔藥——把還沒(méi)被消費(fèi)的事件從隊(duì)列里摘掉。/* 投遞一條按鍵事件不來(lái)自中斷、優(yōu)先級(jí)普通、屬于按鍵事件組 */ ui_shell_send_event(false, /* 是否來(lái)自中斷上下文 */ EVENT_PRIORITY_NORMAL, KEY_EVENT_GROUP, /* 事件組決定誰(shuí)來(lái)處理 */ KEY_EVENT_ANC_SWITCH, /* 事件 ID具體是什么事 */ payload, /* 附帶數(shù)據(jù)可為 NULL */ sizeof(payload), NULL, 0); /* 后悔藥場(chǎng)景已經(jīng)切換舊事件不該再被處理 */ ui_shell_remove_event(KEY_EVENT_GROUP, KEY_EVENT_ANC_SWITCH);參數(shù)里最關(guān)鍵的是事件組和事件 ID 的組合。事件組是路由依據(jù)事件 ID 是業(yè)務(wù)依據(jù)。同一個(gè)事件 ID 掛在不同事件組下會(huì)走到完全不同的處理函數(shù)這種“同名不同命”的情況在多人協(xié)作的工程里非常常見(jiàn)也是事件丟了的經(jīng)典原因。false這個(gè)參數(shù)表示調(diào)用上下文不是中斷如果你在中斷里直接發(fā)事件并傳true行為會(huì)更接近“延后到安全上下文處理”。傳錯(cuò)的后果不是崩潰而是偶發(fā)的、難復(fù)現(xiàn)的事件丟失。3.3 廣播式投遞的代價(jià)與邊界廣播的好處是解耦新增一個(gè)活動(dòng)不需要修改發(fā)送方。代價(jià)是每個(gè)活動(dòng)都要對(duì)不屬于自己的事件做一次快速丟棄而且“誰(shuí)在前臺(tái)誰(shuí)處理”這條隱含規(guī)則沒(méi)有被框架強(qiáng)制。當(dāng)兩個(gè)活動(dòng)同時(shí)存在于棧上、又都注冊(cè)了同一個(gè)事件組就會(huì)出現(xiàn)同一條按鍵被處理兩次的現(xiàn)象——比如降噪模式連跳兩格。ui_shell_remove_event的存在就是為了補(bǔ)這個(gè)洞在狀態(tài)切換的瞬間把上一條還沒(méi)被消費(fèi)完的事件摘掉避免它在新的上下文里被執(zhí)行。我一般會(huì)這么理解這套框架廣播負(fù)責(zé)“送達(dá)”活動(dòng)棧負(fù)責(zé)“當(dāng)前誰(shuí)該管”remove負(fù)責(zé)“別管過(guò)期的”。三者缺一個(gè)行為就會(huì)在某些邊角場(chǎng)景里歪掉。判斷一條事件有沒(méi)有人處理最直接的辦法是在ui_shell_init_input_msg的分派路徑上加一行 log打印事件組和事件 ID。有投遞記錄但沒(méi)有處理記錄說(shuō)明當(dāng)前棧上沒(méi)有活動(dòng)注冊(cè)該事件組兩者都有但業(yè)務(wù)沒(méi)反應(yīng)問(wèn)題就在處理函數(shù)內(nèi)部跟框架無(wú)關(guān)。這條分界線劃清楚排查效率會(huì)差好幾倍。4. ANC 模式切換從 key_action 到 ANC 濾波器組ANC 是耳機(jī)固件里鏈路最長(zhǎng)的一個(gè)功能它橫跨按鍵、事件框架、服務(wù)層和聲學(xué)參數(shù)四層。任何一層斷掉用戶聽(tīng)到的都是“沒(méi)效果”但從代碼上看每一層都“跑過(guò)了”。4.1 硬件通路FF、FB、FBC 和主麥各管什么音頻通路分 Line-in 和 BT 兩種輸入。降噪側(cè)用的是 FF 麥前饋朝外拾環(huán)境噪和 FB 麥反饋朝耳道拾殘余噪FBC 是 FB 的補(bǔ)償通路。整機(jī)上有 4 個(gè)麥克風(fēng)用于降噪另有 1 個(gè)主麥負(fù)責(zé)說(shuō)話拾音配 2 個(gè)振動(dòng)喇叭和 2 個(gè)聲音喇叭。分工很清楚ANC 降噪用 FF 和 FB通話降噪用 talk 麥加 FF。config tool 上有三個(gè)參數(shù)頁(yè)ANC含 FF 與 FB、FBC、Passthrough通透。它們和用戶感知的“模式”不是一一對(duì)應(yīng)關(guān)系模式是給用戶按的參數(shù)頁(yè)是給聲學(xué)工程師調(diào)的。一個(gè) ANC 模式背后會(huì)同時(shí)用到 ANC 頁(yè)和 FBC 頁(yè)的參數(shù)通透模式背后是 Passthrough 頁(yè)的參數(shù)。把這層關(guān)系理順才看得懂后面濾波器編號(hào)的分配邏輯。4.2 key_action 的四種語(yǔ)義與映射文件按鍵事件進(jìn)來(lái)后先進(jìn)_proc_key_event_group處理。這條路徑能不能走通前提是MTK_ANC_ENABLE已經(jīng)打開(kāi)——在feature_68_evk.mk里確認(rèn)過(guò)是開(kāi)的。所有 ANC 相關(guān)行為最終都收斂到app_home_screen_process_anc_and_pass_through這一個(gè)函數(shù)里靠key_action的值區(qū)分意圖。/* key_action 的四種語(yǔ)義對(duì)應(yīng) config tool 里配置的按鍵行為 */ switch (key_action) { case KEY_ANC: /* 單純 ANC 開(kāi) / 關(guān)不碰通透 */ target_anc_type (target_anc_type ANC_OFF) ? ANC_ON : ANC_OFF; break; case KEY_PASS_THROUGH: /* 單純通透開(kāi) / 關(guān) */ target_anc_type (target_anc_type PT_OFF) ? PT_ON : PT_OFF; break; case KEY_SWITCH_ANC_AND_PASSTHROUGH: /* 三段循環(huán)全關(guān) - 通透 - ANC */ target_anc_type next_in_cycle(target_anc_type); break; case KEY_BETWEEN_ANC_PASSTHROUGH: /* 兩段來(lái)回只在通透和 ANC 之間切 */ target_anc_type (target_anc_type ANC_ON) ? PT_ON : ANC_ON; break; } /* 模式和濾波器 ID 一起下發(fā)服務(wù)層據(jù)此選參數(shù)組 */ app_anc_service_enable(target_anc_type, target_filter_id);四個(gè)分支的差別不在代碼量而在狀態(tài)機(jī)的拓?fù)淙窝h(huán)有三個(gè)穩(wěn)定態(tài)兩段切換只有兩個(gè)。選錯(cuò)語(yǔ)義用戶按三下會(huì)回到原點(diǎn)或者卡在通透出不來(lái)——這類(lèi)“手感問(wèn)題”最后都會(huì)被當(dāng)成 bug 報(bào)上來(lái)。按鍵行為和key_action的綁定寫(xiě)在customerized_key_config.c里。這個(gè)文件是產(chǎn)品差異化的集中地不同客戶的長(zhǎng)按、雙擊、三連擊語(yǔ)義都在這里分叉。改這里之前先確認(rèn)MTK_ANC_ENABLE否則你會(huì)改了一個(gè)根本不會(huì)被編譯進(jìn)去的分支。4.3 app_anc_service_enable模式與濾波器枚舉的對(duì)應(yīng)服務(wù)層拿到target_anc_type和target_filter_id后去 NVR 里取對(duì)應(yīng)的參數(shù)組下發(fā)給 DSP。濾波器用枚舉表示AUDIO_ANC_CONTROL_ANC_FILTER_DEFAULT的值是 1AUDIO_ANC_CONTROL_PASS_THRU_FILTER_DEFAULT的值是 9。這兩個(gè)數(shù)字不是隨手寫(xiě)的它們對(duì)應(yīng) NVR 里參數(shù)塊的編號(hào)。NVR 里的濾波器按四組組織每組包含左右耳各一套組內(nèi)容說(shuō)明Filter 1FF1(L/R) FB1(L/R) FBC1(L/R)第一組 ANC 參數(shù)Filter 2FF2(L/R) FB2(L/R) FBC2(L/R)第二組 ANC 參數(shù)Filter 3FF3(L/R) FB3(L/R) FBC3(L/R)第三組 ANC 參數(shù)Filter 4FF4(L/R) FB4(L/R) FBC4(L/R)第四組 ANC 參數(shù)把 tool 界面上的 L 和 R 疊在一起看四組結(jié)構(gòu)的對(duì)稱(chēng)性就出來(lái)了。切換 ANC 模式時(shí)看 loganc_result里三個(gè)模式循環(huán)出現(xiàn)每次都會(huì)帶上當(dāng)前使用的 filter id。這個(gè)字段是排查“切了但沒(méi)效果”的第一手證據(jù)id 變了說(shuō)明鏈路通到了服務(wù)層沒(méi)變說(shuō)明卡在按鍵或狀態(tài)機(jī)。4.4 NVR 參數(shù)從 config tool 到芯片的那一段三連擊 POWER有提示音沒(méi)有降噪效果——這是最典型的一類(lèi)現(xiàn)象。原因往往極其樸素用 config tool 打開(kāi)工程的download目錄ANC 模式下的參數(shù)是空的。代碼路徑全對(duì)參數(shù)沒(méi)寫(xiě)DSP 拿到的是一組零。修復(fù)流程是把聲學(xué)調(diào)好的 ANC 參數(shù)nvr 文件導(dǎo)入工程或者直接在 tool 上調(diào)整然后先 Write NV 再 Reset把 FF、FB、FBC 和 AiroThru 參數(shù)寫(xiě)進(jìn)耳機(jī)。之后循環(huán)三連擊能聽(tīng)出不同模式的降噪差異才算真正打通。參數(shù)寫(xiě)進(jìn)去之后還需要能讀懂它。NVR 里的數(shù)值是高字節(jié)在前并且用有符號(hào)定點(diǎn)表示直接按十六進(jìn)制讀會(huì)得到離譜的結(jié)果。def parse_component_gain(word: str) - float: 解析 NVR 里的 component gain 字段返回 dB 值 # 芯片存儲(chǔ)是高字節(jié)在前先按字節(jié)反轉(zhuǎn) swapped bytes.fromhex(word)[::-1].hex() raw int(swapped, 16) # 有符號(hào) 16 位超過(guò) 0x7FFF 說(shuō)明是負(fù)數(shù)減 65536 還原 if raw 0x7FFF: raw - 0x10000 return raw / 100.0 # 單位是 0.1 dB換算成 dB # 以 0xE1E5 10FF 1400 D8DC D8DC 為例 print(parse_component_gain(10FF)) # -2.4 dB對(duì)應(yīng) component gain -240 print(parse_component_gain(1400)) # 0.2 dB對(duì)應(yīng) component gain 20關(guān)鍵在兩步字節(jié)反轉(zhuǎn)和有符號(hào)還原。10FF反轉(zhuǎn)成FF10十進(jìn)制是 65296減 65536 得 -240除以 100 就是 -2.4 dB。1400反轉(zhuǎn)成0014十進(jìn)制 20不用減直接是 0.2 dB。后面兩段D8DC D8DC按同樣的規(guī)則解讀字段順序照著 tool 里顯示的順序讀就行。這套解析邏輯值得單獨(dú)寫(xiě)成腳本的原因很實(shí)際調(diào)音階段你會(huì)反復(fù)對(duì)比“tool 里顯示的”和“芯片里存的”是否一致。手算一次兩次還行改十幾次參數(shù)之后必然出錯(cuò)而錯(cuò)的方向還挺隱蔽——正負(fù)號(hào)搞反降噪曲線就整條翻過(guò)來(lái)。5. 排查清單ANC 沒(méi)效果、宏不生效、參數(shù)回滾的五個(gè)常見(jiàn)坑這一章的五條記錄都來(lái)自實(shí)際調(diào)試現(xiàn)場(chǎng)共同點(diǎn)是代碼看起來(lái)沒(méi)問(wèn)題現(xiàn)象卻穩(wěn)定復(fù)現(xiàn)。每條按現(xiàn)象、原因、解決三段寫(xiě)方便對(duì)號(hào)入座。5.1 有提示音、沒(méi)降噪?yún)?shù)沒(méi)寫(xiě)進(jìn)芯片現(xiàn)象三連擊 POWER 鍵提示音響了log 里anc_result也在三個(gè)模式之間循環(huán)但左右耳聽(tīng)感完全沒(méi)變化。原因用 config tool 打開(kāi)工程download目錄ANC 模式下沒(méi)有參數(shù)。代碼路徑通了服務(wù)層也執(zhí)行了但下發(fā)給 DSP 的是一組全零系數(shù)。降噪算法在零系數(shù)下等價(jià)于直通所以“切了等于沒(méi)切”。解決導(dǎo)入聲學(xué)調(diào)好的 nvr 文件或者直接在 tool 上調(diào)整 ANC、FBC、Passthrough 三頁(yè)參數(shù)然后 Write NV再 Reset。重置這一步不能省部分參數(shù)在初始化階段才被讀取不 Reset 就只能等下次上電。驗(yàn)證方式是循環(huán)三連擊聽(tīng)感上能區(qū)分出不同模式的降噪強(qiáng)度差異。5.2 改了宏沒(méi)生效改的不是本次編譯的 mk現(xiàn)象在某個(gè) mk 文件里加了宏定義重新編譯燒錄行為毫無(wú)變化或者鏈接時(shí)報(bào)某個(gè)符號(hào)未定義。原因工程里存在多個(gè) mk 文件本次編譯實(shí)際引用的是另一個(gè)。比如產(chǎn)品工程是headset_ref_desgin板級(jí)前綴是ab1568_evk最終落到feature_68_evk這個(gè) mk而你改的是隔壁板級(jí)目錄下的同名文件。解決先跑./build.sh list從輸出里確認(rèn)工程名與 mk 的對(duì)應(yīng)關(guān)系再去改那個(gè)文件。改完必須 clean 再 build因?yàn)?mk 變更不一定觸發(fā)目標(biāo)文件重建。符號(hào)未定義這個(gè)報(bào)錯(cuò)反而是好事它至少告訴你“這段代碼確實(shí)被條件編譯切掉了”最怕的是行為靜默改變連報(bào)錯(cuò)都沒(méi)有。5.3 參數(shù)回滾只改了 download沒(méi)改 XML 和 bin現(xiàn)象參數(shù)在 tool 里調(diào)好了也 Write NV 驗(yàn)證過(guò)效果。重新編譯工程、燒錄之后ANC 又回到舊參數(shù)。原因Write NV 寫(xiě)的是耳機(jī)里的 NVR 區(qū)不是工程代碼。重新編譯會(huì)用工程里的 XML 和filesystem.bin重新生成download目錄把之前的改動(dòng)覆蓋掉。有一批 NV key 是存在filesystem.bin里的光改 XML 不換 bin參數(shù)只更新一半。解決用 Special_Export 導(dǎo)出變更到文件會(huì)得到 4 個(gè)文件用 Save 方式保存成 download 則是 3 個(gè)文件其中 syskey 和 bin 是一致的。把導(dǎo)出的syskey.xml里變更的 key 逐個(gè)更新到工程的幾個(gè)nvkey.xml中——注意syskey.xml里有的 keyIDnvkey.xml里不一定有沒(méi)有的要新增已有的要替換比如 ANC 參數(shù)涉及的0xEE00~0xEEFF段在nvkey.xml里就沒(méi)有。同時(shí)替換filesystem.bin再 clean build。5.4 按鍵無(wú)響應(yīng)事件發(fā)出去了沒(méi)人接現(xiàn)象按鍵 log 有ui_shell_send_event也調(diào)了處理函數(shù)里的斷點(diǎn)卻從不命中。換個(gè)界面再按偶爾又能響應(yīng)。原因事件是廣播的但只有當(dāng)前處于活動(dòng)棧前臺(tái)、且注冊(cè)了對(duì)應(yīng)事件組的活動(dòng)才會(huì)處理。當(dāng)前如果停在配對(duì)界面或產(chǎn)測(cè)界面home screen 的處理表根本沒(méi)參與分派。另一種情況是事件組 ID 用錯(cuò)發(fā)到了另一個(gè)組名下。解決在ui_shell_init_input_msg的分派路徑上打一行 log同時(shí)打印事件組和事件 ID對(duì)比活動(dòng)注冊(cè)表里的事件組。有投遞無(wú)分派就是路由問(wèn)題有分派無(wú)業(yè)務(wù)響應(yīng)才是處理函數(shù)的問(wèn)題。另外在狀態(tài)切換的地方補(bǔ)ui_shell_remove_event把過(guò)期事件摘掉避免它在新上下文里被誤執(zhí)行。5.5 超時(shí)時(shí)間不準(zhǔn)tick 單位和宏的換算現(xiàn)象自動(dòng)關(guān)機(jī)、配對(duì)超時(shí)、鏈路丟失重連這些功能實(shí)際觸發(fā)時(shí)間跟配置值對(duì)不上有時(shí)差好幾倍。原因配置項(xiàng)的單位是毫秒底層定時(shí)器按 tick 計(jì)數(shù)中間有一次換算。有人在宏里直接填了毫秒數(shù)卻沒(méi)走換算宏或者在改 tick 頻率之后忘了同步改配置值。解決把所有超時(shí)相關(guān)的宏集中看一遍確認(rèn)單位是毫秒還是 tick換算系數(shù)跟當(dāng)前 tick 頻率是否匹配。驗(yàn)證方式是掐表設(shè)一個(gè) 30 秒的超時(shí)實(shí)際測(cè)一次觸發(fā)點(diǎn)差一個(gè)數(shù)量級(jí)就是單位問(wèn)題差幾秒就是 tick 精度問(wèn)題。自動(dòng)關(guān)機(jī)還涉及關(guān)機(jī)前的提示音和 LED 狀態(tài)收尾時(shí)間設(shè)置過(guò)短會(huì)在提示音播到一半時(shí)斷電聽(tīng)感上像是“關(guān)機(jī)有雜音”。6. 參數(shù)固化還是 FOTA 下發(fā)NVKEY 的兩條路怎么選ANC 參數(shù)最終要落到耳機(jī)里有兩條路編譯進(jìn)固件或者通過(guò) FOTA 更新 NV key。兩者的取舍不在技術(shù)難度而在迭代節(jié)奏。維度固化到 XML/binFOTA 更新 NVKEY生效時(shí)機(jī)整包燒錄后生效單獨(dú)下發(fā)不用重?zé)碳a(chǎn)線適配量產(chǎn)程序直接編譯一致性好需要額外的下發(fā)工具鏈迭代速度慢每次改參數(shù)都要 clean build快適合調(diào)音階段反復(fù)試回滾成本重?zé)傧掳l(fā)一次舊參數(shù)調(diào)音階段我傾向于走 FOTA/Write NV 這條路改一次參數(shù)聽(tīng)一次效果不用等編譯。定版之后必須固化到 XML 和filesystem.bin讓產(chǎn)線拿到的每一臺(tái)耳機(jī)參數(shù)完全一致——參數(shù)固化到代碼里的價(jià)值不是“省事”而是“可復(fù)現(xiàn)”。驗(yàn)證是否真的固化了方法很樸素clean build 生成新的download用 config tool 打開(kāi)看 ANC 參數(shù)是不是剛才導(dǎo)入的那一版如果不是說(shuō)明 XML 沒(méi)更新全或者filesystem.bin沒(méi)替換。再狠一點(diǎn)的驗(yàn)證是把耳機(jī)擦除后重新燒錄讀回 NV key 跟預(yù)期值逐字節(jié)比對(duì)比肉耳聽(tīng)降噪靠譜得多。踩過(guò)一次坑之后我就養(yǎng)成了習(xí)慣每次改 NV 參數(shù)先問(wèn)自己一句“這是要驗(yàn)證還是要定版”驗(yàn)證走 Write NV定版走 Special_Export XML/bin 替換兩條路絕不混用。混用的后果是某天發(fā)現(xiàn)倉(cāng)庫(kù)里的參數(shù)和產(chǎn)線耳機(jī)對(duì)不上而沒(méi)人記得是哪次改的。從那以后我每次動(dòng) NV key 都強(qiáng)制走一遍“導(dǎo)出、更新 XML、替換 bin、clean build、tool 復(fù)核”這五步一步不跳。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
一区二区乱视频码| 五月婷婷偷拍| 色婷婷97| 色在线视频网2025| 亚洲久久婷婷丁香五月天| 丁香操逼| 精品99在线| 在线超碰91| 五月天色丁香| 激情综合区| 丁香五月婷婷色| 日韩综合久久| 大香线蕉伊人| 九九精品亚洲| 五月亭亭欧美女人| 噜噜五月天综合| 五月婷婷香| 在线观看亚洲AV| 欧美综合在线五月天色婷婷| 五月久久噜噜| 婷婷五月天va| 黄色精品五月婷婷| 射区导航| WWW99热| 琪琪色五月婷婷老师| 婷婷五月天天爽| 国产日日夜夜操| 婷婷五月天激情网| 开心五月六月婷婷| 激情五月综合色| 日本97久久久精品| 99热欧美偷拍| av在线免费网站 | 人人天堂操| 91热爆在线| 97碰成超视频免费视频| 六月丁香婷婷大香蕉| 99国产精品久久久久久久久久久| 丁香五月影视| 亚洲网视屏| 色五月中文网| 五月综合激情| 91久久婷婷| 另类激情五月| 激情婷婷久久| 操人91| 日日操日日撸| 亚洲1区| www.色综合.com| 女高怪谈在线观看| AAA亚洲AV| 午夜九九电影| 久久久久久久合一狠狠做深爱| 久久久久婷婷| 日日想日日夜日日操| 天天色爽| 精品国产va久久久| 婷婷五月激情图片| 激情五月综合网| 97人人超| 亚洲a片免费观看| 久久丁香婷| 久久婷婷桃花五月天| 超爽内射| 超碰99在线| 91九色精品熟女内射| 玖玖综合色| 性爱网五月天| 欧美Va在线| 丁香六月五月婷婷| 91se在线视频| 青青草青青草五月天| 1024AV视频| 九九热内射| 影音先锋天天日| 激情99| 激情小说五月天社区丁香| 婷激情五月天视频导航| 五月天婷婷影院影院观看| 五月丁香拍拍激情综合| 亚洲欧美999| 色天五月天在线观看视频| 狠狠色噜噜狠狠狠888| 五月天亚洲综合网| 99热最新网址| 在线天堂9| 国产 码在线成人网站| 欧美婷婷六月丁香综合色连续高潮抽搐| 成人午夜免费电影| 91啪级电影| 精品人妻伦| 久久婷婷五月激情网站| 99热这里| 在线免费观看激情视频| 色综合色综合婷婷热| 五月丁香欧美综合免费视频| 91viP在线看| 狠狠操综合| av网址在线播放| 欧美色色日韩| 五月丁欧美| 婷婷激情六月天视频| 91视频综合网| 9l视频自拍九色9l黑人| 国产精品噜噜在线视频| 二色AV| 成 人片 黄 色 大 片| 色婷婷91激情小说| 99精品在| 操97免费超级视频| 婷婷五月天大香蕉在线视频观看| 婷婷丁香激情综合色情| 欧美五月丁香| 另类图片五月天激情| 999精品久久久久久久| 九九久久玖玖爱| 97碰碰人人| 色婷婷综合中心| 五月激情网站| 夜夜躁婷婷AV| 亚洲精品永久久久久久| 五月丁香影院| 婷婷97| 99免费热视频| 日本丰满久久| 色五月第四色| 国产免费av网站| 成人羞羞啪啪 全 视频| www.五月天婷婷| 五月天久久www| 色5月婷婷| 色色色在线观看| 变态 另类 在线| 91操熟女| 思思热精品在线视频| 欧美日韩成人在线免费| 五月丁香婷婷免费视频| 男人天堂AV在线一区二区| 五月婷婷m| 久久六月天| 日韩在线9| 天天搞天天爽| 五月天婷婷爱| 天天玩夜夜操| 思思99精品视频在线观看| 啪到高潮激情丁香五月| 99精彩视频网站在线| 色婷婷手机在线| 精品女人九九九| 成人va在线| 青青草日本亚洲| 99无码| 亚洲性图一区二区三区| 男人的天堂婷婷色五月| www,色色色网站| 色婷婷亚洲综合网站| wwccc久久久| 色色色地址| 婷婷欧美激情| 色色婷婷五月天| 丁香六月久久| 无码成人AAAAA毛片AI换脸| 五月丁欧美| 色九月婷婷| 久久婷婷伊人| 99精品丁香五月| www.思思99热| 色九月婷婷丁香| 五月丁香啪啪婷婷| 五月色婷婷影视在线电影| 国产亚洲精品久久久久久郑州| 婷婷激情九月| 日本操天堂| 激情亚洲婷婷六月| 婷婷大乡焦噜噜| 五月停停999| 97欧美在线| 久久久久9| 综合色情网| 日本99视频| 丁香五月婷婷亚洲综合精品在线| AA片在线观看视频在线播放| 99热97| 五月伊人网| 色色99| 五月久久| 六月久久狠狠| 久婷婷视平| 婷婷久久亚洲| 午夜色色色极品视频| 亚洲精品久久久久久久久久吃药| 色五月开心五月激情五月| 影音先锋91在线资源站| 开心激情网在线| 五月婷婷综合影院| 天天揷综合网| 男女99免费视频| 色婷婷深爱五月| 五月婷中文娱乐综合| 五月婷婷丁香综合| 亚洲亚洲永久无码777777| 激情 婷婷| 国产色色视频| 久久亚洲无码| 九九色视频| 狼人婷婷久久| 久久综合香蕉国产国产蜜臀AV| 丁香五月婷婷激情中文| 激情网站五月| www.97碰碰com| 激情色色| 亚洲午夜AV| 婷婷夜夜夜夜| 精品网站99| WWW.久久久久久久久久久久久| 丁香六月天| 丁香五月天激情婷婷丁香六月| 狠狠色综合网| 色九月| 色久五月天| 久热只有这里有精品| av在线免费播放观看| 99re热在线视频| 99精品久久久久久久婷婷久久| 男同色五月开心五月激情五月| 五月在线| 欧美综合激情五月丁香| 亚洲久热| 中文字幕永久免费| 99精品久久久久久久婷婷| 亚洲成人电影在线免费观看| 日B日潘金莲BB| 99综合网| 中文av网| 婷婷五月天福利| 婷婷久久精品| 五月婷婷天堂| 97色片| 色色性爱视频| 国产精品国产| 1区2区视频| 激情婷婷五月天日本系列| 怕怕視頻| 国产成人VA| 另类视频在线| eeuss人妻| 啪啪黄页网| 色五月激情综合网站| 成人做爰A片免费看视频| 26UUU精品一区二区| 五月丁香成人| 五月天播播| 日本三级中国三级99| 午夜丁香五月天综合| 久久久久99精品成人片| 色综合色综合网| 婷婷五月天深爱| 久热亚洲| 九九99免费视频| 综合色网站| 婷婷五月天午夜激情影院| 99热九九九九| 天堂久久婷婷| 亭亭丁香久久五月| 五月丁香六月婷婷综合伊人| 天天五月情| 老司机午夜福利视频金瓶梅| 天天日狠狠| 五月六月丁香婷婷在线观看| 99热这里只有免费| 97操碰在线视频| 五月婷婷婷婷婷婷艺术| 五月天色婷婷网| 成人综合伍月天| 性生活久久人妻| 五月丁香 久久久| 亚洲综合干| 好好干av| 五月婷婷影| 久久九色| 精品热九九| 五月婷婷激情综合| 亚洲午夜国产成人电影VA国产欧…| 久热91| 疯狂做受XXXX高潮A片动画| 99精品热| 国产三级在线播放| 99人妻碰碰碰久久久久视| 天堂网色色| 久久婷狠狠色| 能直接看的AV网站| 婷婷久久网| 色优久久| 991国产精选视频在线播放下载| 亚洲色基地| 9久久久久久久久久久| 五夜婷婷| 丁香色五月天| 欧美性生交XXXXX无码小说| www.91五月| 亚洲婷婷激情综合激情999精品| txt五月激情四射网综合俺也来了| 色婷婷丁香女女| 欧美啪啪五月天| 婷婷综合| 久久久27操| 国产精品18久久久| 波多野结衣不卡AV| 成人短视频免费| 91超级碰碰碰| 狠狠插狠狠操| 久久久久久久久月丁| 六月丁香狠狠爱| 夜夜操夜夜爽| 色久女| 99热这里只有精品免费| 天堂色色色| 99这里只有精品国产| 丁香婷婷视频| 牛牛澡牛牛爽| 婷婷五月丁香高清无码| 伊人久久艹| 31色区视频免费看| 五月天激情综合网俺也去| 色色色色色爱| 亚洲亚洲人成综合网络| 伊人婷婷青青cao| 亚洲五月六丁香激情| nvrentiantang av| 超碰自拍天堂| 婷婷五月噜噜| 大香蕉久久青青| 99在线视频色版| 欧美日韩AAA| 激情五月天视频| 婷婷性爱视频在线| 九九免费在线视频| 丁香六月啪啪| 激情宗合哪里能看| 久久婷婷五月天激情| 97luluse| 五月丁香婷婷伊人| 国产麻豆视频| 开心五月丁香啪| 色激情五月| 97色 五月天丁香| www色婷婷久久综合久色 | WWW.婷婷五月天.COM| 好好干av| 色香蕉婷婷| 色婷婷综合中心| 99久久网站| 久久资源网五月婷| 欧美日韩91| 99精品一二三四视频| 五月色丁香视频精品| 亚洲字幕AV一区二区三区四区| 五月熟妇婷婷久久| 九九这里有精品| 91在线人| 思思热在线| 五月婷婷精品| 色婷婷激情| 丁香久久综合| 思思久久精品| 97丁香五月天| 色九四色| 69er小视频| 国产毛片精品一区二区色欲黄A片| 日本婷久久| www.五月天婷婷| 色五月激情图片| 日本va欧美va欧美va| 丁香五月婷婷国产av| 日本熟女内射| www,色婷婷| 五月丁香六月婷婷视频| 天堂网色色| 射久久丁香五月| WWW.99视频| 在线日韩视频| 国产性色蜜乳| 97香蕉人人在线观看| 五月色综合| 99这里有精品免费| chaopeng在线人人| 91AV婷婷| 五月综合婷婷网| 人人操9| 色五月婷婷老师| 中文字幕视频在线播放| 91打屁股免费看| 五月天激情小说| 精品一区二区三区免费毛片爱| 色婷婷导航| av国产精品| 婷婷五月天天aV| 99人妻碰碰碰久久久久| 可以免费观看的AV| 久草热视频在线观看| 棕合影院色色| 久久九九热38| 大香蕉啪啪网| 综合一本道| 丁香五月综合婷婷| 99久久6| 开心婷婷五月天电影院| aaaa.黄| 97色色色| 免费视频99| 婷婷丁香77777| 久久久久久9热不雅视频| 婷婷色色丁香五月天| 日本女天天爽| 丁香六月天婷婷色| www.狠狠操| 天天综合中文| 六月丁香婷婷色综合| 激情五月婷婷啪啪| 中文字幕乱码亚洲精品一区| 99精品视频网站| 久久色在线视频| 久久一伦| 婷婷五月天免费99| 九九视频在线观看视频6 | 人人操操| 99婷婷综合| 九九AV| 热99免费在线| 99精品性爱| 六月伊人婷婷| 蜘蛛女免费观看完整版高清电影| 国产黄色大片| 国产亚洲精品AAAAAAA片| 男女免费视频999| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 婷婷五月天国产性感美女演员久久久久| 开心五月深爱五月丁香五月激情五月 | 人人舔天天| 久久婷婷五月天懂色| 色综合99色| 婷婷五月天激情网| 色色色热| 可以看的av| 综合激情在线视频| 97丁香五月| 26uuu另类亚洲欧美日本一| 丁香五月婷婷亚洲色图| 九九99久久| 99九九视频| 人人操91色| 婷婷中文字幕网站| 日韩av在线播放综合网| 丁香五月综合网| 粉嫩AV久久一区二区三区| 婷婷激情社区| h在线看免费版在线看| 色久女| 久草大| 伊九九三级区| 天天五月丁香五月| 伊人青草成人| 亚洲色网络| 大香蕉院线| 婷婷五月AA五月在线| 五月色婷婷在线观看| 亚洲五月婷| 51成人| 91九色在线视频| 996精品热视频| 特级操b片| 婷婷久久影院| 九九黄色网| 久久久五月天| 五月婷婷色男女| 天天干天天日日| 先锋五月婷婷丁香草草| 丁香五月天导航| 五六月婷婷| 亚洲性天天| 玖玖伦理电影| 九九99免费视频| 无码人妻一区二区一牛影视| 丁香五月成人| 久久99草五月婷婷| 99九九综合久久九九| 婷婷五月天堂| 26uuu亚洲欧美另类| 五月婷婷伊人在线| 人人干99| 婷色五月天| 六月丁香久久| 无码激情AAAAA片-区区| 色婷综合| 丁香五月激情宗合| 99热在线免费| 五月丁香啪啪啪| 欧美69久成人做爰视频| 99玖玖视频| 色综合久久天天综合网| 人人干人人操人人摸人人做| 免费精品99| 久久免片| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 亚洲激情五月| 五月婷婷伦理| 激情綜合W W W,激情五月天| 五月在线| 丁香五月婷婷久久久| 六月丁香综合| 丁香六月婷婷综合色| 亚洲看av的网站| 丁香五月天婷婷激情| 婷婷六月久久综合导航| 五月天婷婷网站| 日本精品99网站| 99热这里只有精品13| 四月婷婷五月丁香| 97夫妻超碰| BT综合在线视频观看| 婷婷六月激情啪啪| www九九| 丁香婷婷天堂| 天天噜天天插| 五月婷婷深深爱| 一本道在线电影| 99超超碰| 天天综合网、天天综合色| 99热99干| 免费无码毛片一区二区A片| 久久综合网桃花| 五月亭亭六月激情| 开心五月网| 天啪色| 日日操夜夜爽天天天| 丁香婷婷五月六月久久| 色爱爱综合网| 亚洲狠狠操| 大香蕉综合在线| 九九干视频| 思思热久久爱| 色五月天激情| 大香蕉人在线65| 五月婷在线视频免费播放| 第五色婷婷| A1片久久久| 天天爽天天做| 亚洲精品亚洲人成人网| 日本一级一级一级一级| 综合色影院| 99热黄| 99热这里只有精品33| 丁香色婷婷五月天| 伊人久久婷婷| 丁香婷五月天开心六月| 午夜成人在线免费视频| 丁香五月婷婷在线观看| 国产精品涩涩涩视频网站| 色热久| 香蕉人在线香蕉人在线 | 久久婷青青草原| 天天久久综合| 色综合99无码 | 操操熟女| 内射激情在线| 97操操网| 岛国av电影网站| 成人 在线观看国产| 激情六月丁香综合| 99精品视频在线观看| 久久99大全| 丁香五月天婷婷中文字幕| 五月亭久久无码视频| 欧美黄色AA片哗啦啦啦| 婷婷久久婷婷| 亚洲婷婷激情五月天| 99色免费观看全部| 热99在线| 欧美色99| 99性视频| 婷婷成人综合五月| 亚洲综合色激情色五月| 丁香五月香蕉| 久久婷狠狠色| 国产日比| 丁香五月综合网亚洲综合欧美狠狠| 国产在这里只有精品| 91久女| 色情终和网| 婷婷六月伊人| av第一二区| 欧美丁香五月97色| 婷婷九月激情| www.夜夜| 亚洲欧美999| 五月天丁香婷婷社区| 七七九色| 熟女重口味αV| 久久se 综合网| 99热精品中文字幕| 狠狠干在线| 久久精品99| 九九草热在线观看| 日本99视频精品免费播放| www.99久久久| 色婷五月丁香久亚洲| 九九九九九九九九九九九九九国产精品| 亚洲综合五月天综合| 国产成人片| 丁婷婷五月天在线播放| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 丁香婷婷综合影院| 婷婷九月丁香| 丁香激情五月综合网| 色婷婷色综合久久精品V| 色欲影香| 婷婷五月色丁香在线看| 丁香色六月婷婷| 成人做爰高潮A片免费视频| 六月激情婷婷| 色婷婷最爱五月| 亚洲av无码影院| 五月天国产| 婷婷精品性视频| 涩综合在线| 综合玖玖偷拍| 欧州婷婷五月天综合| 亚洲综合无码| 五月丁香六月婷婷开心网| 人妻AV在线| 国产亚洲av片| 操老逼综合网| 丁香五月欧美| 欧美视频五区| 婷婷综合五月天亚洲综合| 色五月天.con| 99久超碰| 激情av网| 日本色啪| 成人做爰高潮A片免费视频| 五月天婷婷爱| 激情五月天影院| 九九爱看亚洲| 成人 视频免费观看网站| 精品久9| 开心激情婷婷| 婷婷五月天堂| 精品少妇蜜臀91| 丁香五月婷婷天堂大香蕉| 婷婷五月在线影院| 人妻丰满精品一区二区A片| 大香蕉九操| 亚洲热综合| 美英法精品无码免费视频| 色激情综合狠狠婷婷| 91综合色| 国产成人高清| 98色花堂98t.R| 激情又色又爽又黄的A片| 噜噜五月天综合| 思思w99| 激情五月天在线| 五月婷丁香花| 丁香五月天在线视频| 97操碰碰无码视频| 91操在线视频| 激情久久综合| 色婷婷av在线观看| www.日本久久videos| 亚洲第一成人无码A片| 99人妻碰碰碰久久久久视| 国自产拍偷拍精品啪啪一区二区| 久青操| 天天搞天天色综合| 婷婷九月激情| 亚洲情欲| 色婷婷丁香五月| 五月天激情久久| 六月婷婷亚洲| 婷婷五月色播放| 精品久久99码| 亚洲AV网址| 狠狠操狠狠操| 在线婷婷| 狠狠综合| 碰超亚洲| 98永久精品| 婷五月天| 中文字幕av在线播放| 色99色| 99在线观看| 六月婷婷无码| 久热中文字幕在线线观看| 美英法精品无码免费视频| 九九视频这里只有精品| 欧美Va婷色| 五月天婷婷色色| 思思热在线视频精品| av网址在线播放| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 国产午夜成人免费看片无遮挡| 午夜一区| 99九九99九九九视频精品| 在线超碰91| 美日韩成人| 九九一综合精品| 色亚洲婷婷| 丁香婷婷五月| 婷婷五月天综合网| 国产特黄色精品一区二区三区精品无广告| 91打屁股免费看| 91亚洲免费片| 五月丁香色色综合| 久久六月综合| AVDV久久| www.激情五月天.con| 综合久| 久久99久久99精品免观看软件 | 九九狠狠干| 99热精品10| 激情深爱综合网| 日本久久网| 亚洲综合色激情色五月| 五月婷婷基地| 五月天五月天成人网亭亭成人色网站| 欧洲亚洲精品| 欧美搡BBBBB摔BBBBB| 色五月激情五月| 天堂爱啪啪| 婷婷五月天伊人网在线观看视频| 天天综合影院| 色色色欧美| 狠狠色大香蕉| 狠狠操.COM| 久久婷婷综合五月天| 色婷婷丁香| 天堂色色色| 五月婷婷深爱六月| 五月激情婷婷国产精品久久久久久| 亚洲综合草草| 超级碰碰一区| 就爱操www com| 男人的天堂五月丁香| 色婷婷综合网| 九九婷婷综合| 日本在线va| 屁股翘好撅高迎合跪趴| 91精品久久久久久综合五月天| 日韩一区二区三区无码| 久热伊人| www,色婷婷| 丁香五月婷婷在线观看| 欧美日本韩国亚洲| 综合亚洲色色| 九九色图| 久久久五月天网站| 洗浴中心操B视频| 国产精自产拍久久久久久蜜 | 中文幕无线码中文字蜜桃| 色图亚洲91| 色播播之激情五月婷婷| 99热这里只有精品青草| 99九九综合久久九九| 丁香五月香蕉| 黄色aa观看aaguochan| 手机AVAV天堂看网| 思思99热| 久久久久婷婷五月热综合| 日本久久婷婷| 亚洲人妻Av| 思思热在线观看| 丁香六月色| 激情综合网五月激情| 婷婷综合性爱网| 99视频精品8 | 99视频精品视频| 久久99热这里只有精品| 人人超碰99| 开心色五月天久久久久久久| 99热有精品在线观看| 丁香五月天无码| 黄色国久久| 人妻VideOssS人妻| 婷婷丁香久久网| www.五月天社区| 色九月综合| 99国产视频网| 亚洲一级AV在线免费播放| 色偷偷五月天| 免费啪啪亚州视频| 综合色色婷婷| 五月婷婷五月丁香综合| 成人免费120分钟啪啪| 26uuu亚洲欧美另类| 97爱艹婷婷开心丁香激情综合| 色五月婷色彩免播放器| 欧美色五月| 五月婷婷激情色情网| 日韩成人中文| 色色色色综合| 日本久久视频| 久/久精品99看9| 国产一区男女| 五月天伊人久久| 五月婷婷六月丁香综合| 怕怕視頻| 开心色色五月天综合| 亚洲精品乱码久久久久久综合| 无码啪啪| 丁香六月婷婷高清| 婷婷五月天渟渟| 9久国产| 色五月成人婷婷| 婷婷丁香日韩五月| 五月香婷婷| 天天舔天天插天天爱| 色色欧美。| 日韩1区2区| 中文字幕在线日亚洲9| 图片区 小说区 区 亚洲五月| 丁香六月婷婷开心| 五月丁香成人网| 九玖欧洲亚洲| 五月婷婷偷拍| 五月丁香久久综合| 婷婷丁香人妻天久久| 婷婷五月丁香图片人人操| 99精品视频在线观看| 日日夜夜狠狠婷婷色| 99在线资源视频| 综合AV在线| 99热99这里有免费的精品| 欧美人人女女精品综合五月天| 欧洲色色| 久久激情五月| 第四色色六月色综合| 色五月婷婷在线观看| AV九九| 涩涩激情五月婷婷| 天天插天天插| 99视频只有精品| 五月开心六月婷婷在线播放网站| 久cao香蕉影院| 婷婷激情综合| 深爱激情婷| 五月丁香琪琪| 91人人看| 国产午夜成人AV在线播放| 久色五月| 久久久婷丁香五月天激情综合| 亚洲色啪| 六月激情久久| 午夜不卡成人一区二区| 激情丁香社区| 超碰色女| 九九爱激情| 久久婷婷精品| 丁香五月91| 婷婷五月天视频亚洲| 五月天成人网婷婷| 如何安全看伊人婷婷| 精品欧美性爱超级爽| 国产激情久久久| 可以免费观看的av| 思思热久久久在线| www婷婷亚洲| 五月丁香成人网| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 99色在线视频观看| 2018夜夜草| 99热超碰| 开心婷婷五月| 人妻av在线| 99综合自拍| 五月性色| 婷婷六月丁香欧美视频在线| 久久这里只有精品视频26| AV色五月婷婷| www超碰| 9191avse| 99玖玖免费视频| 久久久久久久久久久44| 在线亚洲综合网| 超碰色热| 第九色区AV在线| 狠狠ri| 老司机日日夜夜青草| 五月天婷婷操逼视频| 五月激情天| 五月天com| 久久人人妻| 99久视频| 五月丁香婷草| 五月天 另类图片| 五月丁香色婷婷综合| 人妻久久久久久久久| www.狠狠狠.com| 成人午夜无码视频| 99热99在线| 快乐激情五月色婷婷| 五月丁香啪啪网| 激情五月丁香五月| 久久这里只有精彩| 人妻内射麻豆视频| 九九热99精品| 天天天天天天噜| 99热免| 日本天天操| 五月婷精品| 精品久久艹| www.99热| 97人人干视频| 碰碰操91| 激情综合啪啪| 五月天激情在线视频| 亚洲色综合| 精品无码av丁香五月激情| 五月婷婷综合激情网| 五月天激情综合首页| 婷婷久久五月天亚洲欧美国产日韩在线观看| 91操片| 婷婷亚洲五| 五月婷婷免费在线观看| 99精吕视频在线观看了| 丁香五月天堂网AV| 婷婷九月狠狠色| 欧美色图天堂网| 婷婷美女精品视频| 99精品免费欧美小视频| 色噜噜五月天| 色欲天天综合网| 香蕉曰比| 婷婷免费无马| 色九月激情综合网| 99视频只有精品| 五月激情在线| 五月丁香 狠狠爱| 伊人狠狠丁香婷婷综合尤物| 66久久视频在线| 五月婷婷69| 丁香五月伊人| 人妻av在线| 久久久潮喷-久久久九九-成人AV| 久久五月热| www.久久久久| 日本 @ va 免费| 日韩啪啪视频| 午夜成人av在线| 五月婷婷欧美| 天天色天天色天天色天天色天天色| 五月香六月婷| 日韩无码色色| 日本精品久久久久中文字幕| 亚洲乱码日产精品BD| 日本人人干| 天天综合色综合| 婷婷情色五月天| 激情5月婷婷| 久久久中文| 天天爽天天爽视频| 操碰91| 婷婷丁香亚洲色综合91| 五月天婷婷导航| 91超级碰碰碰| 天堂网色婷婷| 九九热在线视频,| 99色在线视频| 五月天之色情综合网| 四色 爱 婷婷 精品 亚洲 五月天| 婷婷五月天激情五月天网站| 色爱亚洲| 亚洲狠9| 久久久精品99亚洲综合| 久久五月天综合| 人人色人人弄人人操| 最新色色五月天| 五月天最新网| 丁香五月天网站| 丁香五月开心婷婷| 99ER热精品视频| 国产成人av在线| 天天天天天天操| 丁香五月天成人| www.av视频xx999.com| 久久人人人人妻| 丁香婷婷六月| 综合99久久| 色婷婷小说网| 香蕉色色网| 五月精品免费XXX| 少妇AB又爽又紧无码网站| 国洲夜色亚热在线久久| 色婷婷五月天综合网| 1000部毛片A片免费观看| 亚洲欧美婷婷五月色综合| 囯产精品久久欠久久久久久九大| 色色99| 人妻自慰在线| 任你爽视频| 久久人操| 99日韩| 激情丁香社区| 久久久网站| 亚洲AV网站| 五月丁香激情啪啪| 中文字幕在线免费观看视频| 五月丁香欧美在线| 五月丁香在线| 丁香五月婷婷久久久| 久久久久这里只有精品| 夜夜夜天天操| 色色色色综合网| 精品国产人人爱人人| 亚洲欧美成人在线| 五月婷婷六月丁香综合视频在线| 99在线资源| 中美月韩免费A片| av色婷婷| 玖玖在线视频福利| 婷婷六月天| 色五月丁香五月五月婷婷| 国产成人AV在线播放| 欧美色图天堂网色| 色婷婷综合视频| 大香蕉狠狠爱主页| 日韩在线视频中文字幕| 97干网站| 热久久这里只有精品| 五月天激情站| 国产高清av黄色看片| 99小视频网站| 色色丁香五月| 9l视频自拍9l九色成人| 日本女天天爽| 另类丁香五月天区图| AAAA网站| 九九AV在线| 综合色播| 五月婷婷视频28| 五月婷婷综合社区| www.99色| 亚洲婷婷婷| 超级碰碰视频无码| 中文字幕婷婷| 婷婷丁香成人在线视频| 九月丁香婷婷网| 色婷婷激情四射视频| 亚洲激情亚洲激情| 99丁香五月| 99在线资源| 69堂午夜视频最新地址| 182.t午在线观看| 97碰| 色婷婷AAA| 香蕉久久国产AV一区二区| 夜夜嗨一区二区三区直播内容| 密黄站| 九九黄色网| 天天色天天爱天天舔| 热久免费视频9| 激情五月综合| 女力报到正好爱上你| AV操逼网| 日韩精品一区二区三区,四区,五区视频| 五月天色婷婷小说| 久久五月天影院| 人妻人人操| 日日做夜夜爱| 亚洲国产网站| 亚洲操人| 久久精彩视频| 最新精品视频99| 天天色丁香| 国内自拍97在线| 丁香五月电影| 91人人爽久久涩噜噜噜| 久久婷婷激情五月天一区二区| 少妇性BBB搡BBB爽爽爽视頻| 五月婷婷激情中文字幕| 欧美毛片www| 丁香九月婷| 久久天堂女人| AV在线免费网站| 天天干天天爽天天爽| 五月天狠狠网站| 亚洲色色五月| 狠狠一日| 大香蕉综合| 婷婷久久五月天丁香| 亚洲经典小视频| 五月丁香怕啪啪| 久久色五月| 丁香五月婷婷激情蜜桃| 狠狠穞A片一區二區三區| 久久总和99| 婷婷五月天中文字幕| 日日干夜夜撸夜夜骑| 97久久人人操| 97婷婷在线视频| 色综合99无码 | 天堂成人久久| 日韩AC在线免费观看| 黄色成人网站在线播放| 99热久久这里只有精品2010| 热这里只有精| 99自拍视频| 亚洲AV日韩无码| 激情久久综合网| 婷婷五月天综合久久日美女| 无码激情AAAAA片-区区| 99热婷婷| 激情五月丁香社区| 欧美成人va| 五月天亚洲色| 色综合xx| 9l视频自拍9l视频自拍九色学生| AA片在线观看视频在线播放| www.婷婷五月| 色婷视频| 99久在线视频| 大香蕉婷婷久久| 9久久AV| 99热免费18| 亚洲精品99| 五月丁香综合激情网| 在线看片av| 97碰超级人人看| 色婷婷中文在线| 五月丁香婷草| 99er久久| 99国产这里只有精品| 色之综合网| 99热免费精品| 96精品久久久久久久久| 日韩在线99| 婷婷丁香九月| 久久精品婷婷| 99亚洲精品视频在线观看| 日木狠狠干| 日本美女天天日天天爽| 色亚洲中文| 99热这里有精品24| 亚洲va欧美va国产综合久久久| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 五月天伊人| 丁香五月婷婷偷拍| 无码人妻一区| 五月天激情婷婷小说| 毛片毛片毛片毛片| 色色色色网| 日韩人妻无码精品| 色综合久| 色播丁香| 婷婷五月色播天| 涩玖玖免费视频| 任你擦免费视频| 婷婷五月色播网| 色国产五月| 色婷婷成人丁香| www.五月天婷婷姐姐| 五月婷婷人妻| AV色婷婷| 久久伊人大香蕉| 热久综合| 怡春院久操| 5月婷婷视频网站综合| 丁香五月天啪啪激情综合网| 99精品亚洲| 91九色精品熟女内射| 欧美日本黄色| 亚洲婷婷久久综合| 日韩欧美成人片| 99视频只有精品| 日本久久色| 97成人在线视频| 伊人色综合影院视频| 九热在线这里有精品6| 大陆肏屄视频| 五月婷婷色影院| 91狠狠色| 9色91视频| 五月天婷婷综合色| 99热热这里只精品996小说| 婷婷五月在线综合| 色狠狠色综合| 欧美性爱五月天| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 99在线精品免费视频| 亚洲五月天第一综合干| 五月丁香天堂网婷婷| 婷婷五月六| 久久五月婷婷丁香| 国产看真人毛片爱做A片| AV大片在线观看| 伊人婷婷青青cao| 五月婷婷天| 99热国产免费| 久热婷婷在线视频| 亚洲久久视频| 思思热在线观看| 欧美激情综合五月色丁香| 五月婷婷很很色| 国产操逼网站| 99热在这里只有免费精品| 99视频| 精品一二三区久久AAA片| 97碰碰九九视频| 99 r热| 51国精产品自偷自偷综合| 免费看欧美成人A片无码| www,com,五月色色| 这里只有精品在线播放| 色播五月| 色99在线视频| 色婷婷色综合激情91| 人人干天天操五月丁香| 日本久热| 91jiuseshunv| www.com操| 99热这里只有精品在线| 激情丁香五月AV| 玖玖精品资源| 五月天婷婷小说| 成人综合视频在线| 婷婷六月久久综合导航| 亚洲亚洲人成综合网络| 我爱大香蕉| 久久人人九| 免费观看日韩成人av| 亚洲综合成人网| 久久久无码精品成人A片小说| 五月激情天| 超碰在线精品| 狠狠操狠狠插| 国产婷婷色综合AV蜜臀AV| 97综合在线| 亚洲va欧洲va国产va不卡| 嫩草AV久久伊人妇女超级A| 秋霞免费三级片| 91婷色| 婷婷五月网图片区| 人人摸人人摸| 成人无码髙潮喷水A片| 99精品久久| 色婷婷亚洲婷婷| 9191avse| 综合久久影院| 五月丁香花视频| pom538精品视频| 婷婷九色| 狠狠色噜噜狠狠狠888| 天堂va久久久噜噜噜久久Va| 亚洲色vA| 色综合久| 99视频地址| 色99在线| 丁香五月第九色| 久久视频在线视频| 婷婷色五月亚洲| 色婷婷成人做爰A片免费看网站| 日韩人妻在线观看| 九九精品自拍| 在线婷婷| 99热精品在线在线| 久久er九九| 亚洲AV影片在线观看|