高通MDM平臺開發入門
原始碼下載
高通MDM平臺程式碼分為兩個部分:高通私有程式碼 以及 開源公有程式碼
針對某一個平臺,高通會提供一條基線,包括了私有程式碼的版本以及公有程式碼每個庫的revision
私有程式碼下載:請訪問https://chipcode.qti.qualcomm.com/ 找到對應的平臺以及基線,有git 下載路徑,需要許可權
公有程式碼下載:在基線中有codeaurora相關的repo下載路徑,找到對應的manifest即可下載,codeaurora的網頁地址為https://source.codeaurora.org/
目錄架構
apps_proc:APSS中的部分私有程式碼,以及對應的oe 編譯規則
boot_images:BootLoader 也就是sbl
cnss_proc:bluetooth 以及wlan的一些檔案
common:最後打包NON-HLOS映象,以及分割槽表
modem_proc:modem程式碼
rpm_proc:rpm程式碼
trustzone_image:tz程式碼
環境配置
MDM編譯包括MPSS、APSS、bootloader、RPM、TZBSP以及最後的NOHLOS-image映象打包
其中bootloader 也就是sbl ,以及tz ,rpm 採用arm編譯鏈,需要lisence,我們採用的是ARMCT5
MPSS也就是modem 採用高通的交叉編譯鏈 Hexagon,我們使用的是 6.4.05,可檢視高通文件安裝
APSS 一般要求在Ubuntu12.04 的64位機器上編譯 用的版本是 r2
其他安裝:
QPST
PYTHON 2.7.5 64 bit
USB driver
配置環境變數:
編譯sbl,tz,rpm時,新建setenv.sh:
export ARMTOOLS=RVCT41
export ARMROOT=${HOME}/DS-5
export ARMPATH=${ARMROOT}/bin
export ARMLIB=${ARMROOT}/lib
export ARMINCLUDE=${ARMROOT}/include
export ARMINC=${ARMROOT}/include
export ARMBIN=${ARMROOT}/bin
export ARMHOME=${ARMROOT}
如果有arm編譯伺服器,需要設定export ARMLMD_LICENSE_FILE=PORT@IP,IP為伺服器IP,PORT為伺服器埠
編譯MPSS時,新建setenv.sh
export ARMTOOLS=NONE
export HEXAGON_ROOT=${HOME}/Qualcomm/HEXAGON_Tools
export PYTHONBIN=`which python`
編譯產出
由於mdm一般用於比較低成本的裝置,所以以下都是預設nand flash
APSS:
cd apps_proc/oe-core
source build/conf/set_bb_env.sh
build9640
產物路徑:apps_proc/oe-core/build/tmp-eglibc/deploy/images/mdm9640
映象:mdm9640-boot.img、appsboot.mbn、mdm9640-sysfs.ubi
SBL:
cd boot_images/build/ms
./setenv.sh
./build.sh TARGET_FAMILY=9x45 --prod -j1
產物路徑:boot_images/build/ms/bin/9x45/nand
映象:ENPRG9x45.mbn、NPRG9x45.mbn、sbl1.mbn
MPSS:
cd modem_proc/build/ms
./setenv.sh
./build.sh 9645.LEgen.prod -k
產物路徑:modem_proc/build/ms/9645.LEgen.prod
映象:mba.mbn 、qdsp6sw.mbn
RPM:
cd rpm_proc/build/ms
./setenv.sh
./build_9x45.sh
產物路徑:rpm_proc/build/ms/bin/9x45
映象:rpm.mbn
TZ:
cd trustzone_images/build/ms
./build_9x45.sh
產物路徑:trustzone_images/build/ms/bin/TAFAANBA
映象:tz.mbn
COMMON:
以上編譯完成後執行打包以及分割槽製作
cd common/build
python build.py
產物路徑:common/build
映象:partition.mbn、NON-HLOS.ubi
燒錄映象
在安裝完usb driver 以及qpst之後,插上樣機,會出現qdloader的USB 埠,這時可以使用qpst 燒錄映象,協議是firehorse
具體請參閱80-NP527-11 中的第4.4節,這裡不多做介紹
Reference:80-NP527-11_C_MDM9x40_MDM9x45_LE_Build_Integration.pdf
相關文章
- 高通Android平臺開發Android
- 高通平臺android開發總結Android
- 微信公眾平臺開發入門
- 度量快速開發平臺——快速入門
- 最新高通平臺驅動開發參考文件
- 高通平臺手機開發之Bring-up
- Apple MDM 開發APP
- 高通平臺 按鍵 進入 fastboot/recovery/edl 模式ASTboot模式
- 一篇文章入門django開發 (測試平臺)Django
- Cordys BOP 4平臺開發入門實戰演練——Webservices開發(高階)Web
- Cordys BOP 4平臺開發入門實戰演練——For Each流程建模開發
- Cordys BOP 4平臺開發入門實戰演練——Until流程建模開發
- Cordys BOP 4平臺開發入門實戰演練——流程建模開發(BPM)
- Cordys BOP 4平臺開發入門實戰演練——會籤流程建模開發
- 在 WSL Ubuntu 上使用 .NET 進行跨平臺開發新手入門Ubuntu
- IsWorld收藏平臺—使用入門
- 綠茵面家平臺開發(開發平臺)
- Cordys BOP 4平臺開發入門實戰演練——Webservices開發(使用MongoDB資料庫)WebMongoDB資料庫
- 邁步進入跨平臺開發時代
- Arduino可穿戴開發入門教程Windows平臺下安裝Arduino IDEUIWindowsIDE
- 高通晶片平臺進9008埠晶片
- 如何開發直播平臺,直播平臺開發需要CDN嗎
- Cordys BOP 4平臺開發入門實戰演練——While迴圈流程建模開發及測試While
- 高通平臺開發環境搭建、編譯、燒錄(android5.1以上系統)開發環境編譯Android
- Web快速開發平臺,基於二次開發平臺Web
- .Net平臺下ActiveMQ入門例項MQ
- 開源函式計算平臺 OpenFunction 保姆級入門教程函式Function
- 高通mdm9607 mcfg_sw.mbn配置編譯流程編譯
- 區塊鏈支付平臺開發,跨境入金支付系統開發區塊鏈
- LeaRun快速開發平臺:自由搭建個性化門戶
- 直播電商平臺開發,輸入框的防抖
- 力軟快速開發平臺:方便快捷的Web開發平臺Web
- 數控開發平臺
- 國內開發平臺
- 敏捷開發入門敏捷
- OpenGL開發入門
- 上門洗車維修服務預約平臺小程式,洗車店入駐平臺製作開發方案,讓洗車更簡單!
- MLFlow機器學習管理平臺入門教程一覽機器學習