MTK記憶體動態申請釋放

 MTK記憶體動態申請釋放1. OslMalloc OslMfree 為一個般的程式分配記憶體,用來儲存一般性的資料,效率高,不能分配太大記憶體,否則程式會掛掉  這兩個函數就是直接define 的 ctrl buffer的函數 作用分配記憶體和malloc free功能類似   實際上是用一塊記憶體池中分配和釋放記憶體,具體實現是在ctrl_buff_pool.c裡面做的2. media_get_ext_buffer 

MTK異常LOG深入探討

 MTK異常LOG深入探討 開篇序言:此篇意在對異常LOG有一個總體上面的瞭解。異常的LOG有很多資訊,但是對不同的異常,需要看的LOG卻不一樣。剛接觸MTK平台之時,我也犯過這樣的錯誤:就是這麼多的異常LOG,我應該怎樣看?非把自己弄得昏頭轉向不可。待此篇結束之後,小弟會根據不同的異常情況,選取一些典型的例子,給大家示範怎樣去看異常LOG。小弟不才,希望能拋磚引玉,望各位高手多多指教。出現異常的時候,正如上一篇小弟寫的《MTK異常流程處理》所述,會把異常資訊寫在一個structure中。這個s

MTK系統錯誤類型

 MTK系統錯誤類型        系統錯誤中有兩種典型的分類,一種是CPU觸發的系統錯誤,另外一種是軟體觸發的系統錯誤。(其實我覺得這兩種錯誤沒什麼區別。靠!什麼叫CPU觸發?什麼叫軟體觸發?這兩種分類有意義嗎?對我們調試有協助嗎?答案是一點協助都沒有!我debug了這麼多年,不覺得分類有什麼用。其實“觸發”不如換成用“檢測”,一種是CPU檢測到的,另外一種是軟體中檢測到的。管它是CPU觸發還是軟體觸發,魔擋殺魔,佛擋殺佛!) 1.CPU觸發(檢測到)的系統錯誤Undefined

MTK異常處理流程

 MTK異常處理流程 異常處理流程裡面,需要做的事情是:產生異常資訊輸出到螢幕或catcher中,並儲存到NVRAM裡面。最後根據工程模式的設定,機器會凍屏(選擇凍屏是為了抓memory dump),或者重啟。 1、CPU觸發的異常處理當CPU觸發異常時,會觸發Exception中斷,然後跳到中斷子程式。中斷子程式會調用System Stack Error函數,然後再調用Fatal Error Handler處理。 Undef Exception--|SWI

MTK timer 小結

 MTK   timer  小結          MTK  tiemr有很多種,從最底層的KAL到MMI,都有timer的身影。KAL 的 timer         KAL  timer是非常底層的timer,它的實現是直接封裝MTK的RTOS(nuleus)的timer,實現方式是HISR,從而這種timer具有很高的優先順序,也就是說當這個timer逾時時,就會觸發一個HISR(進階中斷),這個中斷會回調註冊函數。所以這種timer使用時,要比較小心,它的優先順序很高,在回呼函數運行時,

MTK平台學習--設計一個應用程式(整理轉寄)

1.   To design an application one must follow the sequence as described:     A. Write an Initialization function to register the various event handlers.     B. Write a populate function to register various string and image elements for the       

MTK平台學習--MTK筆記(ZT)

MTK筆記L4是MMI/AT和協議棧的適配層。ATCI是AT命令解析器。UEM是用於抽象如鍵盤、LED、通用輸入/輸出等基本裝置,是使用者裝置模組。PHB就是電話本。SMU是安全嵌入式管理單元(SIM、STK)。CSM是呼叫服務管理。RAC是登記存取控制。SMSAL是SMS應用程式層。核心服務包括定時器、任務管理和處理序間通訊、資源和記憶體管理、日誌和異常處理。OSL是封裝OS API的層,而KAL則是封裝核心的層,應當在OSL以上來開發。資料類型定義(VRE的頭會比MTK更亂嗎?)*

關於記憶體中棧和堆的區別(ZT)

