1. 程式人生 > >高通MDM平臺開發入門

高通MDM平臺開發入門

原始碼下載

高通MDM平臺程式碼分為兩個部分:高通私有程式碼 以及 開源公有程式碼

針對某一個平臺,高通會提供一條基線,包括了私有程式碼的版本以及公有程式碼每個庫的revision

公有程式碼下載:在基線中有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 [email protected],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

相關推薦

MDM平臺開發入門

原始碼下載 高通MDM平臺程式碼分為兩個部分:高通私有程式碼 以及 開源公有程式碼 針對某一個平臺,高通會提供一條基線,包括了私有程式碼的版本以及公有程式碼每個庫的revision 公有程式碼下載:在基線中有codeaurora相關的repo下載路徑,找到對應的ma

SDM845平臺Sensor學習——4.SLPI(SAM Sensor)--

四:Sensor SLPI層SAM Sensor例項分析 上文中,我們大致瞭解了物理sensor driver整個流程,但在專案中,一般寫這種sensor driver的情況很少。這種sensor driver基本上都是各個vendor廠商

SDM845平臺Sensor學習——2.Hal層--

二:Sensor Hal層程式碼分析 Hal code放在/vendor/qcom/proprietary/sensors-see/中 sensors-hal資料夾中包含framework和sensors資料夾,為本文重點分析物件

微信公眾平臺開發入門教程

在這篇微信公眾平臺開發教程中,我們假定你已經有了PHP語言程式、MySQL資料庫、計算機網路通訊、及HTTP/XML/CSS/JS等基礎。 我們將使用微信公眾賬號方倍工作室作為講解的例子,二維碼見左側。 本系列教程將引導你完成如下任務: 建立新浪雲端計算平臺應用啟用微信公眾

微信公眾平臺開發入門視訊教程已釋出

 2014年4月26日晚8點,我在CSDN社群線上培訓課堂講解了微信公眾平臺開發入門的相關知識,受到廣大網友的一致好評,在此非常感謝大家的支援!課程結束後,很多網友表示由於報名人數限制、臨時有事等原因,未能參加,希望能夠提供錄製視訊的觀看地址。視訊教程的主要內容包括:

NB-IoT Workshop|MDM9206技術開發實操(限額報名)

導讀 緊跟前沿通訊技術、Get最新開發技能,高通Qualcomm&機智雲&移遠通訊高階工程師手把手教開發:通過GoKit4(G)+MDM9206快速接入機智雲,4小時掌握高通MDM9206 C-IoT SDK實現不同IoT應用場景的方法,實現NB-IoT產品

【備忘】微信公眾平臺開發入門到實戰開發視訊教程

(1)微信入門視訊 共14節課(2)微信公眾平臺搭建與開發揭祕 共50節課(3)深入淺出微信公眾平臺實戰開發(微網站、LBS雲、Api介面呼叫、服務號高階介面) 共16節課(4)微信公眾平臺搭建與開發揭祕50集(5)兄弟連24集 微信開發VIP教程(6)微信java全套視訊

【備忘】【No5】微信公眾平臺開發入門到實戰開發視訊教程(Java+PHP)

(1)微信入門視訊 共14節課 (2)微信公眾平臺搭建與開發揭祕 共50節課 (3)深入淺出微信公眾平臺實戰開發(微網站、LBS雲、Api介面呼叫、服務號高階介面) 共16節課 (4)微信公眾平臺搭建與開發揭祕50集 (5)兄弟連24集 微信開發VIP教程 (6)微信jav

Android平臺 OTA差分包的生成方法

1、首先高通平臺的編譯流程與android原生態的編譯流程一樣,需要經歷以下幾步:    a. source build/envsetup.sh;    b. lunch 選擇專案    c. make -j24     編譯完之後    4.make otapackage

微信公眾平臺開發入門教程(圖文詳解)

在這篇入門教程中,我們假定你已經有了PHP語言程式、MySQL資料庫、計算機網路通訊及XML語言基礎。如果你還沒有,那麼請先學習相關知識。   我們將使用微信公眾賬號方倍工作室(賬號:pondbaystudio,二維碼在最底部)作為講解的例子。   這篇入門教程將引導你完成

8xxx平臺雙MIC設定

dts檔案修改:   qcom,audio-routing =    "RX_BIAS", "MCLK",    "LDO_H", "MCLK",    "SPK_OUT", "MCLK",    "SPK_OUT", "EXT_VDD_SPKR",    "Lineo

微信公眾平臺開發入門-劉運強-專題視訊課程

微信公眾平臺開發入門—381861人已學習 課程介紹        本套課程的設計完全是為初學者量身打造,課程內容由淺入深,課程講解通俗易懂,程式碼實現簡潔清晰。通過本課程的學習,學員能夠入門微信公眾平臺開發,能夠勝任企業級的訂閱號、服務號、企業號的應用開發工作。 通過本課

android平臺功耗優化方法

1、底電流除錯(Rock Bottom Current Optimization) 底電流在手機飛航模式下除錯。每個平臺的底電流資料可能不一樣,具體可以參考release出來的Current Consumption Data文件或者release note。一般情況下的底電流參考資料上限是: 512M

關於8053平臺i2c和spi配置的學習總結

這次完成的任務是要使能高通8053平臺的i2c和spi,主要做的工作就是在裝置樹檔案中新增節點資訊。主要的工作在於對裝置樹檔案的修改,主要修改了msm8953-pinctrl.dtsi和msm8953.dtsi兩個檔案。 msm8953-pinctrl.dtsi是配置M

Android平臺硬體除錯之Camera篇

Camera工作流程圖Camera的成像原理可以簡單概括如下:景物(SCENE)通過鏡頭(LENS)生成的光學影象投射到影象感測器(Sensor)表面上,然後轉為電訊號,經過A/D(模數轉換)轉換後變為數字影象訊號,再送到數字訊號處理晶片(DSP)中加工處理,再通過IO介面傳輸到CPU中處理,通過DISPLA

1100平臺解鎖ATCOP相關改動

 1.       SBNAALZ.cmd USES_NO_ATCOP=NO 2.       custsbnaalz.h 去掉#define FEATURE_DATA_STRIP_ATCOP        #define FEATURE_ASYNC_DATA_NOOP  

平臺手機開發之Sensor

4.6. Sensor 高通文件 1) 80-N7635-1_E_Snapdragon_Sensors_Core_New_Sensor_Driver_Integration_LA.pdf 2) 80-NA157-92_C_MSM8974_Snap

平臺手機開發之Bring-up

手機Bring-up 3.1. Linux 部分編譯 高通的程式碼分兩部分:一部分是開源的,可以從codeaurora.org上下載,還有一部分是高通產權的,需要從高通的網站上下載。 將高通產權的程式碼放到:vendor/qcom/proprieta

平臺android開發總結 MSM平臺上的AMSS

1、高通平臺android開發總結 1.1 搭建高通平臺環境開發環境 在高通開發板上燒錄檔案系統 建立高通平臺開發環境 高通平臺,android和 modem 編譯流程分析 高通平臺 7620 啟動流程分析 qc

平臺手機開發之Camera

4.3. Camera 參考文件: 1) 80-NA157-22_PRESENTATION- MSM8974-APQ8074-MSM8X26-APQ8084 LINUX CAMERA OVERVIEW.pdf 2) 80-NE717-1_MSM8