MTK手機軟體系統工程和目錄結構簡介

2021-05-22 15:49:07 字數 2125 閱讀 1939

mtk 使 用了 nucleus 實 時作業系統,在其上做了個核心抽象層的封裝,以適應多種實時作業系統,如 oscar 、 threadx 、 nucleus 。整個軟體系統包括 nucleus 作業系統、平台裝置驅動、協議棧、檔案系統、 wgui 、 mmi 、 j2me 等。在這裡 mmi 部分幾乎包括了作業系統核心、協議棧、檔案系統之上的所 有部分,其中 wgui 也 在其中。

mtk 的 pc 模擬版使用 vc 的編譯器和鏈結器生成, arm 版使用 ads1.2 的編譯器和鏈結器生成。因為 mtk 的整個軟體系統是乙個很龐大而且複雜的工程,並且要支 持多個 mtk 的產品系 列和多家客戶的客戶化支援,使用整合開發環境 (ide) 已 經無法勝任,而且很難做到整個工程的自動構建和資源、**的生成。所以 mtk 的軟體系統使用了 windows 下的 gnu 開發工具鏈 (mingw) 來進行工程的管理、配置和構建, mtk 將 mingw 放到了第三方工具中。另外還使用了 perl 指令碼來解析使用者輸入的命令列引數,因此第三方工具中 還包含了 activeperl(windows 下 的 perl 直譯器 ) 。不過,整個軟體系統並沒有使用 mingw 的全部工具,好象只使用了 make 這個工具,由幾個 makefile 控制了構建的過程,在編譯和鏈結時根據最終 生成 pc 模擬版還是 arm 版而分別呼叫 vc 的編譯器和鏈結器或 ads1.2 的編譯器和鏈結器。

mtk

手機軟體系統的目錄結構簡介

mtk 手機軟體系統的主要目錄如下所示,因整個 工程的目錄樹非常龐大,為簡單起見和減小篇幅,去除了在工程結構中相對不重要的目錄。

kal 是上面所說的核心抽象層的相關檔案的目錄。 nvram 是訪問 nv 中的內容的相關**的目錄。 nucleus 是 nucleus 實時作業系統的目錄,在給客戶的發布版中只有標頭檔案。 drv 是驅動相關的**的目錄。 fs 是檔案系統相關的目錄,好像只支援 fat 格式的。 tools 是工程相關工具的目錄,包括 mingw 。 inte***ce 是系統各層的介面的目 錄,還包含重要模組的介面,如 bluetooth 、 wifi 。 config 是一些系統和任務 (task) 相關標頭檔案的目錄,感覺不像是配置相關的目錄。 inc 是中斷控制和暫存器位址相關標頭檔案的目錄。

modis 是 pc 模擬版的相關目錄,包括了虛擬的 gsm 網路、 sim 卡等,以及模擬器需要的字串、等資源,還有 pc 模擬版的庫、 vc 的相關工程檔案。

mtk_lib 中是已經編譯鏈結好的 arm 版的庫。因整個工程過於龐大,若完整的全新構建一次需要很長的時間。為了減少構建的時間,將一些已經完全除錯穩定且基本不再改動的庫 和 mtk 不開放源**的庫放到這個目錄,這樣每次構建時只需要將這些庫和其他編譯好的庫鏈結起來就可以了。這些庫一般是 arm 版的,若有 thumb 版的,則再增加乙個和 arm 版相對的 thumb 版的庫,一般叫第二個庫,如 media_sec.lib 就是 thumb 版的多**庫。

custom 是所有客戶化專案的驅動程式及系統和 mmi 應用定製相關的檔案的目錄。如你的手機主機板的 ram 、 flash 等儲存器的尺寸和位址空間有改動, mmi 應用的特性有不同,藍芽、 wap 的配置有變化,或是有專案相關的新應用,其相關檔案都是放在這個目錄中和特定專案對應的目錄下,如專案 cust1_6227 ,則放在 cust1_6227_bb 下。要注意的 是 custom 也作為乙個模組存在,這使得其可以通過 make 目錄中的 custom 模組的四個檔案進行客戶化的一些定製。

make 是工程構建過程中最重要的乙個目錄了,工程構建用的 makefile 和一些中間配置檔案將放在這裡, makefile 在講解構建過程時再具體 介紹。在每個模組對應的目錄下,都有四個檔案控制了編譯鏈結時的過程和配置。分別是:

.def 檔案中是該模組構建過程中用的條件定義。

.inc 檔案中是該模組所有用到的標頭檔案所在目錄的路徑,是相對整個工程根目錄的路徑。

.lis 檔案中列出了該模組的所有 c 檔案,其路徑也是相對整個工程根目錄的。

.pth 檔案中是該模組的所有 c 檔案所在目錄的路徑,是相對整個工程根目錄的路徑。

build 目錄中儲存了構建過程中產生的目標檔案和庫檔案,及其他一些中間檔案。

軟體系統工程

軟體系統工程涉及到很多任務序 需求收集 需求分析 軟體設計 系統開發 測試 發布 維護。這裡總結一下在ios開發環節可以提高生產效率的一些方法 一 系統資訊收集 1 崩潰資訊收集並自動報警 2 介面異常資訊收集並自動報警 3 網路異常資訊收集並自動報警 4 使用者行為資訊收集並自動報警 二 自動打包...

隨手記 手機軟體的不足,和開發自己理財軟體的想法

手機上有一款理財軟體,介面挺漂亮,叫做 隨手記 理財軟體配合手機,真的是天作之合。縱觀這個軟體,功能弱了一點。首先介面設計非常好,入口簡單,乙個大大的按鈕,記一筆,簡潔明瞭。上面有個預算檢視,這是改軟體最大的特點,有預算提醒功能。但是點選記一筆之後的介面就有點不足了,首先輸入金錢數需要再點選輸入框一...

服務收費模式和廣告模式在手機軟體上的融合

最近有幾個事情比較有觸動,乙個是從別人那裡看到了幾分主流網際網路 的網路 單,之高,遠遠超出我的想象,小小的乙個廣告條幅,居然有能賣到幾十萬元一天的 雖然最後談下來可能有一定程度上的折扣,但是 的數量級不會發生什麼變化。還有乙個就是移動之壟斷,在中國,雖然現在號稱3大運營商,但是聯通和電信的實力還是...