《深入理解Android:Wi-Fi,NFC和GPS》章節連載[節選]--附錄(和審稿專家的討論與思考)

來源:互聯網
上載者:User

首先感謝各位兄弟姐妹們的耐心等待。本書預計在3月中旬上市發售。從今天開始,我將在部落格中連載此書的一些內容。注意,此處連載的是未經出版社編輯的原始稿件,所以樣子會有些非專業。

附錄為筆者和審稿專家之一的吳勁良先生關於本書定位、學習方法等方面的討論。相信這些討論內容能引起讀者的共鳴。

附錄的內容來自筆者和吳勁良先生的幾份討論郵件,此處略有修改。

[-->筆者發給吳勁良先生的郵件]

吳兄:

我有幾個問題想和你深層次討論下,就是關於這本書的定位:

我先說說我的看法:

1)對於初學者(就是完全沒有wifi,nfc,gps經驗的人),這本書肯定是入門書,但是它的難度比普通意義上認為的入門書難。

2)對於中級學者,這些人定位在1-2年或者那些有過實際改bug的經驗,但是缺乏全域理解的人,那麼這本書也合適。不過,可能有部分內容對他們來說比較簡單。另外,關於NFC和GPS的知識,從我們統計的情況來看,NFC和GPS的問題非常少。從面試情況來看,對NFC晶片的datasheet的瞭解(GPS應該是沒有這方面公開的資料)也很重要。不過本書沒有考慮NFC,GPS以及Wi-Fi HAL層的內容。一方面我感覺Wi-Fi驅動層和協議結合非常緊密,有點鑽研精神的讀者在本書基礎上,再加上一些驅動經驗就可以搞定。而NFC HAL層未來發展趨勢可能會和wpa_supplicant一樣,即不會出現NXP,Broadcom這樣太過特定的內容。GPS一般不太可能讓外人看到驅動的代碼了吧?我專門看過QC開源項目Codeaurora[①]中GPS的HAL代碼。它是C/S架構的,只有Client端內容,而且都是簡單的發些命令,然後接收回複,沒有核心的東西。

3)對於進階學者,例如那些經驗和理論知識都比較到位的人,那這本書唯一的優勢可能就是當做參考書來看了,不過內容相對會淺顯點。

另外,昨天和Eva溝通後,覺得本書沒有太多實際經驗,確實如此。我自己定位這本書還是想打通整個知識面,實際經驗的話,需要理論聯絡實踐。現在很多工程師只有實踐,沒有理論,或者理論關注較少。另一方面,如果專門講實踐,這種書反而價值不高,因為可操作性太低。它不像網管類的書籍,一步一步跟著做就行了。

這是我對本書定位的一些看法,吳兄,你能否從一線工程師,培養新人等多個方面講下你的感受嗎?不足之處也提出來哈。

最後,寫完這本書後,我感覺在Wi-Fi、NFC和GPS這幾塊,核心都是晶片廠商做好了,我們唯一可做的就是改改bug,攢足實戰經驗,似乎可發揮的地方非常少(NFC CE模式還有很多發揮空間,尤其是安全交付解決方案之類的)。吳兄,對這個問題又怎麼看呢?

誠摯歡迎吳兄的金玉良言!

Br

             鄧凡平

[-->吳勁良先生的回複]

鄧兄:

1)正如鄧兄說提到,這本書對不同知識深度的學者而言,會有各自的收穫,可引初學者入門,可給中級學者問題分析的線索,可給進階學者一個知識思索的機會(對比自己的理解和補充下知識),書就起拋磚引玉的作用,不同的讀者收中收穫多少還得看個人,多思考的讀者還可以從書中學習到鄧兄分析問題的思路、會反思如何提升自己的搜尋的技巧。

2)這本書是理論分析為主,沒具體問題的解答,但是我覺得夠了。這不是一本Q&A的書,WiFi、NFC、GPS這三大部分,Android涉及的主幹支知識都有,讀者可以做選擇性的深入分析,各個人對知識點的追求都不一樣,很難滿足所有人的需求,就個人而言,我會對android Wi-Fi的休眠策略、Location的網路定位感興趣,這跟實際工作遇到的問題相關。

3)“NFC和GPS問題非常少”,這會跟功能模組是否被廣泛使用和應用的廣度有關,被使用多了可能會暴露多些問題,應用情境多也會促使功能的開發,自然會引出新問題。GPS HAL的代碼各廠家都不提供,Broadcom、MTK、RDA均只是提供so,有可能是涉及到核心技術,估計是一些Command的實現,GPS一般是UART介面,UART只負責上層與模組的資料通訊。

4)對於負責無線模組的新人,我對他們工作的安排是:先做功能的驗證測試,讓他從測試中加深對功能點的理解,知道哪些點是容易出問題;然後會給一些已經調試ok的模組讓其單獨去調試,目的是熟悉調試一個模組需要做哪些工作;最後會漸漸的讓其承擔一些實際任務。學習的安排是:學習NL802.11,USB、SDIO、UART和I2C等模組介面驅動的分析,然後會從核心往Android學習,如:Wi-Fi driver->netd->wpa_supplicant->HAL->framework,Android會安排一些核心知識點的學習,主要是理清工作的機制。最終是希望新人在頭腦有有一幅Android網路結構圖,並能將其畫出來。

5)由於需要先確保相關的外圍模組能配合主控使用,這也決定平常無線工作的重點會在模組的移植調試上,涉及的核心驅動的調試較多,現在android做得越來越完善,大問題很少,小問題還是有,但解起來還好(Android4.4上Wi-Fi目前測試出原生代碼有幾個bug,較嚴重的一個是在關閉Wi-Fi時沒關閉supplicant建立的socket,每次開啟Wi-Fi時又建立,socket開啟個數累積超過65536時,後續操作將失敗)。

6)無線模組Wi-Fi、BT、NFC和GPS,核心的技術是在晶片廠,而且是在晶片設計中,driver的編寫只是其中的很小一部分,即使是相對複雜的Wi-Fi Driver,投入兩三個人,花兩個月的時間把driver寫出來是完全沒問題。這個我也認同發揮的地方很少,除非是從應用角度去開發新的功能或做一些功能創新。但從工作的角度看,要把這些無線模組支援好,也不是不容易,調一款新的Wi-Fi就像在弄一個小系統,需要把系統調穩,沒有bug並可以達到量產的標準,這往往會耗上一兩個月的時間。雖然發揮的地方是少,但當前看這方便的技術人員的需求還是挺大的。

Br.

       吳勁良


[①]https://www.codeaurora.org/,上面可下載高通參考設計(QC Reference Design)的代碼。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.