原创 android 學習 2

昨天好不容易在 虛擬機vm上把ubuntu 安裝完畢,發現自己的本本實在是不堪重負,跑個ubuntu就夠慢的了, 如果再要在其上面編譯android,那速度可想而知了。不知道該怎麼辦了。。。。 不過還是把代碼下下來了,虛擬機實在太慢,所

原创 MTK timer 小結 3

在 MTK timer 小結 2 說道最常用的MMI timer 實現機制的初始化過程。今天繼續忘下說,下面要說的是創建一個timer。MMI 層,啓動一個timer,最終都會調用到 L4StartTimer 這個函數。具體來分析一下這個

原创 MTK 內存管理簡單總結 2

在 MTK 內存管理簡單總結  中,大體說了MTK的三種內存分配方式,對於第三種,也就是app buffer,是比較豐富的一種。 在 MTK 平臺中也有許多具體的實現。在代碼裏搜索一下 kal_adm_create 就可以發現有許多地方使

原创 MTK MMI event 小結 1

在MTK MMI 裏面有各種event,最常見的跟交互相關的 按鍵  event,觸摸屏 event。跟各種具體事件比如電話event,短信event,電量event,信號量event,timer event等等。 MTK 都有相應的處

原创 MTK timer 小結 2

在 MTK timer 小結 1 提到了兩種timer,KAL timer 和 stack timer, 這兩種timer 在平時用的比較少,在驅動開發,或者時間要求特別精確的情況下,使用 KAL timer, 一般在task要管理一組

原创 MTK task 小結 5

今天繼續昨天的,說一下task之間的消息發送。 task 之間發送消息,第一是要添加一個消息 id,在custom_sap.h裏面, /* Add customization message id here */ MSG_ID_CUS

原创 MTK task 小結 3

在 MTK task 小結 2  中 大概描述了下 MMI task 的工作方式:從外部隊列獲取消息放入內部消息隊列,內部消息隊列根據消息類型註冊的回調函數,進行調用(event 機制,這個又是MMI framework的主要部分之一)

原创 MTK 內存管理簡單總結 5

在 MTK 內存管理簡單總結 4 提到,當內存不足時,可以調用 mmi_frm_appmem_prompt_to_release_mem 來顯示後臺應用, 讓用戶去選擇關閉後臺應用釋放內存,下面看一下具體流程 當選者某一後臺應用,選擇s

原创 MTK timer 小結 1

MTK timer 有很多種,從最低層的KAL(kernel adpat layer)到MMI,都有timer的身影。 先來看一下KAL的timer KAL timer 是非常底層的timer, 它的實現是直接封裝MTK的RTOS(nu

原创 開博篇

剛纔不知道怎麼回事,刪了幾個字之後,再怎麼寫字,都顯示不出來,開局不利阿。。。   不知道是瀏覽器的問題,還是這個 編輯器的問題。   真的好好學習學習,怎麼管理blog,怎麼排版。   工作時間寫blog ,不太好,今天就先到這了,回去

原创 MTK 內存管理簡單總結 4

MTK的ASM一套內存管理機制,也就是當共享內存不足時,可以要求後臺應有釋放共享內存,從而來保證應用的正常運行。 這套機制的實現在AppMemMgr.c裏面,下面具體分析一下。 1 mmi_frm_appmem_prompt_to_re

原创 MTK task 小結 1

MTK 的 基本執行單元是task, 從操作系統的角度來理解,task 有些像線程而不是進程,進程之間的地址空間是相互隔離的,說白點就是進程之間的全局變量是不相互干擾的, 而線程之間則是用同一個地址空間,MTK 的task 之間的地址空

原创 MTK 內存管理簡單總結 3

昨天說到了內存的分配。下面看一下內存釋放 主要進行了3步: static void applib_mem_ap_free_int(void *mem_ptr) { /*-----------------------------

原创 MTK task 小結 4

在 MTK task 小結 3  中寫到創建一個MTK task,沒有寫完,今天把剩下的寫完。下面需要介紹 創建task  信息的函數。 kal_bool task_test_create(comptask_handler_struct

原创 MTK timer 小結 4

昨天說到回調函數 L4CallBackTimer。 static void L4CallBackTimer(void *p) { // 在evshed_set_event 第三個參數中傳得 timer noder //