MTK開發中一些經驗總結

2021-05-23 22:52:34 字數 822 閱讀 1826

1.  在確定你的mtk工程完整而且在模擬器和真機上能正常執行 之前, 不要開始工作。

2.   mtk開發 c是唯一選擇, 不要試圖用把c++工程移植到mtk平台。

3.   ads c/c++ compiler不同的編譯選項可能導致**的效能差異很大。ads使用armv4指令集, 而真機是thumb指令集。

4.   mmi/gui的工作盡量用modis模擬器。 真機編譯很慢,可用分布式編譯加速。

5.   image$$zi$$limit 錯誤原因有2種: 使用了malloc,free, printf, assert,fopen之類的函式; 定義了過大的靜態陣列。

6.   適配win32和armc平台。 檔案讀寫和記憶體操作函式需要替換成mtk支援的函式。

7.   mtk真機記憶體有限(med堆記憶體<800k),rom size極其寶貴, 盡量優化**結構,減少記憶體占用。

8.   mtk支援多執行緒, 不過是用task替換thread.

9.   真機有watchdog, 函式內loop太久會導致阻塞並重啟,  可以加kal_sleep_task, 給系統一點空閒。

10. 真機重啟常見的錯誤log有2種: assert failed: 會顯示出錯的檔案及**行。   data abort: 一般是陣列越界。

11. 重啟錯誤可通過恢復函式棧來大致定位出錯函式段。 可在cacher.exe裡advance>exception handling檢視stack dump ,對應查詢/build目錄下的.sym檔案。

12. 做好**的記憶體洩漏檢測。

13. 不要頻繁的分配小塊記憶體, 這樣會導致記憶體碎片。

開發Deluxems的一些經驗總結

1.用三元運算子實現新聞部分顯示 eval newcontent tostring length 25?eval newcontent tostring substring 0,25 eval newcontent tostring 2.貨幣驗證 可以輸入整數和帶兩位小數的數字 0 9 0 9 0 ...

關於程式設計的一些經驗總結

關於程式設計的一些經驗總結 編寫 用於存放最終釋放的程式。例如 我們要製作乙個英語學習軟體,名為 english 版本為1.0,那麼我們的程式設計環境中應存在以下資料夾 drive programs english1 debug drive programs english1 documents d...

PCB佈線的一些經驗總結

雖然我現在主要做驅動開發,本身電子出身,大學時沒有完成電路設計和pcb製作的學習。現在公司專案比較少,利用業餘時間來完成這部分的學習。有的人可能會說,不要什麼都做,而做的不精通,道理沒錯。但是我的觀點是,我現在把這個部分也學起來,隨著時間的推移,經驗必然增加,完全能擴寬自己的知識面。如果說只是滿足於...