Microej Documentation

Microej Documentation

MicroEJ Documentation MicroEJ Corp. Revision d6b4dfe4 Feb 24, 2021 Copyright 2008-2020, MicroEJ Corp. Content in this space is free for read and redistribute. Except if otherwise stated, modification is subject to MicroEJ Corp prior approval. MicroEJ is a trademark of MicroEJ Corp. All other trademarks and copyrights are the property of their respective owners. CONTENTS 1 MicroEJ Glossary 2 2 Overview 4 2.1 MicroEJ Editions.............................................4 2.1.1 Introduction..........................................4 2.1.2 Determine the MicroEJ Studio/SDK Version..........................5 2.2 Licenses.................................................7 2.2.1 License Manager Overview...................................7 2.2.2 Evaluation Licenses......................................7 2.2.3 Production Licenses...................................... 10 2.3 MicroEJ Runtime............................................. 14 2.3.1 Language............................................ 14 2.3.2 Scheduler............................................ 14 2.3.3 Garbage Collector....................................... 14 2.3.4 Foundation Libraries...................................... 14 2.4 MicroEJ Libraries............................................ 15 2.5 MicroEJ Central Repository....................................... 16 2.6 Embedded Specification Requests................................... 16 2.7 MicroEJ Firmware............................................ 16 2.7.1 Bootable Binary with Core Services.............................. 16 2.7.2 Specification.......................................... 17 2.8 Introducing MicroEJ SDK........................................ 17 2.9 Introducing MicroEJ Studio and Virtual Devices............................ 18 2.10 Perform Online Getting Started..................................... 19 2.11 GitHub Repositories........................................... 20 2.12 System Requirements.......................................... 25 2.13 Get Support............................................... 25 3 Application Developer Guide 26 3.1 Introduction............................................... 26 3.2 Local Workspaces and Repositories................................... 26 3.3 Standalone Application......................................... 27 3.3.1 MicroEJ Platform Import.................................... 27 3.3.2 Build and Run an Application................................. 30 3.3.3 Build Output Files....................................... 35 3.3.4 MicroEJ Launch......................................... 36 3.3.5 Application Options...................................... 40 3.3.6 SOAR.............................................. 67 3.4 Sandboxed Application......................................... 68 3.4.1 Sandboxed Application Structure............................... 68 i 3.4.2 Application Publication.................................... 69 3.4.3 Shared Interfaces........................................ 69 3.5 Virtual Device.............................................. 73 3.5.1 Using a Virtual Device for Simulation............................. 73 3.5.2 Runtime Environment..................................... 73 3.6 MicroEJ Module Manager........................................ 74 3.6.1 Introduction.......................................... 74 3.6.2 Specification.......................................... 75 3.6.3 Module Project Skeleton.................................... 75 3.6.4 Module Description File.................................... 76 3.6.5 MicroEJ Module Manager Configuration........................... 78 3.6.6 Module Build.......................................... 82 3.6.7 Build Kit............................................. 83 3.6.8 Former MicroEJ SDK Versions................................. 83 3.7 Module Natures............................................. 85 3.7.1 Module Repository....................................... 85 3.8 MicroEJ Classpath............................................ 89 3.8.1 Application Classpath..................................... 89 3.8.2 Classpath Load Model..................................... 90 3.8.3 Classpath Elements...................................... 91 3.9 Application Resources.......................................... 94 3.9.1 Images............................................. 94 3.9.2 Fonts.............................................. 95 3.9.3 Native Language Support................................... 96 3.10 Development Tools........................................... 97 3.10.1 Test Suite with JUnit...................................... 98 3.10.2 Stack Trace Reader....................................... 102 3.10.3 Code Coverage Analyzer.................................... 115 3.10.4 Heap Dumper & Heap Analyzer................................ 118 3.10.5 ELF to Map File Generator................................... 129 3.10.6 Serial to Socket Transmitter.................................. 131 3.10.7 Memory Map Analyzer..................................... 132 3.10.8 Event Tracing.......................................... 135 3.10.9 Null Analysis.......................................... 137 3.11 Advanced Tools............................................. 144 3.11.1 MicroEJ Linker......................................... 144 3.11.2 Test Suite Engine........................................ 156 3.11.3 MicroEJ Test Suite Engine................................... 156 3.12 Graphical User Interface......................................... 162 3.12.1 MicroUI............................................. 163 3.12.2 MWT (Micro Widget Toolkit).................................. 193 3.12.3 Widgets and Examples..................................... 209 3.13 Limitations................................................ 211 4 Platform Developer Guide 213 4.1 Introduction............................................... 213 4.1.1 Scope.............................................. 213 4.1.2 Intended Audience....................................... 213 4.2 MicroEJ Platform............................................ 213 4.2.1 Modules Overview....................................... 213 4.2.2 Process Overview........................................ 215 4.2.3 Concepts............................................ 216 4.2.4 MicroEJ Platform Creation................................... 221 4.2.5 Platform Qualification..................................... 233 ii 4.3 MicroEJ Core Engine........................................... 234 4.3.1 Functional Description..................................... 234 4.3.2 Architecture........................................... 235 4.3.3 Capabilities........................................... 236 4.3.4 Implementation........................................ 236 4.3.5 Generic Output......................................... 239 4.3.6 Link............................................... 239 4.3.7 Dependencies......................................... 240 4.3.8 Installation........................................... 240 4.3.9 Use............................................... 240 4.4 Multi-Sandbox.............................................. 241 4.4.1 Principle............................................ 241 4.4.2 Functional Description..................................... 241 4.4.3 Firmware Linker........................................ 242 4.4.4 Memory Considerations.................................... 242 4.4.5 Dependencies......................................... 242 4.4.6 Installation........................................... 242 4.4.7 Use............................................... 242 4.5 Tiny application............................................. 243 4.5.1 Principle............................................ 243 4.5.2 Installation........................................... 243 4.5.3 Limitations........................................... 243 4.6 Native Interface Mechanisms...................................... 243 4.6.1 Simple Native Interface (SNI)................................. 243 4.6.2 Shielded Plug (SP)....................................... 247 4.6.3 MicroEJ Java H......................................... 250 4.7 External Resources Loader....................................... 251 4.7.1 Principle............................................ 251 4.7.2 Functional Description..................................... 251 4.7.3 Implementations........................................ 251 4.7.4 External Resources Folder................................... 252 4.7.5 Dependencies......................................... 252 4.7.6 Installation........................................... 252 4.7.7 Use............................................... 252 4.8 Serial Communications......................................... 252 4.8.1 ECOM.............................................. 253 4.8.2 ECOM Comm.......................................... 254 4.9 Graphical User Interface......................................... 262 4.9.1 Principle............................................ 262 4.9.2 MicroUI............................................. 263 4.9.3 Static Initialization....................................... 266 4.9.4 Low Level API.......................................... 270 4.9.5 LED............................................... 271 4.9.6 Input.............................................. 273 4.9.7 Display............................................. 277 4.9.8 Images............................................. 299 4.9.9 Fonts.............................................. 317 4.9.10 Simulation........................................... 324 4.10

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    500 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us