什么是JavaCard中的maskgen工具

时间:2016-03-07 09:07:04

标签: javacard

在JavaCard中,有人可以告诉我maskgen工具的用途是什么? 我从高级同事那里听到的是,它是将Java代码转换为特定JavaCard平台的C代码的工具。但答案似乎是广泛的,缺乏确切的特殊性。如果上述目的是正确的,那么我的几个问题就是

1。它如何将java源代码转换为C代码?

2。如何查看此maskgen工具的源代码?

3。如何使用maskgen工具转换我的Java卡源代码?

1 个答案:

答案 0 :(得分:2)

引自Java Card 3平台开发工具包用户指南:

  • 什么是id Maskgen工具?
  

maskgen工具从一组Java Card Assembly生成一个掩码文件   转换器生成的文件。输出掩码文件的格式是   针对特定平台。产生每个插件的插件   不同的maskgen输出格式称为生成器。支持   生成器是cref,它支持Java Card RE和大小   报告掩码的大小统计信息。其他发电机不是   此版本支持包括支持Java的jref   编程语言Java Card RE和a51,它支持Keil   A51汇编语言解释器。 Java Card程序集语法示例   提供有关Java卡内容的其他信息   装配文件。

  • 哪里可以找到Maskgen工具来源?
  

maskgen工具不可用或在源外使用   发布捆绑,所以如果你没有源代码发布   开发套件你会有maskgen工具。如果你有一个来源   发布时,您可以本地化与之关联的特定于语言环境的数据   maskgen工具,请参阅Localizing With The Development Kit.

  • 如何使用Maskgen工具转换Java Card来源?

检查Running Maskgen oracle页面:

  

maskgen示例

     

此示例使用文本文件(args.txt)传递命令行   maskgen的参数:

     

maskgen -o mask.c cref @args.txt

     

文件args.txt的内容是:

     

first.jca second.jca third.jca

     

这相当于命令行:

     

maskgen -o mask.c cref first.jca second.jca third.jca

     

此命令生成一个使用C编译的输出文件mask.c   编译器生成mask.o,它与Java Card RE链接   翻译。有关详细信息,请参阅Using the Reference Implementation   有关此目标平台的信息。

上面的“.JCA”(Java Card Assembly)文件是使用Converter工具生成的。 Here is its manual

来自here的一些相关引用信息:

  

maskgen实际上会生成一个包含VM字节码的mask.c文件   由JCVM解释并执行applet。该   应将mask.c文件加载到卡上。仅使用此方法   静态使用JavaCard。

  

Maskgen获取CAP文件(由转换器生成),和   生成一个mask.c文件,该文件将成为静态的cref的一部分   牌。 MCU /处理器的内存配置参数   可以在maskgen.cfg文件中设置。

无论如何,您需要一个二进制版本的JCDK才能拥有此工具及其来源。