自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MTK開發(fā)之軟件編譯學(xué)習(xí)教程

移動(dòng)開發(fā)
MTK開發(fā)之軟件編譯學(xué)習(xí)教程是本文要介紹的內(nèi)容,主要是來(lái)了解MTK開發(fā)中如何來(lái)實(shí)現(xiàn)軟件的編譯,具體內(nèi)容來(lái)看本文詳解。

MTK開發(fā)之軟件編譯學(xué)習(xí)教程是本文要介紹的內(nèi)容,主要是來(lái)了解MTK開發(fā)中如何來(lái)實(shí)現(xiàn)軟件的編譯,具體內(nèi)容來(lái)看本文詳解。

打開dos編輯窗口(開始->運(yùn)行->cmd),找到工程代碼所在根目錄,如/opt/MTK6217 輸入編譯批處理命令:

格式:

  1. make[custom="projectName"]"project" "action"["modules"]  
  2. Example:  make custom=mtk6217  gprs  new 

給個(gè)MTK的make方法

后面的modules是nucleus之類的,可以不用寫,中間的除了mtk6217工程名外可以照寫,mtk6217工程名可以在你的源

代碼的make目錄下有個(gè)工程文件名,比如我的例子就叫mtk6217_gprs.mak,你將你的替換就可以了,另外,除了上面的仁兄跟你說(shuō)的ADS1.2以上  perl也要5.**,我用的是ActivePerl-5[1].6.1.631的,你查找下載一下再用 ARMAR 打包成靜態(tài) LIB

MTK軟件編譯

編譯工具和輔助工具:

  1. ADS1.2  
  2. ADS12_update_842.exe  
  3. MSYS-1.0.10.exe  
  4. MinGW-3.1.0-1.exe  
  5. ImageMagick-6.2.5-5-Q16-windows-dll.exe  
  6. 7z313.exe 

開始編譯:

切換到項(xiàng)目根目錄,然后在命令行下面執(zhí)行命令:

make custom=proj gprs new

其中,命令可以為 clean,update,remake

目標(biāo)文件:

生成的目標(biāo)文件為.bin文件, 位于 MTK//build//proj 目錄下面,build 目錄為生成的一個(gè)目錄。

Log文件:

Log文件同.bin文件一樣,也是位于 build 目錄下,如果編譯出錯(cuò),可以在命令行中看到出錯(cuò)的模塊,然后到build 目錄下找對(duì)應(yīng)的log文件。

仿真環(huán)境:

工程文件 PixtelMMI.dsw 位于目錄     MTK//plutommi//mmi 下面,由此可進(jìn)入仿真環(huán)境。

燒寫程序:

工具  Flash_tool.exe 可燒寫程序。

該工具的主要設(shè)置是 COM口 和目標(biāo)文件位置。

Download argent 和 scatter file 用自帶的就可以了,選中這兩項(xiàng)后,會(huì)出現(xiàn)ROM的選擇項(xiàng),點(diǎn)擊后可選擇.bin文件。

設(shè)置好上面的參數(shù)后,連接上手機(jī),將手機(jī)斷電,然后按開機(jī)鍵就可以燒寫程序了。

Trace 工具

在手機(jī)上往往要做一些trace,這就要用到trace工具---Catcher.exe。

手機(jī)上打 trace 接口為kal_prompt_trace,如同agere平臺(tái)的GSMprinf.

使用 Catcher.exe,

要先要設(shè)置 DataBase,這個(gè)文件是在編譯的時(shí)候生成的,是個(gè)沒有擴(kuò)展名的二進(jìn)制文件,該文件位于 //MTK//tst//database_classb,例如, BPLGU..。

在 Catcher.exe 中,設(shè)置 DataBase 的方式是 configà set database path

其次, 要設(shè)置模式為logging,這樣才能進(jìn)行下面的設(shè)置。

該設(shè)置位于  controlà modeà logging

第三,要設(shè)置好COM口。

第四, 打開連接開關(guān),表示 Catcher.exe處于待命狀態(tài)。

第五, 設(shè)置filter。這個(gè)可以過濾一些自己不需要的log。有時(shí)半天不出現(xiàn)log, 這時(shí)候重新選擇一下filter一般就會(huì)解決問題。

Filter設(shè)置路徑為  controlà set filter

Catcher.exe 使用的連接線給燒寫程序用的線是同一條。

保存log:

在log區(qū)域選中想要保存的log  (可用shift+ 鼠標(biāo)),鼠標(biāo)右鍵選save as…

有時(shí)為了方便測(cè)試,會(huì)設(shè)置trace默認(rèn)關(guān)閉, 需要的時(shí)候可以打開。

該設(shè)置在工程模式下。

設(shè)備à set UARTàTST Config, 設(shè)置合適的UART 口。比如,UART1是可以trace的。

編譯出錯(cuò):

有時(shí)編譯會(huì)出現(xiàn)莫名其妙的錯(cuò)誤,比如一剛剛可以編譯通過,現(xiàn)在卻不行,.

以上為項(xiàng)目開發(fā)的基本環(huán)境和基本過程

接下來(lái)的內(nèi)容,則是具體的開發(fā)細(xì)節(jié)

添加文件:

開發(fā)過程中,少不了加減文件, 刪除文件實(shí)際上是添加文件的相反過程,因此略過。

MTK設(shè)置了很多l(xiāng)st 和 pth 文件供用戶添加文件,這些都在make文件夾下。用戶可以自己添加模塊,也可利用原有的lst 和 pth 文件添加。以下以添加在 MTK//make//plutommi 為例。

添加頭文件路徑:

  1. plutommi.inc 

添加本模塊路徑:

  1. plutommi.pth 

添加源文件路徑:

pl

  1. utommi.lis 

添加完畢,這些文件就可參與編譯了。

添加開關(guān):

開關(guān)真是個(gè)好東西。依靠它,可以將沒有價(jià)值的功能瞬間屏蔽,又可以將我們需要但又?jǐn)R置的功能瞬間啟用。能者上,不能者下,多么類似于社會(huì)法則。

添加開關(guān) 在make文件夾下面的 .mak文件里面。

注意事項(xiàng):

有人喜歡模仿MTK原做法,在 .mak文件里面使用一個(gè)開關(guān)管住另外一個(gè)開關(guān)。那么兩個(gè)開關(guān)不要同名,否則開關(guān)起不了關(guān)閉的作用。

添加string資源:

1、GlobalDefs.h 中增加ID

2、population.c 中將ID和 string關(guān)聯(lián)

3、plutommi//Customer//CustResource//PLUTO_MMI//ref_list.txt 中增加ID 和各種語(yǔ)言的文本有了以上3個(gè)步驟,即可使用該文本資源了。

編譯后,在 plutommi//Customer//CustResource下面 會(huì)生成新的CustStrMap.c 和CustStrRes.c這兩個(gè)文件中就包含了新增的string資源

  1. <!--[if !supportLineBreakNewLine]--> 
  2. <!--[endif]--> 

添加圖片:

1、GlobalDefs.h 中增加ID

2、population.c 中將ID和 string關(guān)聯(lián)

3、增加圖片到解壓后的包里,增加完畢,應(yīng)打包。plutommi//Customer//Images//PLUTO176X220里面的文件夾是生成的,可以在cc上看到為private。

4、添加進(jìn)去后,要打包,如果僅添加在文件夾里面會(huì)被清除。如果沒有找到圖片文件,手機(jī)顯示的時(shí)候是一個(gè)紅色的*添加圖片時(shí),注意路徑用4杠

在NVRam中增加成員:

需要增加ID,指出每塊大小,以及總的塊數(shù) 和缺省值。

每塊大小最好為偶數(shù)。

修改下面的文件:

  1. Nvram_user_defs.h:  ID, 大小,個(gè)數(shù)  
  2. NVRAMEnum.h  
  3. Nvram_user_config.c  
  4. custom_nvram_editor_data_item.h 

是在Dos環(huán)境下編譯,可以做成一個(gè)批處理文件,更方便。