1、記憶體配置方面:    堆:一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收 。注意它與資料結構中的堆是兩回事,分配方式是類似於鏈表。可能用到的關鍵字如下:new、malloc、delete、free等等。    棧:由編譯器(Compiler)自動分配釋放,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。2、申請方式方面:    堆:需要程式員自己申請,並指明大小。在c中malloc函數如p1 = (char

一個簡單的makefile,使用ADS1.2編譯器

################################################################################# Copyright (c) 2008 XuYizhu(xuyizhu@live.cn)# All rights reserved.################################################################################# Description:

堆和棧的相向生長(整理轉帖)

    在沒有MMU的時代,為了最大的利用記憶體空間,堆和棧被設計為從兩端相向生長。那麼哪一個向上,哪一個向下呢?    人們對資料訪問是習慣於向上的,比如你在堆中new一個數組,是習慣於把低元素放到低地址,把高位放到高地址,所以堆向上生長比較符合習慣。而棧則對方向 不敏感,一般對棧的操作只有push和pop,無所謂向上向下,所以就把堆放在了低端,把棧放在了高端。MMU出來後就無所謂了,只不過也沒必要改了。   

一個好老婆的作息時間表

 6:30 起床(睜開眼睛,首先要檢查眼睛是不是保持乾淨,頭髮是不是柔順,整理過後輕輕地親吻老公,動作雖輕,但目的是把他弄醒) 華商,陝西,西安,古城,美女,娛樂,交友,情感7J|Yq/Dz    6:35--7:00 煆煉身體(如果老公有“性致”就再來一次,如果老公沒性質,就告訴他再睡一會就該起床了,問問他想吃點什麼,今天穿哪套衣服?細緻到襯衫的顏色,領帶的圖案) 華商論壇5m9r1`D&e1x    7:00--7:30 做早餐(按照老公的要求做早飯,但基本上老公不會有什麼要求,雖然

鑒別CPU大小端

/*********************************************************************** 函數名稱: CheckCPU** 函數原型: int CheckCPU( void )** 功能描述: 鑒別CPU大小端類型** 輸    入: 無** 輸    出: 1 -- 大端**           2 -- 小端**           0 -- 異常錯誤** 說    明: 著作權,轉載請說明來自

VC++6.0 中calling convention 的__cdecl __fastcall與 __stdcall設定項

          __cdecl __fastcall與 __stdcall __cdecl __fastcall與 __stdcall 呼叫慣例:          __cdecl __fastcall與 __stdcall,三者都是呼叫慣例(Calling convention),它決定以下內容:   1)函數參數的壓棧順序,   2)由調用者還是被調用者把參數彈出棧,   3)以及產生函數修飾名的方法。         

MTK平台學習--DM模板使用心得

DM模板的一般使用方法見某牛人所著<<MMI執行個體培訓教程>>,這裡僅討論一些零碎的使用心得1.   很多ShowCategoryXXXScreen函數都調用ShowListCategoryScreen,使用改函數可簡化模板的繪製工作,     現在分析一下ShowListCategoryScreen到底做了什麼工作:     (1)  設定Title         

MTK平台學習--在Organizer模組中編寫一個簡單地APP

A.  菜單ID:  MENU_ID_MYAPP_TEXT     螢幕ID:  SCR_ID_MYAPP_TEXT     字串ID:  STR_ID_MYAPP_TEXT     圖片ID:  ICON_ID_MYAPP_TEXTB.  MyAppDef.h     MyAppProt.h     MyAppGprot.h     Res_MyAppRes.c1.   GlobalMenuItem.h     在GLOBALMENUITEMSID中添加1個菜單: MENU_ID_MYAPP

MTK平台學習--MTK定時器訊息機制分析

MTK定時器訊息機制分析 1.   資料結構     (1). stack_timer_struct           定時器類型的資訊結構( 其主要作用似乎是用以裝載待發送的定時器訊息資料 )     (2). TIMERTABLE          定時器隊列節點結構( 其由主要元素mmi_frm_timer_type結構及鏈表指標兩個元素組成 )     (3). event_scheduler          隊列資訊結構     (4). mmi_frm_timer_type   

MTK平台學習—TASK的建立

MTK平台是非常優秀的一個平台,曾經的山寨機之父,下面我將介紹下在MTK平台下如何去建立自己的任務。一、基礎知識        在學習如何建立任務之前,我們需要瞭解一些基本概念,以及一些和任務相關的資料結構,瞭解了這些之後,我們就能更好的理解如何去建立任務了。MTK中關於任務的概念有兩個,一個是TASK,另外一個則是MODULE,這兩個有什麼區別呢,task是作業系統層面的概念,MTK使用的是nucleus

MTK平台學習--對MTK按鍵事件的簡單分析

主要簡單分析一下左右軟體的事件,以左軟鍵事件為例牽涉到的常用函數:     void SetKeyHandler( FuncPtr funcPtr, U16 keyCode, U16 keyType );     void SetLeftSoftkeyFunction( void (*f)(void), MMI_key_event_type k );     void ChangeLeftSoftkey( U16 s, U16 i );     1.  

轉載 MTK儲存系統相關

轉載 MTK儲存系統相關      NOR和NAND都是flash, 掉電資料不丟失的,掉電資料丟失的叫RAM     flash上分兩塊,code地區和檔案系統地區(又分系統硬碟和使用者盤)。     NVRAM是一套機制,它的資料部分:default存在flash的code區,NARAM檔案存在檔案系統地區(系統硬碟)phone的電話本資料是以NVRAM檔案的形式儲存在檔案系統地區的(系統硬碟),SIM卡的電話本就在SIM卡上了T卡是擴充的flash,都是檔案系統區。     NAND

MTK平台學習--History管理機制與EntryNewScreen函數的關係

簡單的分析一下History管理機制與EntryNewScreen的關係1.  與EntryNewScreen函數有關的全域變數:    currEntryFuncPtr,     currExitScrnID, currTopScrnID,     currExitFuncPtr2.  EntryNewScreen函數部分流程:    Step1:  儲存新螢幕ID(函數第一參數)-->currTopScrnID ;    Step2: 

總頁數: 61357 1 .... 13937 13938 13939 13940 13941 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.