建立CLDC Reference Port (MR4)

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/4032267 建立CL...
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/4032267

建立CLDC Reference Port (MR4)


CLDC software is the OSS community version of Sun Microsystems' Connected Limited Device Configuration HotSpot Implementation virtual machine.

This document has the following sections:

  * Building CLDC Software on a Windows x86 Build Platform
  * Building CLDC Documentation

For more information about building and running CLDC, see CLDC HotSpot Implementation software documentation.

Building CLDC Software on a Windows x86 Build Platform

Building a default version of CLDC creates the CLDC software executable cldc_vm.exe for the JavaCall porting layer on a Windows x86 target platform. To properly build the CLDC software on a Windows x86 build platform, you must set the environment variables shown in TABLE 4-1.

TABLE 4-1Required CLDC Build Variables for Windows x86

Name
 

Description

JVMWorkSpace
 

The location of your CLDC software source code workspace. For example, JVMWorkSpace=%COMPONENTS_DIR%/cldc.

JVMBuildSpace
 

The location of your CLDC software build output. For example, JVMBuildSpace=%BUILD_OUTPUT_DIR%/cldc.

ENABLE_PCSL
 

Required for building CLDC with the PCSL software component. Must be set to true.

PCSL_OUTPUT_DIR
 

The location of PCSL build output. Required for building CLDC if ENABLE_PCSL=true. For example, PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl.

ENABLE_ISOLATES
 

Required for building a CLDC implementation with multitasking capability. Must be set to true. If not explicitly set to true, the build defaults to false and CLDC is built without multitasking capability.

Note: If you set ENABLE_ISOLATES=true to build a CLDC implementation with multitasking capability, you must also set USE_MULTIPLE_ISOLATES=true to build the phoneME Feature software, as described in Building a phoneME Feature Reference Port.

JAVACALL_OUTPUT_DIR
 

The location of JavaCall porting layer output. For example, JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall.

TOOLS_DIR
 

Defines the directory where needed build tools are located. For example, TOOLS_DIR=%COMPONENTS_DIR%/tools.

TOOLS_OUTPUT_DIR
 

Defines a directory location for tools-specific output. For example, TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools.

USE_VS2005
 

Tells the build system to use Microsoft Visual Studio 2005 as the default compiler. For example, USE_VS2005=true.

ENABLE_JAVA_DEBUGGER
 

Supports the use of the emulator binary plugin. For example, ENABLE_JAVA_DEBUGGER=true.

ENABLE_MULTIPLE_PROFILES_SUPPORT
 

Supports the use of the emulator binary plugin. For example, ENABLE_MULTIPLE_PROFILES_SUPPORT=true.

Building CLDC for a Windows x86 Target Platform

  1. Set the JVMWorkSpace variable, as shown here.

$ set JVMWorkSpace=%COMPONENTS_DIR%/cldc

  2. Set the JVMBuildSpace variable, as shown here.

$ set JVMBuildSpace=%BUILD_OUTPUT_DIR%/cldc

  3. Run the make command as a single command-line string, as shown here.

$ make -C %JVMWorkSpace%/build/javacall_i386_vc ENABLE_PCSL=true PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl ENABLE_ISOLATES=true JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall TOOLS_DIR=%COMPONENTS_DIR%/tools TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools USE_VS2005=true ENABLE_JAVA_DEBUGGER=true ENABLE_MULTIPLE_PROFILES_SUPPORT=true

The generated CLDC output is found under %JVMBuildSpace%/javacall_i386_vc/dist.

Running CLDC Software

Once you build the CLDC software, you can invoke it from the command line to run a class compiled from the Java programming language. The path to the executable depends on the target platform (operating system and processor) for which you build the software.

Running CLDC on a JavaCall porting layer on Windows x86 Target Platform

  1. Change to the CLDC build space for the JavaCall porting layer on Windows x86 platform:

$ cd %JVMBuildSpace%/javacall_i386/dist

  2. Enter the following command:

$ bin/cldc_vm.exe -classpath location-of-compiled-applications/classes classname

For example, to run the HelloWorld application:

$ bin/cldc_vm -classpath C:/src/classes HelloWorld

Building CLDC Documentation

You can create HTML documents from CLDC porting interfaces. To do this for the CLDC software, use the make docs_html build target.

Generating Javadoc Tool Documentation

Building Javadoc? tool documentation is the same for all build platforms.

  1. Change to the default build directory for your build platform.

For example, this could be a Linux on i386 platform, as shown here.

$ cd %JVMWorkSpace%/build/linux_i386

  2. Build Javadoc tool HTML documentation.

$ make docs_html

Viewing phoneME Feature Documents

Use any browser to display the Javadoc tool output file at the following URL:

file://%JVMBuildSpace%/doc/javadoc/html/index.html

 



目录
相关文章
|
2月前
|
存储 网络协议 算法
OSPF中的Link-State Database (LSDB): 概述与深入解析
OSPF中的Link-State Database (LSDB): 概述与深入解析
226 1
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之遇到控制台报错:onnected to the target VM, address: '127.0.0.1:56821', transport: 'socket',是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
220 0
|
8月前
|
搜索推荐 Linux Go
分享一个go开发的端口转发工具-port-forward
分享一个go开发的端口转发工具-port-forward
130 0
|
存储 缓存 资源调度
Flink_state 的优化与 remote_state 的探索
bilibili 资深开发工程师张杨,在 Flink Forward Asia 2022 核心技术专场的分享。
470 1
Flink_state 的优化与 remote_state 的探索
|
应用服务中间件
项目启动,Tomcat报错: Failed to initialize connector [Connector[AJP/1.3-8020]]
项目启动,Tomcat报错: Failed to initialize connector [Connector[AJP/1.3-8020]]
620 0
项目启动,Tomcat报错: Failed to initialize connector [Connector[AJP/1.3-8020]]
|
SQL 网络协议 测试技术
SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context"
原文:SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context" 在测试SQL Server 2016 Always On时,在创建侦听器后,在客户端使用SSMS, 可以用侦...
1918 0
|
网络安全 网络虚拟化
内核中的UDP socket流程(10)——ip_append_data
作者:gfree.wind@gmail.com 博客:linuxfocus.blog.chinaunix.net 现在换一种风格,把一些对代码的解读直接写到代码段。那样看起来可能更好 继续ip_append_data,     /* hh_len是hardware header...
1266 0
|
缓存
内核中的UDP socket流程(11)——ip_append_data
作者:gfree.wind@gmail.com博客:linuxfocus.blog.chinaunix.net 继续ip_append_data,         if (copy > length)             copy = length;         if (!(rt->dst.
1342 0