MTK編譯分資源的編譯和代碼的編譯:

1、資源的編譯:

(1)需要編譯資源的情況:

在如下的修改情況下,需要重編譯資源:

a、修改了..plutommi//Customer//CustResource//PLUTO_MMI//目錄下的文件如字庫(kù)文件

(FontRes.c、L_**.h文件)、MMI配置文件(MMI_featuresPLUTO.h)、字符串資源文件

(Ref_list.txt)等;

b、修改了..plutommi//Customer//CustResource//PLUTO_MMI//Res_MMI目錄下的文件,這個(gè)目錄下的文件都是Res_*.*文件,是各個(gè)AP或模塊的資源配置文件,包含菜單、圖片、字符串資源的配置;

注意: Cust*.*文件是資源編譯生成的,不能手動(dòng)修改。

(2)編譯方法:

進(jìn)入..//plutommi//Customer目錄,執(zhí)行remakeResource.bat批處理文件。

編譯成功會(huì)生成一些Cust*.*文件在//plutommi//Customer//CustResource目錄下,編譯代碼時(shí)再編譯這些文件;

編譯失敗到build目錄下查看log文件à res_gen.txt,可看到出錯(cuò)信息。

(3)當(dāng)我們改變了資源,想在PC模擬上看到修改效果時(shí),也需要先執(zhí)行如上的資源編譯命令,再在VC環(huán)境下build一下資源,就可以看到效果了。

2、代碼的編譯:

有如下的編譯命令:

  1. make custom=xxx gprs new  
  2. make custom=xxx gprs update  
  3. make custom=xxx gprs remake  
  4. make custom=xxx gprs clean 

這些編譯命令可以做成批處理文件build.bat,我們輸入相應(yīng)的選項(xiàng)就可。

編譯成功后,在build目錄下生成所有的.obj,編譯信息log文件、下載.bin文件等;

編譯失敗時(shí),到build目錄下查看相應(yīng)的log文件,可看到出錯(cuò)信息。

幾個(gè)關(guān)鍵字解釋如下:

(1)xxx,Project名,對(duì)應(yīng)make目錄下的xxx_GPRS.mak文件;

(2)最后一個(gè)關(guān)鍵字:

a、new:

不管資源、代碼是否有改變,全部重編;

b、update:

掃描資源、代碼的改變,有改變的重編,無(wú)改變的不編;

c、remake:

不掃描資源,只掃描代碼的改變,有改變的重編,資源和無(wú)改變的代碼不編;

d、clean:

清除build目錄下的所有內(nèi)容,保留目錄結(jié)構(gòu)。

小結(jié):MTK開發(fā)之軟件編譯學(xué)習(xí)教程的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-08-30 16:02:10

MTK開發(fā)環(huán)境

2011-08-31 10:20:26

MTK驅(qū)動(dòng)開發(fā)

2011-09-13 15:26:25

MTK環(huán)境搭建

2011-08-30 18:01:20

2011-08-30 16:43:46

MTK開發(fā)菜單

2011-09-06 13:31:10

MTK平臺(tái)Scatter文件

2011-08-31 10:01:44

MTK開發(fā)環(huán)境

2011-08-31 10:37:06

MTK開發(fā)入門

2011-08-30 16:32:41

MTK開發(fā)環(huán)境

2011-08-31 10:51:39

MTKAndroid 開發(fā)

2011-09-05 17:07:45

MTK手機(jī)軟件

2011-09-06 09:14:27

MTK平臺(tái)軟件

2011-08-31 10:12:26

MTK手機(jī)平臺(tái)

2011-09-06 10:10:12

MTK系統(tǒng)Android系統(tǒng)

2022-07-11 10:45:37

插樁性能優(yōu)化打包

2011-08-30 16:22:00

MTK開發(fā)環(huán)境

2011-08-31 10:26:38

MTK驅(qū)動(dòng)開發(fā)

2011-09-06 13:58:28

MTK系統(tǒng)

2011-09-06 13:19:04

MTK手機(jī)軟件系統(tǒng)

2010-08-02 10:50:55

Flex3
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)