Home
STM32Java Reference Manual for STM32 F2
Contents
1. STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual kys life augmented Reference TLT 0595 REF STM32JavaF2 Revision D Architecture STM32JavaF2 Compiler Keil uVision Product Version 5 0 2 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Confidentiality amp Intellectual Property All right reserved Information technical data and tutorials contained in this document are confidential secret and IS2T S A Proprietary under Copyright Law Without any written permission from IS2T S A copying or sending parts of the document or the entire document by any means to third parties is not permitted including but not limited to electronic communication photocopies mechanical reproduction systems Granted authorizations for using parts of the document or the entire document do not mean they give public full access rights IceTea IS2T MicroJvm MicroEJ S31M SNI SOAR Drag Emb Drop IceOS Shielded Plug and all associated logos are trademarks or registered trademarks of IS2T S A in France Europe United States or others Countries Java is Sun Microsystems trademark for a technology for developing application software and deploying it in crossplatform networked environments When it is used in this documentation without adding the symbol it includes implementations of the technology by companies other than Sun Java all Java base
2. When an exception is thrown by the implementation of the ECOM API the error message ECOM 1 0 E lt messageld gt is issued where lt messageld gt meaning is defined in the next table Message ID Description 1 The connection has been closed No more action can be done on this connection 2 The connection has been already closed 3 The connection description is invalid The connection cannot be opened 4 The connection stream has been already opened Only one stream per kind of stream input or output stream can be opened at the same time 5 Too many connections have been opened at the same time The platform is not able to open a new one Try to close an useless connection before trying to open the new connection Table 11 1 ECOM error messages 22 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 12 ECOM Comm 12 1 Configuration The library implementation has application specific configuration variables Variable Meaning ECOM_COMM_01 Configures whether the ECOM Comm connection factory is enabled If it is not enabled it is not possible to create ECOM Comm connections ECOM_COMM_02 Configures the mappings between logical port ids and the defined physical ids Table 12 1 ECOM Comm configuration variables 23 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 13 LLMJVM Low Level JPF API 13 1 Princip
3. 2 58 oeet iaa eeina cand clea E Coad costcauaeeaatedee a EE cceacesceeadt cand cede 25 TS Simulation 34 25 8 rte A vend den te dt va cae de da te nd een latte tee 26 15 L HIT Engine Opus ss entr A ROAS 26 15 2 Heap Dumping lei ribera ino 26 15 3 Configuration sis soirs men Nu tia 28 AG e AA A Hee ee A O ass PA nd EI TR 29 16 1 EmbJPF Limitations sise sossseseentieseetennesennedenenenleneuenhenens eleeiesbostess eee 29 162 SIJE P EMOS ii td meer aba eveetadewedededeeeceagevwed tee 29 T Document HIStory dotado AO rte nr ont ido 9d 30 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual List of Figures 2 1 JPF Runtime Components tools libraries amp APIS cecceceecessesesnncececececeesenseaeeeceeeeeseeneaaeaes 6 5 1 The SOAR inputs amp outputs ss 11 6 1 Example of content of a Java properties file oo nonncccconnnnnnnnnonacaconocnnnononnonccnnoncnnnncnnanononos 15 10 1 A Shielded Plug between two application Java C modules ococccccnnnnononcconcnicnnacananaconanoss 20 10 2 Shielded Plug compiler flow iii 20 15 1 Internal classfile format for types cocococononononononononononononononononononononononononononononononononanonoss 28 List of Tables 3 1 Platform references onai oenas tete Droa sus aE EEE en nina nan TESE EEEE serre den Read este ten oes 8 ALT SREGUITE resources he nn ae dir rie rm ed an see eee den 9 4 2 Standard libraries
4. API This document n a 1 0 ECOM Comm This document 1 0 1 0 yes Table 4 3 Specific API 4 4 Platform Characteristics Name Item EmbJPF Char SimJPF Char User Con acteristics acteristics figurable Heap Partition 1 1 RAM optimizer Immortal Space Yes Yes yes Immutable Space Yes static Yes static Debug Symbolic No JDWP Socket yes STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Name Item EmbJPF Char SimJPF Char User Con acteristics acteristics figurable Java Code Location In Flash in n a place execution Table 4 4 Platform characteristics 4 5 Configuration The JPF has a number of application specific configuration variables Table 4 5 Variable Meaning JPF_01 Configures the Java heap size in bytes JPF_02 Configures the maximum number of Java threads that can run simultaneously JPF_03 Configures the size of Java thread stack pool given in quantity of blocks of 512 bytes 2 blocks means 1024 2x512 JPF_04 Configures the maximum Java thread stack size given in quantity of blocks of 512 bytes Must be in the range 1 JPF_03 Table 4 5 JPF configuration variables 10 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 5 SOAR the Smart Linker 5 1 Introduction Java source code is compiled by the Java compiler into the binary format specified in JVM This binary
5. acortan listed eden 9 AS Specific APL cross Ee N EEEE KE NEEE E Secs se d rene tre des TEENER E aan este aser 9 4 4 Platform characteristics uron eenia mt intimiste ihintee 9 4 5 JPF configuration variables ccccccecseseseseseeeseseeeseeeeeseseseeeseseseseseseseeeseeeseeeeeeesesesenenenenes 10 DL SOAR EOF MESSAGES een EE E des nn den en bei denses A mehr but 12 G Generic Error messages ist ere ET eens esses Mate nn entier tentes luut 15 6 2 JPF exit CODES 4 5 O te tn nee a 15 2 1 EDG error MeSSABES A nn de nn nt acs aya Sas ne nine eek eae eas 17 7 2 EDC configuration variables ooooooncnnonnnnononononononononononononononononononononono nono nono nono nono KUNDES SSE EEP 17 8 1 Errors when parsing immutable files at link time coonnononnnncnnnnncnnnnononacnnanononncanononcnnnccnnno 18 8 2 B ON configuration variables ooooooonnnonononononononononno nono nono nono nono no nono nono no nonono nn nn nono no nonnnnnnnnnnnos 18 g 1 SNI AAA AT 19 10 1 Shielded Plug compiler options oooococncncnnncnnnnnnnnnnnnncnnnononononononononononononononononononononinonss 20 10 2 Shielded Plug compiler error Messages sssesecececececeessstaececeeecessessucceceeeceseseestaaeeeeees 21 TELECOM error M SSABES iS nn mer tn A ste 22 12 1 ECOM Comm configuration variables sssscceccceeeseessnnecececeeecessesnaaeeeeeeeeeseeseannaeeeeeees 23 15 1 HIL Engine OPHONS onirin a aiana KN E NE trs atout rese
6. code needs to be linked before execution The JPF comes with a linker named the SOAR It is in charge of analyzing class files and some other application related files to produce the final application that the JPF runtime can execute Binary Java class Immutables Sm l an Java user linker application Properties key value Resources Figure 5 1 The SOAR inputs amp outputs 5 1 1 Inputs e All class files necessary to run the main class e The Immutable files description used by the application see B ON e Properties files e Resources Images Native Language Support data 5 1 2 Outputs e The SOAR image representing the linked user Java application The format used by the SOAR is the ELF format e Documentation in the form of xm1 file providing useful information about the generated image the initialization phase order lt clinit gt order B ON selected items methods resources immutables with their associated footprints Debug information is also provided for the JOWP based Java Eclipse debugger The JDT compiler from the Eclipse IDE 11 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 5 2 Loading Process SOAR only loads necessary classfiles and only embeds in output file what is needed from main class and user required types plus all provided immutables resources and properties 5 3 Error Messages When a generic exception is thrown by the S
7. 000 Number of methods per class 1500 65000 Total number of methods 1500 unlimited Class Interface hierarchy depth 127 max 127 max Number of monitors per thread 8 max 8 max Base type 65000 65000 Number of fields References 65000 65000 boolean byte limited 65000 short char limited 65000 Number of statics int float limited 65000 long double limited 65000 References limited 65000 Method size 65000 65000 Time limit 60 minutes unlimited No more than n different monitors can be held by one thread at any time Table 16 1 EmbJPF Limitations 16 2 SimJPF Limitations Item EVAL version DEV version Number of calls limited unlimited Time limit 60 minutes unlimited Table 16 2 SimJPF Limitations 29 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 17 Document History October 24th 2012 Bl Introduction of Shielded Plug SP amp LL_SP API November 20th 2013 Global documentation review June 20th 2014 ID Update for STM32Java 3 0 0 30
8. 2Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 3 Edition Name Version Editions EVAL DEV Name STM32JavaF2 ARMCCv4 Version 5 0 2 MCU STM32JavaF2 Compiler Keil uVision Table 3 1 Platform references STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 4 Features 4 1 Resource Requirements Resource EmbJPF Characteristics Flash Less than 30 KB RAM Less than 1 5 KB RTOS Any RTOS Architecture Green Thread Java stacks auto sizable RTOS Stack Size Less than 1 KB Startup Time Less than 2 ms at 120MHz As a special case the JPF can be used in a system that runs only one main task the JPF So the JPF can be used with any RTOS or with no RTOS at all Pava stacks automatically adapt their sizes according to the Java green thread demand Once the thread has finished its associated stack is automatically reclaimed by the GC Table 4 1 Required resources 4 2 Standard Libraries Library Reference EmbJPF Versions SimJPF Versions User Con figurable EDC EDC 1 2 1 2 yes B ON B ON 1 2 1 2 yes SNI SNIGT 1 2 1 2 Table 4 2 Standard libraries 4 3 Specific Libraries amp APIs Library Reference EmbJPF Versions SimJPF Versions User Con figurable SP SP 1 0 1 0 yes LLSP API This document 1 0 n a LLMJVM API This document 1 0 n a HIL
9. Drivers amp Firmware Resources input output of a tool Figure 2 1 JPF Runtime Components tools libraries amp APIs STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual The three APIs Simple Native Interface SNI Low Level MicroJvm virtual machine LLMJVM and Low Level Shielded Plug LLSP allow the JPF runtime to link and port to legacy code such as any kind of RTOS or legacy C libraries 2 5 Scheduler The JPF features a green thread architecture platform that can interact with the C world SNIGT The green thread policy is as follow e preemptive for different priorities e round robin for same priorities e priority inheritance protocol when priority inversion occurs Es Java stacks associated with the threads automatically adapt their sizes according to the thread require ments once the thread has finished its associated stack is reclaimed freeing the corresponding RAM memory 2 6 Smart RAM Optimizer The JPF includes a state of the art memory management system the Garbage Collector GC It man ages a bounded piece of RAM memory devoted to the Java world The GC automatically frees dead Java objects and defragments the memory in order to optimize RAM usage This is done transparently while the Java applications keep running This protocol raises the priority of a thread that is holding a resource needed by a higher priority task to the priority of that task STM3
10. OAR the error message SOAR ERROR M lt messageld gt lt message gt is issued where lt messageld gt and lt message gt meaning are defined in next table Message ID Description 0 The SOAR process has encountered some internal limits 1 Unknown option 2 An option has an invalid value 3 A mandatory option is not set 4 A filename given in options does not exist 5 Failed to write output file access permissions required for toDir and root options 6 The given file does not exist 7 IO Error while reading a file 8 An option value refers to a directory instead of a file 9 An option value refers to a file instead of a directory or a jar file 10 Invalid entry point class or no main method 11 Information file can not be generated entirely 12 Limitations of the evaluation version reached 13 IO Error while reading a jar file 14 IO Error while writing a file 15 IO Error while reading a jar file unknown entry size 16 Not enough memory to load a jar file 17 Specified SOAR options are exclusive 18 XML syntax error for some given files 19 Unsupported float representation 50 Missing code Java code refers to a method not found in specified classes 51 Missing code Java code refers to a class not found in the specified classpath 52 Wrong class Java code refers to a field not found in specified class 53 Wrong class Java classfile refers to a
11. SNI file error unexpected tag 357 SNI file error attributes lt name gt lt descriptor gt lt index gt and lt size gt are expect ed in the specified tag 13 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Message ID Description 358 SNI file error invalid SNI tag value 359 Error parsing SNI file 360 XML Error on parsing SNI file 361 SNI incompatibility illegal call to the specified data 362 No stack found for the specified native group 363 Invalid SNI method The argument cannot be an object reference 364 Invalid SNI method The array argument must only be a base type array 365 Invalid SNI method The return type must be a base type 366 Invalid SNI method The method must be static Table 5 1 SOAR error messages 14 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 6 Java Core Libraries A Java core library is the library which provides the basic Java concepts and classes Without this library it is not possible to write any Java application MicroEJ provides several Java core libraries Only one library can be installed into the platform at any time 6 1 Java Properties Java properties allow the Java application to be parameterized using the System getProperty API The definition of the properties and their respective values is done using files Each filename of a properties file must match with sys
12. class as an interface 54 Wrong class an abstract method is found in a non abstract class 55 Wrong class illegal access to a method a field or a type 56 Wrong class hierarchy inconsistency an interface cannot be superclass of a class 57 Circularity detected in initializion sequence 58 Option refers twice the same resource The first one is used 59 Stack inconsistency detected 3Types that may be dynamically loaded using Class forName method need to be declared as required types 12 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Message ID Description 60 Constant pool inconsistency detected 61 Corrupted classfile 62 Missing native implementation of a native method 63 Cannot read the specified resource file 64 A same property name cannot be defined in two different property files 65 Bad license validity 66 Classfiles do not contains debug line table information 67 Same as 51 150 SOAR limit reached the specified method uses too many arguments 151 SOAR limit reached the specified method uses too many locals 152 SOAR limit reached the specified method code is too large 153 SOAR limit reached the specified method catches too many exceptions 154 SOAR limit reached the specified method defines a too large stack 155 SOAR limit reached the specified type defines
13. d marks and all related logos are trademarks or registered trademarks of Sun Microsystems Inc in the United States and other Countries Other trademarks are proprietary of their authors STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Table of Contents 1S Bibliography ich 2ec2 cadt cheated tacts entente heehee a de mine a 5 A ON 6 A NS 6 2 2 SI A sheceasdseceegessaenes te 6 2 3 Configuration Variables seisnes esserne E rnanera isere s E EIEEE SPIRES Erai e aS 6 2 4 JPF Components Overview scission t rA aE NE casey ERE AE IARR 6 2 5 Scheduler aes ccsieadacesieaagcedadadaceaasdasccaatagavenacatgcenathaecenanedacceasadavenanadd cdnadagacenanded cenasagaveraoanede 7 A O A NN Z 3 Edition NaMe Version A A A A TR a dt ed de 8 O AN 9 4 1 Resource Requirements ii a ae eee ae wea eae eee 9 4 2 Standard Libraries 252 suscite cst vine savasweesuaivase sevasavasues EE EEEE E 9 4 3 Specific Libraries amp APIS serrer 9 A A Platform AAA es eheseasesdenca ss 9 4 5 Configurations sir dvi serieei riei Ea de cesssucs cusvsviecetasees cubase cerbenes cedvevieceraseegeute 10 5 SOAR the Smart Linker s c s03 ssc svesbvacevecsventvvnscvcev og bs seed EEA E EREE NEEE og abe nenas 11 5 L INtrOdu tion Lata aia A ina 11 5 2 l0ading NN 12 5 93 Error Messages nn secs tek nesses sede Pees er AA EPOKO en An nes tue sat 12 6 Java Gore Libraries ss isisie dite siseutelei rare ns cs de care tes coccion donde sa
14. introspection The database is made of blocks chunks of RAM Module 1 Module 2 written in ShieldedPlug written in Java or C Database Java or C Figure 10 1 A Shielded Plug between two application Java C modules The implementation of the SP for the JPF uses a XML file description to describe the database the syntax follows the one proposed by SP 10 2 SP Compiler ShieldedPlug SP file SP Database mm compiler A C ON Java file java Figure 10 2 Shielded Plug compiler flow The Shielded Plug compiler takes as input a shielded plug description XML It outputs e A description of the requested resources of the database as a binary file o that will be linked to the overall application by the linker It is an ELF format description that reserves both the necessary RAM and the necessary Flash memory for the database of the shielded plug e Two descriptions one in Java and one in C of the block ID constants to be used by either Java or C application modules Option name Description verbose e e Extra messages are printed out to the console according to the number of e descriptionFile file XML Shielded Plug description file Multiple files allowed waitingTaskLimit value Max number of task threads that can wait on a block number be tween 0 and 7 1 is for no limit 8 for unspecified immutable When specified only immutable Shielded Plugs can be compiled output dir Outpu
15. ject array Element that references a Java array id Unique identifier of this array class Fully qualified name of the class of this array elementsType Type of the elements of this array length Array length stringLiteral Element that references a java lang String literal id Unique identifier of this object class Id of java lang String class field Element that references the field of an object or a class name Name of this field id Object or Array identifier if it holds a reference type Type of this field if it holds a base type value Value of this field if it holds a base type Table 15 3 Tag descriptions 15 3 Configuration The SimJPF has the following application specific configuration variables Variable Meaning SIMJPF_01 Configures symbolic debugger JDWP SIMJPF_02 Configures a Java heap dump when the System gc method is called SIMJPF_03 Configures SimJPF runtime to stick to both the JPF threads policy and memory sizes SIMJPF_04 Configures a slowing factor in order to provide the engineers a simulation which computation speed is similar to the one of the EmbJPF on their PC SIMJPF_05 Configures code coverage analysis Table 15 4 SimJPF specific configuration variables 28 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 16 Limitations 16 1 EmbJPF Limitations Item EVAL DEV Number of classes 2500 4
16. le 13 2 Naming Convention The Low Level MicroJvm API the LLMjvm API relies on functions that need to be implemented The naming convention for such functions is that their names match the LLMJVM_IMPL_ pattern 13 3 Porting the JPF Here is a summary of the functions that need to be implemented to port the JPF e LLMJVM_IMPL_initialize e LLMJVM_IMPL_vmTaskStarted e LLMJVM_IMPL_scheduleRequest e LLMJVM_IMPL_idlevM e LLMJVM_IMPL_wakeupVM e LLMJVM_IMPL_ackwakeup e LLMJVM_IMPL_getCurrentTaskID e LLMJVM_IMPL_setApplicationTime e LLMJVM_IMPL_getCurrentTime e LLMJVM_IMPL_getTimeNanos e LLMJVM_IMPL_isInReadOnlyMemory 24 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 14 LLCOMM Low Level ECOM Comm API 14 1 Naming Convention The Low Level Comm API LLCOMM relies on functions that need to be implemented by engi neers in a driver The names of these functions match the LLCOM_BUFFERED_CONNECTION_IMPL_ or the LLCOM_CUSTOM_CONNECTION_IMPL_ pattern 14 2 Header Files Four C header files are provided e LLCOMM_BUFFERED_CONNECTION_impl h Defines the set of functions that the driver must implement to provide a Buffered connection e LLCOMM_BUFFERED_CONNECTION h Defines the set of functions provided by ECOM Comm that can be called by the driver or other C code when using a Buffered connection e LLCOMM_CUSTOM_CONNECTION_impl h Defines the set of functions that the driver must implemen
17. n The library implementation has application specific configuration variables Variable Meaning CORE_01 Configures the redirection of standard output to a user defined OutputStream By default standard output is internally connected to the platform s C printf implementation CORE_02 Configures string encoding s that are embedded at runtime The JPF provides the following encoding s UTF 8 Table 7 2 EDC configuration variables 17 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 8 B ON 8 1 Immutable Files Related Error Messages The following error messages are issued at SOAR time link phase and not at runtime Message ID Description 0 Duplicated ID in immutable files Each immutable object should have an unique ID in SOAR image 1 Immutable file refers an unknown field of an object 2 Tried to assign twice the same object field 3 All immutable object fields should be defined in the immutable file description 4 The assigned value does not match the expected Java type 5 An immutable object refers to an unknown ID 6 The length of the immutable object does not match the length of the assigned ob ject 7 The type defined in the file doesn t match the Java expected type 8 Generic error while parsing an Immutable file Cycle detected in alias definition 10 An immutable object is an instance of an abstract class o
18. nd less 15 Gl Java POP ARR AUS RAS AN TN A NE Re Re HR SNL NE 15 6 2 Genet Output is nee nier O 15 6 3 Error Messages yurar eerror i NETTEN A EEA de dense reves Ea Eat 15 G24 Exit COMES iris senstie veri e a ea a a a e i a a 15 LADO A E E T E 17 Jle Error Message 17 7 2 AGOMEBULALON ass aia 17 Bis BON nar a EE nee a a cia 18 8 1 Immutable Files Related Error Messages oooooooconcnncnnnnnnnnnnnnonononononononononononononononananoss 18 8 2 NN serres SRA 18 QE SIND is cde attested scene hee hie Mia ne munca Gitte Mik abu baie a Gua este A ua A 19 9 1 SNI Link Time Error Messages ococononocononononononononononononono nono nono no nono nn nn nono nn nono no nn nn nnonnnnos 19 OP AA A A A As 20 10 1 XxME File Description raras 20 10 2 SP Compiler eiccin iniii raea EE EEEE EAS EE E E a 20 10 32 Error Messages cuts EAA A iria 21 A NN 22 11 1 Error Messagis seniorene nn naa iv eesavebeevaavs OANE save de oneavebeevends EEA OEN 22 T2 ECOM CoMo annee ed 23 12 1 Comfi guration ss cies tees ceases decseen es sche nues ceea se neusbeva ns Sanaa auane ceed ceuasedeuebasesd sense 23 13 LLMIVM Low Level IPE ARI ucraniana bei 24 13 1 PEOPLE A A dede A At de tete dde RI 24 NEIRA weds aseseveeasanwvevsass ven redonner etat ere name eee notre 24 13 3 Porting the JRF sr A nt dd Tr ne 24 14 LLCOMM Low Level ECOM Comm API 25 14 1 Naming CONVENTION serisi orna N eeraa i Soca ante eeasea EEKAN A sera note taie ee iv 25 142 H ad r Elles
19. nual includes only the specific APIs related to porting the JPFs to different real time operating systems RTOS 2 2 Intended Audience The audience for this document is software engineers who need to understand the details of the JPF components including their APIs error codes and options 2 3 Configuration Variables This document describes a number of configuration variables A configuration variable is a value that can be set by the user to configure a component The mechanism for setting the variable differs depend ing on the component and the environment and is not described in this document Each variable is given a code of the form CATEGORY_nn where CATEGORY is a label that identifies the configuration category and nn is a two digit number identifying the specific variable within the category Other documents refer to these codes Consult the platform specific User s Manual to see how to set or view configuration variables 2 4 JPF Components Overview STM32JavaF2 ARMCCV4 JPF feature a tiny and fast runtime associated with a smart RAM optimizer They provide four built in libraries B ON EDC SNIGT and SP Figure 2 1 shows the compo nents involved SP file SP xml compiler User SP Binary SOAR rane Java smart application Database class linker JPF runtime B ON EDC SNIGT SP Immutables xml Smart RAM h SNI ii LLMJVM LLSP propensa API ii API ii API key value i n
20. pace due to a link placement error 15 The application has too many static the requested static head is too large 15 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Message ID Meaning 16 The JPF virtual machine cannot be restarted Table 6 2 JPF exit codes 16 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 7 EDC EDC is a Java core library see Java Core Libraries 7 1 Error Messages When an exception is thrown by the implementation of the EDC API the error message EDC 1 2 E lt messageld gt is issued where lt messageld gt meaning is defined in the next table Message ID Description 4 No native stack found to execute the Java native method 3 Maximum stack size for a thread has been reached Increase the maximum size of thread stack parameter 2 No Java stack block could be allocated with the given size Increase the Java stack block size 1 The Java stack space if full Increase the Java stack size or the number of Java stack blocks 1 A closed stream is being written read 2 The operation Reader mark is not supported 3 lock is null in Reader Object lock 4 String index is out of range 5 Argument must be a positive number 6 Invalid radix used Must be from Character MIN_RADIX to Character MAX_RADIX Table 7 1 EDC error messages 7 2 Configuratio
21. r an interface 11 Unknown XML attribute in an immutable file 12 A mandatory XML attribute is missing 13 The value is not a valid Java literal 14 Alias already exists Table 8 1 Errors when parsing immutable files at link time 8 2 Configuration The library implementation has application specific configuration variables Message ID BON_02 Meaning Configures the immortal heap size in bytes Table 8 2 B ON configuration variables 18 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 9 SNI For details about SNI see the specification SNIGT Note that SNIGT defines the MicroJvm life cycle API create start stop destroy the usage of this API is described in Section 13 LLMJVM Low Level JPF API of this document 9 1 SNI Link Time Error Messages The following error messages are issued at SOAR time and not at runtime Message ID Description 363 Argument cannot be a reference 364 Argument can only be from a base type array 365 Return type must be a base type 366 Method must be a static method Table 9 1 SNI error messages 19 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 10 SP 10 1 XML File Description The Shielded Plug SP provides data segregation with a clear publish subscribe API The data sharing between modules uses the concept of shared memory blocks with
22. s attribute name createdInMethod type xs string use optional gt lt xs attribute name length type xs string use required gt lt xs attribute name elementsType type xs string use optional gt lt xs attribute name type type xs string use optional gt lt xs extension gt lt xs simpleContent gt lt xs complexType gt lt xs schema gt Table 15 2 XML schema for heap dumps 15 2 2 File Specification Types referenced in heap dumps are represented in the internal classfile format Figure 15 1 Fully qualified names are names separated by separator For example a b C 27 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Type lt BaseType gt lt ClassType gt lt ArrayType gt BaseType B byte C char D double F float I int J long S short Z boolean ClassType L lt ClassName gt ArrayType lt Type gt Figure 15 1 Internal classfile format for types Tags used in the heap dumps are described in the table below Tag Attributes Description heap The root element class Element that references a Java class name Class type lt ClassType gt id Unique identifier of the class superclass Identifier of the superclass of this class object Element that references a Java object id Unique identifier of this object class Fully qualified name of the class of this ob
23. t desc niv detente retenir rein dens 26 15 2 XML schema for heap dumps sers 26 15 3 Tag descriptions ser nn tort ere TRS TR On Te Da D dE i ne les DD 28 15 4 SimJPF specific configuration variables 2 0 0 0 eeeeseesceececeeeceeseseaneeceeeceseeseanaeeeceeeseeeeasaas 28 16 1 SEMbIPF Limitations s scivesstesvses maniement ETE ioonseveandeaea tes 29 16 2 SIMIPE LIMMHAUONS 83 sessevevs desde Pan ne den msn den fuesesenedvvenseestsesecsdes deeds E U EET a TES 29 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 1 Bibliography JVM Tim Lindholm amp Frank Yellin The Java Virtual Machine Specification Second Edition 1999 EDC Embedded Device Configuration ESR 021 http www e s r net B ON Beyond ESR 001 http www e s r net SNIGT Simple Native Interface for Green Threads ESR 012 http www e s r net SP Shielded Plug ESR 014 http www e s r net STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 2 Introduction 2 1 Scope STM32JavaF2 ARMCCV4 JPF is state of the art embedded Java runtimes for STM32JavaF2 MCUs They also provide simulated runtimes that execute on workstations to allow software development on virtual hardware This reference manual describes the functionality of the JPFs It is concise but attempts to be exact and complete Semantics of implemented standard libraries are described in their respective specifications This reference ma
24. t directory Default is the current directory outputName name Output name for the Shielded Plug layout description Default is shielded_ plug endianness name Either little or big Default is little outputArchitecture value Output ELF architecture Only ELF architecture available rwBlockHeaderSize value Read Write header file value 20 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual Option name Description genIdsc When specified generate C header file with block ID constants cOutputDir dir Output directory of C header files Default is the current directory cConstantsPrefix prefix C constants name prefix for block IDs genIdsJava When specified generate Java interfaces file with block ID con stants jOutputDir dir Output directory of Java interfaces files Default is current directo ry jPackage name The name of the package for Java interfaces Table 10 1 Shielded Plug compiler options 10 3 Error Messages Message ID Description 0 Internal limits reached 1 Invalid endianness 2 Invalid output architecture 3 Error while reading writing files 4 Missing mandatory option Table 10 2 Shielded Plug compiler error messages 21 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 11 ECOM ECOM is the communication core library 11 1 Error Messages
25. t to provide a Custom connection e LLCOMM_CUSTOM_CONNECTION h Defines the set of functions provided by ECOM Comm that can be called by the driver or other C code when using a Custom connection 25 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual 15 Simulation 15 1 HIL Engine Options Below are the HIL Engine options Option name Description verbose e e Extra messages are printed out to the console add extra e to get more messages ip lt address gt SimJPF connection IP address A B C D By default set to local host port lt port gt SimJPF connection port By default set to 8001 connectTimeout lt timeout gt timeout in s for SimJPF connections By default set to 10 seconds excludes lt name sep name gt Types that will be excluded from the HIL Engine class resolution provided mocks By default no types are excluded mocks lt name sep name gt Mocks are either jar file or class files Table 15 1 HIL Engine options 15 2 Heap Dumping 15 2 1 XML Schema Below is the XML schema for heap dumps lt xml version 1 0 encoding UTF 8 gt SEE lt XS Schema Copyright 2012 IS2T All rights reserved IS2T PROPRIETARY CONFIDENTIAL Use is subject to license terms schema xmlns xs http www w3 org 2001 XMLSchema gt lt root element heap gt lt xs element name heap gt lt xs complexType gt lt xs choice minOcc
26. tem properties and must be located in properties package of the appli cation classpath These files follow the Java property list specification key value pairs microedition encoding IS0 8859 1 Figure 6 1 Example of content of a Java properties file 6 2 Generic Output The System err stream is connected to the System out print stream See below for how to configure the destination of these streams 6 3 Error Messages When an exception is thrown by the runtime the error message Generic E lt messageld gt is issued where lt messageld gt meaning is defined in the next table Message ID Description 1 Negative offset 2 Negative length 3 Offset length gt object length Table 6 1 Generic error messages 6 4 Exit Codes The RTOS task that runs the Java runtime may end especially when the Java application calls System exit method EDC By convention a negative value indicates abnormal termination Message ID Meaning 0 The Java application ended normally 1 The SOAR and the JPF are not compatible 2 Incompatible link configuration 1sc file with either the SOAR or the JPF 3 Evaluation version limitations reached termination of the application 5 Not enough resources to start the very first Java thread that executes main method 12 Maximum number of threads reached 13 Fail to start the JPF because the specified Java heap is too large 14 Invalid stack s
27. too many methods 156 SOAR limit reached your application defines too many interface 157 SOAR limit reached the specified type defines too many fields 158 SOAR limit reached your application defines too many types 159 SOAR limit reached your application defines too many static fields 160 SOAR limit reached the hierarchy depth of the specified type is too high 161 SOAR limit reached your application defines too many bundles 251 Error in converting IEE754 float 32 or double 64 to fixed point arithmetic number 300 Corrupted class invalid dup_x1 instruction usage 301 Corrupted class invalid dup_x2 instruction usage 302 Corrupted class invalid dup_x2 instruction usage 303 Corrupted class invalid dup2_x1 instruction usage 304 Corrupted class invalid dup2_x1 instruction usage 305 Corrupted class invalid dup2_x2 instruction usage 306 Corrupted class invalid dup2 instruction usage 307 Corrupted class invalid pop2 instruction usage 308 Corrupted class invalid swap instruction usage 309 Corrupted class finally blocks must be inlined 350 SNI incompatibility some specified type should be an array 351 SNI incompatibility some type should defined some specified field 352 SNI incompatibility the specified field is not compatible with SNI 353 SNI incompatibility the specified type must be a class 354 SNI incompatibility the specified type must defined the specified static field 355 SNI file error the data must be an integer 356
28. urs 0 maxOccurs unbounded gt lt xs element ref class gt lt xs element ref object gt lt xs element ref array gt lt xs element ref stringLiteral gt lt xs choice gt lt xs complexType gt lt xs element gt lt class element gt lt xs element name class gt lt xs complexType gt lt xs choice minOccurs 0 maxOccurs unbounded gt lt xs element ref field gt lt xs choice gt lt xs attribute name name type xs string use required gt lt xs attribute name id type xs string use required gt lt xs attribute name Superclass type xs string gt lt xs complexType gt lt xs element gt 26 STM32Java Platform Architecture STM32JavaF2 Keil uVision Reference Manual lt object element gt lt xs element name object gt lt xs complexType gt lt xs choice minOccurs 0 maxOccurs unbounded gt lt xs element ref field gt lt xs choice gt lt xs attribute name id type xs string use required gt lt xs attribute name class type xs string use required gt lt xs attribute name createdAt type xs string use optional gt lt xs attribute name createdInThread type xs string use optional gt lt xs attribute name createdInMethod type xs string gt lt xs attribute name tag type xs string use required gt lt xs complexType gt lt xs element gt lt array element gt lt xs element name arra
29. y type arrayTypewithAttribute gt lt stringLiteral element gt lt xs element name stringLiteral gt lt xs complexType gt lt xs sequence gt lt xs element minOccurs 4 maxOccurs 4 ref field gt lt xs sequence gt lt xs attribute name id type xs string use required gt lt xs attribute name class type xs string use required gt lt xs complexType gt lt xs element gt lt field element child of class object and stringLiteral gt lt xs element name field gt lt xs complexType gt lt xs attribute name name type xs string use required gt lt xs attribute name id type xs string use optional gt lt xs attribute name value type xs string use optional gt lt xs attribute name type type xs string use optional gt lt xs complexType gt lt xs element gt lt xs simpleType name arrayType gt lt xs list itemType xs integer gt lt xs simpleType gt lt complex type arrayTypewithAttribute type of array element gt lt xs complexType name arrayTypeWithAttribute gt lt xs simpleContent gt lt xs extension base arrayType gt lt xs attribute name id type xs string use required gt lt xs attribute name class type xs string use required gt lt xs attribute name createdAt type xs string use optional gt lt xs attribute name createdInThread type xs string use optional gt lt x
Download Pdf Manuals
Related Search
Related Contents
DeLOCK GX53 LED ATD Tools ATD-7024 Automobile Accessories User Manual Samsung P2050 Korisničko uputstvo Catálogo 1 ペツル 取扱説明書 グリヨン L52 Copyright © All rights reserved.
Failed to retrieve file