ARM9架構(gòu)及編譯_第1頁(yè)
ARM9架構(gòu)及編譯_第2頁(yè)
ARM9架構(gòu)及編譯_第3頁(yè)
ARM9架構(gòu)及編譯_第4頁(yè)
ARM9架構(gòu)及編譯_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ARM9架構(gòu)及編譯高通的7系芯片一般都有兩個(gè)處理器,ARM9和ARM11:ARM9負(fù)責(zé)處理通信協(xié)議、射頻、GPIO等,有一個(gè)自己的OS,叫AMSS (Advanced Mobile SubscriberSoftware。ARM11負(fù)責(zé)常見任務(wù),跑的系統(tǒng)就是 Linux,這是我們通常意義上的主控芯片。這兩個(gè)處理器通過(guò) RPC交互,RPCM通過(guò)Shared Memory實(shí)現(xiàn)的。AMSS的軟件架構(gòu)|- AMSS|- platform卜 products卜 AMSS_CUST|-productsAMSSplatform 包含 L4、CS libstd與RTE這些為AMSSproducts下的task提

2、供了底層運(yùn)行環(huán) 比m OL4是內(nèi)核,提供地址空間、線程、IPC等功能;libstd 里面包含了 AEE(application executive)勺接口和一個(gè)靜態(tài)的 AEE庫(kù);RTE里面包含一些與IPC有關(guān)的內(nèi)容。AMSSproducts下包含很多內(nèi)容,詳情如下:|- 76XX卜-1x/ Source code for CDMA 1x protocol|- apps/ Source code for some BREW apps, such as core and UI|- apps_proc/ Application boot loader|- build/ Trace32 JTAG sc

3、ript for building, build image, and log|- core/ Shared APIs folder|- dal/ Device abstract layer code|- data/ Source code for data services|- drivers/ Drivers for LCD, peripherals, etc.|- hal/ Hardware abstract layer code|- hdr/ Source code for high data rate protocal|- modem/ Modem AMSS source code|

4、- modem_proc/ Modem AMSS boot files|- multimedia/ Multimedia files, including audio, video, etc.|- nas/ Source code for NAS layer protocal|- secboot/ Boot loaders, from PBL to OEMSBL|- services/ Source code for services|- tools/ Code for flash operations|- wcdma/ Source code for WCDMA protocol|- wco

5、nnect/ BT soc config and ftm (factory test mode)上面這些介紹只是給大家一個(gè)整體的印象,所有這些source都是通過(guò)Rex將其組織起來(lái)的,我們看看 AMSS啟動(dòng)以后運(yùn)行狀態(tài):所有的AMSS task以線程的方式運(yùn)行在 CS kernelprocess,包括CS的核心 服務(wù),者8是以task的形式運(yùn)行在REX之上的。這里的userprocess我猜測(cè)就是products/apps里面的類容??赐赀@個(gè)圖以后我們?cè)賮?lái)詳細(xì)一下AMSSsource的啟動(dòng)流程:qcsbl_main_ctl 會(huì)跳至U l4kernel, l4kernel 啟動(dòng)好以后會(huì)啟動(dòng) ig

6、unarserver,然 后啟動(dòng)rex進(jìn)程(執(zhí)行/service/tmc/mobile.c里的 main函數(shù)),amss/rex以一個(gè)進(jìn) 程的方式運(yùn)行在l4microkernel之上,所有的task都是L4的一個(gè)線程。products/76xx/services/tmc.c 里面的 tmc_define_tasks 這個(gè)函數(shù)通過(guò)的宏的 判斷來(lái)決定需要啟動(dòng)哪些task,而這些宏的控制又是通過(guò) products/76xx/build/ms/cust*h 和 products/76xx/build/ms/target*h 來(lái)控制的,在編譯的時(shí)候通過(guò)配置 tsncjnlym.cmd之類的來(lái)控制一些編譯

7、環(huán)境選 項(xiàng),以及那些模塊需要編譯,通過(guò)這些cust或者target頭文件控制系統(tǒng)啟動(dòng)以后哪些task會(huì)被系統(tǒng)啟動(dòng)。我們看 products/76xx/services/tmc.c下的 tmc_define_tasks這個(gè)函數(shù)可以知道現(xiàn)在AMSS里面支持多少TASK這個(gè)4000 多行的函數(shù)里面全部都是調(diào)用 rex系統(tǒng)函數(shù)rex_def_task對(duì)task的定義,舉個(gè) nv的例子:5374rex_def_task(&nv_tcb,5375(rex_stack_word_type*) nv_stack,5376NV_STACK_SIZ,5377(rex_priority_type) NV_P

8、RI,5378nv_task,53790L);其中nv_task就是這個(gè)task的入口函數(shù),我們跟蹤這個(gè)函數(shù)就能找到這個(gè) task的執(zhí)行和調(diào)用過(guò)程。編譯ARM9的source有兩種方式:在windows(cmd.exe)下編譯,在linux下編譯。因?yàn)槲覀儧](méi)有l(wèi)inux下的 RVCT2.2的licence,所以如果要在linux環(huán)境下編譯的話必須使用 cygwin。下面分別介紹這兩種方式下的編譯,在linux環(huán)境下的編譯只稍微講一下,基本和windows 一樣的。一、cmd.exe1) toolsRVDS (RVCT)2.2.1BLD593GNU makeGNU awk3.1.4 or lat

9、erPerl5.8.5 or laterPython2.4.3注息:必須是Python2.4.3官方下載地址:http:2.3.4/RVCT安裝以后必須打上官方的593的patch才能正常編譯,打好patch以 后執(zhí)行下面的操作來(lái)使用patch的armcc來(lái)進(jìn)行編譯:cd yourmenuARMRVCTPrograms2,2593win_32-pentiumcp armcc tcccp armcc armcppcp armcc tcpp除了 Python2.4.3必須單獨(dú)下載安裝之外,其他的工具都可以通過(guò)Cygwin打包下載。Cygwin默認(rèn)的Python版本是2.5,必須使用2.4.3的版本

10、來(lái)替換它,默認(rèn) Python會(huì)裝在Cygwin的user/local/bin目錄 下,back下/bin 目錄下的 python.exe, 將 usr /local/bin/python2.4.exe改名為 python.exe,并且將 c:cygwinusrlocalbin 力口入 PATH1、首先修改 M76XXTSNCJNLYM4725/HY11-VR356-8_4.7.25/AMSS/products/76XX/build/ms 下的然 rvct22.bat,將里面的環(huán)境變量修改成正確的值(RVC有口 Cygwin的安裝目錄), 并添力口變量 ARMTOOLS = RVCT2212、在 cmd.exe 下執(zhí)行 M76XXTSNCJNLYM4725/HY11-VR356-8_4.7.25/AMSS/products/76XX/build/ms/rvct22.bat3、修改 M76XXTSNCJNLYM4725/HY11-VR356-84.7.25/AMSS/products/76XX/build/ms/TSNCJNLYM.cmd 去除 BUILD_UNIXfi!USE_BUILD_NATIVELINUX_MODEMW 個(gè)編譯選項(xiàng)4、在cmd.exe下進(jìn),執(zhí)入行 M76XXTSNCJNLYM4725/HY11-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論