




下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簽定禁業(yè)協(xié)議書
- 煙臺(tái)大學(xué)法學(xué)院協(xié)議書
- 退賠諒解協(xié)議書
- 荒地合作協(xié)議書
- 男人分工協(xié)議書
- 聘用副總協(xié)議書
- 蘇聯(lián)撤軍協(xié)議書
- 租船傭金協(xié)議書
- 菜品保密協(xié)議書
- 材料員勞務(wù)聘用協(xié)議書
- 關(guān)愛父母健康知到章節(jié)答案智慧樹2023年哈爾濱商業(yè)大學(xué)
- 陜西全過(guò)程工程咨詢服務(wù)合同示范文本
- 公路水運(yùn)工程施工企業(yè)(主要負(fù)責(zé)人和安全生產(chǎn)管理人員)考核大綱及模擬題庫(kù)
- 1KV送配電調(diào)試報(bào)告
- GB/T 5801-2020滾動(dòng)軸承機(jī)制套圈滾針軸承外形尺寸、產(chǎn)品幾何技術(shù)規(guī)范(GPS)和公差值
- FZ/T 93029-2016塑料粗紗筒管
- 2022年12月山東省普通高中學(xué)業(yè)水平合格性考試語(yǔ)文仿真模擬試卷C(答題卡)
- 塑膠原料來(lái)料檢驗(yàn)指導(dǎo)書
- 人教版音樂(lè)三年級(jí)下冊(cè)知識(shí)總結(jié)
- 共點(diǎn)力平衡的應(yīng)用-完整版PPT
- 系桿拱橋工程測(cè)量施工方案
評(píng)論
0/150
提交評(píng)論