国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3802|回復(fù): 2
打印 上一主題 下一主題

李現(xiàn)路:MTK開發(fā)中怎么建立一個獨立的模塊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2009-11-28 10:39:54 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: MTK , 開發(fā) , 李現(xiàn)路 , 模塊
李現(xiàn)路:MTK開發(fā)中怎么建立一個獨立的模塊   Post By:2009-11-24 10:03:16
  
李現(xiàn)路:MTK開發(fā)中怎么建立一個獨立的模塊

具體步驟如下:
1../plutommi/mmi 目錄先建一個HelloWorld文件夾
文件夾下的子文件夾:Inc,Res,Src
2.在Inc文件夾中放四個頭文件,四個頭文件分別以xxxDefs.h,xxxGprot.h
xxxProt.h,xxxTypes.h來命名

3.xxxDefs.h--本模塊用到的資源 ID的定義
  xxxGprot.h--本模塊的對外接口,供模塊外部調(diào)用的函數(shù)原型在此申明
  xxxProt.h---模塊內(nèi)部接口,供模塊內(nèi)部調(diào)用的函數(shù)原型在此申明
  xxxTypes.h--本模塊用到的一些常量、自定義數(shù)據(jù)類型、結(jié)構(gòu)的定義

4.在HelloWorld.c中定義開關(guān)(方便我們隨時調(diào)用):
#ifdef __MMI_HELLOWORLD_ENABLED__ ,  
  #endif
完整版本請見http://www.51qianru.cn/bbs/         
我們建立的文件夾里,所有頭文件和源文件的內(nèi)容如下:

          頭文件 HelloWorldGprot.h 的內(nèi)容如下:
/*************************************************************************/
#ifndef __HELLOWORLD_GPROT_H__
#define __HELLOWORLD_GPROT_H__
#include "PixtelDataTypes.h"
#include "HelloWorldTypes.h"
extern void mmi_HelloWorld_entry(void);
#endif
/*************************************************************************/

頭文件 HelloWorldProt.h 的內(nèi)容的如下:
/*************************************************************************/
#ifndef __HELLOWORLD_GPROT_H__
#define __HELLOWORLD_GPROT_H__
#include "PixtelDataTypes.h"
#include "HelloWorldTypes.h"
extern void mmi_HelloWorld_entry(void);
#endif
/*************************************************************************/
HelloWorldTypes.h, HelloWorldDefs.h 兩個頭文件的內(nèi)容為空即可,但是一定要建立文
件,否則后面編譯會出錯。
HelloWorld.c 的內(nèi)容如下:
/*************************************************************************/
#include "stdC.h"
#include "MMI_Features.h"
#include "L4Dr.h"
#include "L4Dr1.h"
#include "AllAppGprot.h"
#include "FrameworkStruct.h"
#include "GlobalConstants.h"
#include "EventsGprot.h"
#include "mmiappfnptrs.h"
#include "HistoryGprot.h"
#include "HelloWorldProt.h"
#include "HelloWorldTypes.h"
#include "HelloWorldDefs.h"
#include "MainMenuDef.h"
#include "wgui_categories.h"
#include "Unicodexdcl.h"
void mmi_HelloWorld_exit(void);
void mmi_HelloWorld_entry(void)
{
#ifdef __MMI_HELLOWORLD_ENABLED__
/* 強制退出當(dāng)前屏幕,之后進(jìn)入到我們的模塊了 */
/* 上電缺省是idle 屏幕,現(xiàn)進(jìn)入MAIN_MENU_SCREENID 屏 */
/* 注意看第二個參數(shù),這個是當(dāng)我們模塊被強制退出時執(zhí)行的一些操作 */
EntryNewScreen(MAIN_MENU_SCREENID, mmi_HelloWorld_exit, NULL, NULL);
entry_full_screen(); /* 關(guān)掉屏幕頂部的狀態(tài)條,我們要用整個屏幕 */
clear_screen(); /* 擦除當(dāng)前背景 */
gui_move_text_cursor(50, 100); /* 移動文本輸出光標(biāo) */
gui_set_text_color(UI_COLOR_RED); /* 設(shè)置字體顏色 */
gui_print_text(L"Hello, World"); /* 輸出文本到顯示緩沖, 注意是Unicode 編碼 */
/* 刷新屏幕顯示,MMI 用的是雙緩沖繪圖方式,而且需要顯式刷新 */
gui_BLT_double_buffer(0, 0, UI_device_width - 1, UI_device_height - 1);
/* 注冊一個按鍵處理,右軟鍵彈起時返回到之前被我們強制退出的模塊 */
SetKeyHandler(GoBackHistory, KEY_RSK, KEY_EVENT_UP);
#endif
}
/* 模塊出口
* 當(dāng)我們的模塊被其他模塊強制退出時會執(zhí)行這個函數(shù),
* 這個函數(shù)的常見寫法,包括:
* 1、模塊已申請資源的釋放(如果需要的話),這一步可選
* 2、手動把自己壓棧到窗口(實際是整個屏)堆棧里面,
* 便于強制我們退出的模塊執(zhí)行完后重新把我們叫出來
* 不像Window 的窗口管理是自動壓棧的,Pluto MMI 需要手動壓棧
* 3、其他一些清理動作
*/
void mmi_HelloWorld_exit(void)
{
#ifdef __MMI_HELLOWORLD_ENABLED__
history currHistory;
S16 nHistory = 0;
currHistory.scrnID = MAIN_MENU_SCREENID;
currHistory.entryFuncPtr = mmi_HelloWorld_entry;
pfnUnicodeStrcpy( (S8*)currHistory.inputBuffer, (S8*)&nHistory);
AddHistory(currHistory);
#endif
}

5.MainMenu.c放的代碼

#ifdef __MMI_HELLOWORLD_ENABLED__
mmi_HelloWorld_entry();
return;
#else

.......


#endif

6.修改相關(guān)的系統(tǒng)文件,使這個模塊成為成為整個項目的一部分:
修改./make/plutommi下的3個文件:
plutommi.inc---所有mmi部分的頭文件所在目錄的相對路徑列表
plutommi.lis---所有mmi部分的源文件(相對路徑)列表
plutommi.pth---所有mmi部分的源文件所在目錄的相對路徑列表

plutommi.inc里加(頂部):
plutommi\mmi\HelloWorld\Inc

plutommi.lis里加(頂部):
plutommi\mmi\HelloWorld\Src\HelloWorld.c

plutommi.pth里加(頂部):
plutommi\mmi\HelloWorld\Src

7.把開關(guān)加入系統(tǒng):
  \plutommi\Customer\CustResource\PLUTO_MMI\MMI_featuresPLUTO.h
  (mmi的配置文件)

  [Framework]: Languages 下加:
  #define __MMI_HELLOWORLD_ENABLED__
8.讓模擬器找到頭文件:
  在\plutommi\mmi\GlobalSimulatorPathDef 的頂部添加以下內(nèi)容:
  /I ".\HelloWorld\Inc"

9.在cmd中,在源代碼根目錄下執(zhí)行命令:make update
  編譯完成后再在vc在運行run

  錯誤可在build\NEOTEL25_06B\log找相關(guān)信息


  完整版本請見http://www.51qianru.cn/bbs/

                                               曙海教育
                                            曙海嵌入式學(xué)院
                      (課程SP培訓(xùn),FPGA培訓(xùn),MTK培訓(xùn),Android培訓(xùn),iPhone培訓(xùn))
                                           電話:021-51875830
                                           網(wǎng)址:http://www.51qianru.cn
                                              講師:李現(xiàn)路
                             -版權(quán)所有-曙海教育,歡迎轉(zhuǎn)摘,轉(zhuǎn)摘請注明作者和出處課程有:
沙發(fā)
發(fā)表于 2011-5-23 21:22:55 | 只看該作者
好文章啊,怎么沒人頂呢
板凳
發(fā)表于 2013-10-25 08:20:22 | 只看該作者
復(fù)制下來!!!!!!!!!!我自己好好學(xué)習(xí)!!!!!!!!!!!!!

謝謝.jpg (8.65 KB)

謝謝.jpg
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情一级欧美精品 | eeuss草民免费 | 国内精品自产拍在线观看91 | 国产高清国内精品福利色噜噜 | 日韩污| 久久久精品2018免费观看 | 日韩第一色 | 色丁香久久 | 中文字幕日韩精品麻豆系列 | 久久精品国产只有精品66 | 91在线观| 天天色综合4 | 中文一区| 色噜噜色噜噜天天拍一拍 | 韩国资源视频一区二区三区 | 一区二区三区在线观看免费 | 久草成人在线 | 亚洲国产一区二区a毛片 | 一级aaaaaa片毛片在线播放 | 青青青手机在线观看 | 91热国产 | 最近手机中文字幕1页 | 一级日本强免费 | 久爱www成人网免费视频 | 国产自一区 | 青青青在线视频播放 | 免费精品国产自在在线app | a在线观看免费 | 欧美老人另类视频 | 五月综合色婷婷影院在线观看 | 国产在线观看99 | 羞羞网站在线免费观看 | 免费一级在线观看 | 手机在线黄色网址 | 香蕉国产精品偷在线播放 | 第七色男人天堂 | 日韩亚洲成a人片在线观看 日韩亚洲 | 2022久久国产精品免费热麻豆 | 国产伦精品一区二区三区高清 | 欧美大片无尺码在线观看 | 国产欧美国产精品第一区 |