1. 程式人生 > >高通開發-預研文件

高通開發-預研文件

記得讀大學時,學院書記給我們這個專業上個一堂課,他說:大學,教你的不是某個問題該如何做,而是教你,某個問題你應該用什麼樣的思路去做。不僅在工作,更在生活中。比如,你碰到一件棘手的事情,你需要分析它,從結構、因果、原理等多方面去分析,然後採取不同的思路、如大事化小、對比、假想等手段,把事情拆分出來,最終解決。

高通開發其實並不難,所謂的門檻高,我覺得並不是針對開發者,而是針對投資者,畢竟方案費貴,現在提case也需要錢的,經濟成本大。不搞做什麼開發,都有一套開發的流程,高通開發也不例外。

一個專案立項後,有了規格書,開發者就知道具體的CPU、外設等資訊。這是對於一個全新的IC來說,就需要去查詢相對應的文件。

1. release notes

這個文件,是新專案開始,也是新手開發高通必須看的。這文件是高通根據CPU的不同基線編寫不同的文件。

主要說明一下相關資訊:

1.編譯環境的需求,程式碼的下載、編譯命令。

高通的程式碼,對於AP+MP的平臺來說,一部分私有程式碼,需要在case賬號中去下載,另外一部分開放程式碼,可以直接用私有程式碼下的指令碼直接下載,也可以用repo init去下載,當然,還需要把vendor下的程式碼移過去。

程式碼編譯,主要是modem編譯的指令選擇,需要根據你板子的RF支援情況去選擇。

編譯環境,主要注意arm的版本以及android環境的配置。

2. 該基線的特性

從上面資訊,可以看出CPU(主控)+PMU(電源管理晶片)+WTR(射頻晶片)+WCN(wifi、藍芽模組),以及該基線linux版本、android版本,security patch版本。當然還有其他的資訊,比如ddr的支援情況、記憶體的分配表、CR補丁、文件的推薦、高通測試的各種功耗表。

2. reference schmatic(-41 -46)

該文件為高通預設的設計圖紙,-41結尾的為主控的原理圖,-46為基帶的原理圖。高通的預設程式碼是根據預設圖紙編寫的,並且還有對應的樣機,這個樣機可以買的。硬體工程師在設計原理圖,也是根據這份圖紙參考設計,當然由於設計出來的圖紙和預設的存在差異,那麼你的程式碼也需要變更,當然還有更慘的問題,那就是硬體工程師沒有注意GPIO的等一些特殊使用,可能會導致一些無法預估的bug。硬體工程師設計圖紙時,當需要作出一些更改,最後與軟體工程師討論一下,這樣可減少一些不必要的bug,也加快軟體開發的進度。

3. gpio configuration spreadsheet

GPIO預設配置表,主要介紹gpio的功能、以及預設的設定。主要在除錯過程中,有可能需要查詢該表。

除這些之外,還有很多需要關注的文件,其實高通文件的命令是存在規則的,只是不知道具體規則,不然文件檢索的效率會大大提升。