首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

OCAP 入門(三):從原始碼建置 OCAP RI 完整指南

     編輯:Java 相關知識

前兩篇介紹了 OCAP RI 執行應用程式與開發應用程式。本文為系列最終章,從平台角度深入 OCAP RI 架構,手把手教你在 Windows 上從原始碼建置完整 RI,掌握最高層級控制權,為移植、優化、增強平台奠基。

OCAP RI 架構分層

OCAP RI 架構

  • JVM 層:運行 CDC/FP/PBP,基於開源 phoneME Advanced 修改版
  • OCAP Stack Java 部分:純 Java 實作的 API
  • OCAP Stack Native 部分:JNI 本地代碼
  • MPE (Multimedia Platform Extensions):平台無關抽象層,隔離 JVM 與 OS
  • MPEOS:針對特定裝置的 OS 適配層,需移植
  • RI Platform:虛擬裝置/模擬器,提供 Windows/Linux 上的 MPEOS 實作,構成桌面模擬器

建置工具鏈準備

需在類 Linux 環境建置,Windows 上使用 Cygwin:

  1. Cygwin 定制版:下載(~64MB),解壓後執行 setup.exe,選 Install from Local Directory,並將 All 套件設為 Install
  2. JDK:建議安裝至無空格路徑(如 C:\jdk1.6.0_18)
  3. Ant:解壓至簡單路徑(如 C:\apache-ant-1.8.0)

取得原始碼

$ cd /
$ export SVN_USER=cruise
$ export SVN_PASSWORD=cruise
$ svn checkout -N https://community.cablelabs.com/svn/OCAPRI
# 首次需接受伺服器憑證,輸入 p 永久接受
$ cd OCAPRI
$ ./checkout_dev_env.sh trunk  # 耗時約 90 分鐘,若超時重跑直到無新檔案

環境變數設定

編輯 trunk/setEnv,新增 JAVA_HOME、ANT_HOME 並加入 PATH:

export PLATFORMROOT=C:/cygwin/OCAPRI/trunk/ri/RI_Platform
export OCAPROOT=C:/cygwin/OCAPRI/trunk/ri/ODLSrc/OCAP-1.0
export RICOMMONROOT=C:/cygwin/OCAPRI/trunk/common
export OCAPHOST=Win32-Cygwin
export OCAPTC=CableLabs/simulator/Win32/debug
export PLATFORMHOST=Win32-Cygwin
export PLATFORMTC=Win32/debug
export TWB_TOOLROOT=C:/cygwin/OCAPRI/trunk/ri/RI_Platform

export JAVA_HOME=C:/jdk1.6.0_18
export ANT_HOME=C:/apache-ant-1.8.0

if [ -z "${PATH_UR}" ]; then export PATH_UR=$PATH; fi
export PATH=`cygpath -u ${ANT_HOME}`/bin:`cygpath -u ${JAVA_HOME}`/bin:${PATH_UR}

載入環境:

$ cd trunk
$ source setEnv

雙階段建置

$ cd ri
$ ant build  # 約 13 分鐘,同時建置 RI Platform 與 OCAP 實作

執行驗證

$ cd $PLATFORMROOT
$ ./runRI.sh -tunetest -setup

防火牆允許連線後,即可看到模擬電視畫面:

OCAP 模擬器畫面

建置系統目標解析

  • PLATFORMHOST:建置主機配置,對應 $OCAPROOT/hostconfig/$PLATFORMHOST
  • OCAPTC:目標配置路徑,決定 MPEOS 實作(如 RI_Win32),輸出至 $OCAPROOT/bin/$OCAPTC
  • 關鍵檔:$OCAPROOT/target/CableLabs/simulator/Win32/debug/buildrules.properties 定義 build.mpeos.BUILDOS=RI_Win32

原始碼目錄速覽($OCAPROOT)

目錄用途
apps範例應用與測試套件
bin建置輸出
docs文件與 API 參考
gen中間建置檔
hostconfig建置主機配置
javaOCAP Stack Java 層原始碼
jniOCAP Stack Native 層原始碼
jvmphoneME Advanced JVM 原始碼
mpeMPE 層與各 MPEOS 實作
target目標專屬配置
thirdparty第三方開源庫

建置產物分佈

  • JVM 庫:$OCAPROOT/bin/$OCAPTC/bin/libcvm*
  • MPE/OS 庫:$OCAPROOT/bin/$OCAPTC/bin/libmpe*
  • OCAP Java 類別:$OCAPROOT/bin/$OCAPTC/env/sys/ocap-classes.jar

結語

至此你已掌握 OCAP RI 完整建置流程與原始碼結構。遵守授權條款前提下,你可以自由修改 RI 代碼、優化效能、移植至自有硬體。享受深度定製的樂趣吧!

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved