1 Reply Latest reply on Dec 12, 2017 9:15 AM by patrick.vh-Oracle

    NXP J3D081 GlobalPlatformPro LOAD failed: 0x6A80

    8c641de6-2680-49dc-8ed0-53c26295ee2b

      I have been programming other smartcards and am trying to move the software to a Javacard V3.0.1. I installed Eclipse,  Java Card Classic Development Kit 3.0.5u1 plus the Eclipse addin. I loaded the demonstration samples and was able to run, using the emulator, the Helloworld program. I then tried to download the created CAP file to a NXP J3D081 card which is V3.0.1 compliant. It got the above error. Speaking to the GlobalPlatformPro developer told me that the .cap file was the wrong version for the card. I then downloaded GPShell which happened to have a HelloWord.cap file with it. I then ran GlobalPlatformPro to download that to the card and it worked.

       

      What am I missing? Does V3.0.5 of the SDK produce .cap files that are 3.0.1 compatible? Is there something more I need to do? Thanks for any help?

        • 1. Re: NXP J3D081 GlobalPlatformPro LOAD failed: 0x6A80
          patrick.vh-Oracle

          Hi,

           

          If you use the Java Card Classic Development Kit 3.0.5 to convert your application, it will by default assume that you're using the 3.0.5 API in your application and create a CAP file importing packages containing classes as defined in 3.0.5.

          Then, when loading this CAP on a 3.0.1 card, the linker will detect that your application is importing package versions as defined in 3.0.5 and potentially using classes/methods that didn't exist earlier in 3.0.1.

           

          In your case, you have to specify that you're targeting a 3.0.1 platform. To do so, you can either use the 3.0.1 dev-kit, or still use the 3.0.5 development kit, but provide the export files from 3.0.1 or even better the export files provided by the card vendor. In the eclipse plug-in, I recommend to create and configure a specific Platform that can be used for this purpose and still keep the default one for 3.0.5