Microej Documentation

Total Page:16

File Type:pdf, Size:1020Kb

Microej Documentation MicroEJ Documentation MicroEJ Corp. Revision ff3ccfde Nov 27, 2020 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 Overview............................................7 2.2.2 License Manager........................................7 2.2.3 Evaluation Licenses......................................7 2.2.4 Production Licenses......................................9 2.3 MicroEJ Runtime............................................. 13 2.3.1 Language............................................ 13 2.3.2 Scheduler............................................ 13 2.3.3 Garbage Collector....................................... 14 2.3.4 Foundation Libraries...................................... 14 2.4 MicroEJ Libraries............................................ 14 2.5 MicroEJ Central Repository....................................... 15 2.6 Embedded Specification Requests................................... 15 2.7 MicroEJ Firmware............................................ 15 2.7.1 Bootable Binary with Core Services.............................. 15 2.7.2 Specification.......................................... 16 2.8 Introducing MicroEJ SDK........................................ 16 2.9 Introducing MicroEJ Studio and Virtual Devices............................ 17 2.10 Perform Online Getting Started..................................... 18 2.11 GitHub Repositories........................................... 19 2.12 System Requirements.......................................... 24 3 Application Developer Guide 25 3.1 Introduction............................................... 25 3.2 Local Workspaces and Repositories................................... 25 3.3 Standalone Application......................................... 26 3.3.1 Download and Install a MicroEJ Platform........................... 26 3.3.2 Build and Run an Application................................. 28 3.3.3 Build Output Files....................................... 33 3.3.4 MicroEJ Launch......................................... 34 3.3.5 Application Options...................................... 38 3.3.6 SOAR.............................................. 65 3.4 Sandboxed Application......................................... 66 3.4.1 Sandboxed Application Structure............................... 66 i 3.4.2 Application Publication.................................... 67 3.4.3 Shared Interfaces........................................ 67 3.5 Virtual Device.............................................. 71 3.5.1 Using a Virtual Device for Simulation............................. 71 3.5.2 Runtime Environment..................................... 71 3.6 MicroEJ Module Manager........................................ 72 3.6.1 Introduction.......................................... 72 3.6.2 Specification.......................................... 73 3.6.3 Module Project Skeleton.................................... 73 3.6.4 Module Description File.................................... 74 3.6.5 MicroEJ Module Manager Configuration........................... 74 3.6.6 Build Kit............................................. 78 3.6.7 Former MicroEJ SDK Versions................................. 78 3.7 Module Natures............................................. 80 3.7.1 Module Repository....................................... 80 3.8 MicroEJ Classpath............................................ 84 3.8.1 Application Classpath..................................... 84 3.8.2 Classpath Load Model..................................... 85 3.8.3 Classpath Elements...................................... 86 3.9 Application Resources.......................................... 89 3.9.1 Images............................................. 89 3.9.2 Fonts.............................................. 94 3.9.3 Native Language Support................................... 95 3.10 Development Tools........................................... 96 3.10.1 Testsuite with JUnit...................................... 97 3.10.2 Font Designer.......................................... 101 3.10.3 Stack Trace Reader....................................... 109 3.10.4 Code Coverage Analyzer.................................... 116 3.10.5 Heap Dumper & Heap Analyzer................................ 119 3.10.6 ELF to Map File Generator................................... 130 3.10.7 Serial to Socket Transmitter.................................. 132 3.10.8 Memory Map Analyzer..................................... 133 3.10.9 Event Tracing.......................................... 136 3.11 Advanced Tools............................................. 138 3.11.1 MicroEJ Linker......................................... 138 3.11.2 Testsuite Engine........................................ 151 4 Platform Developer Guide 155 4.1 Introduction............................................... 155 4.1.1 Scope.............................................. 155 4.1.2 Intended Audience....................................... 155 4.1.3 MicroEJ Architecture Modules Overview........................... 155 4.2 MicroEJ Platform............................................ 157 4.2.1 Process Overview........................................ 157 4.2.2 Concepts............................................ 158 4.2.3 MicroEJ Platform Creation................................... 163 4.2.4 Platform Qualification..................................... 173 4.3 MicroEJ Core Engine........................................... 174 4.3.1 Functional Description..................................... 174 4.3.2 Architecture........................................... 175 4.3.3 Capabilities........................................... 176 4.3.4 Implementation........................................ 176 4.3.5 Generic Output......................................... 179 4.3.6 Link............................................... 179 ii 4.3.7 Dependencies......................................... 180 4.3.8 Installation........................................... 180 4.3.9 Use............................................... 180 4.4 Multi-Sandbox.............................................. 181 4.4.1 Principle............................................ 181 4.4.2 Functional Description..................................... 181 4.4.3 Firmware Linker........................................ 182 4.4.4 Memory Considerations.................................... 182 4.4.5 Dependencies......................................... 182 4.4.6 Installation........................................... 182 4.4.7 Use............................................... 182 4.5 Tiny application............................................. 183 4.5.1 Principle............................................ 183 4.5.2 Installation........................................... 183 4.5.3 Limitations........................................... 183 4.6 Native Interface Mechanisms...................................... 183 4.6.1 Simple Native Interface (SNI)................................. 183 4.6.2 Shielded Plug (SP)....................................... 187 4.6.3 MicroEJ Java H......................................... 190 4.7 External Resources Loader....................................... 191 4.7.1 Principle............................................ 191 4.7.2 Functional Description..................................... 191 4.7.3 Implementations........................................ 191 4.7.4 External Resources Folder................................... 192 4.7.5 Dependencies......................................... 192 4.7.6 Installation........................................... 192 4.7.7 Use............................................... 192 4.8 Serial Communications......................................... 192 4.8.1 ECOM.............................................. 193 4.8.2 ECOM Comm.......................................... 194 4.9 Graphics User Interface......................................... 202 4.9.1 Principle............................................ 202 4.9.2 MicroUI............................................. 205 4.9.3 Static Initialization....................................... 208 4.9.4 LEDs............................................... 211 4.9.5 Inputs.............................................. 212 4.9.6 Display............................................. 214 4.9.7 Images............................................. 231 4.9.8 Fonts.............................................. 242 4.9.9 Simulation........................................... 249 4.10 Networking................................................ 252 4.10.1 Principle............................................ 252 4.10.2 Network Core Engine...................................... 252 4.10.3 SSL............................................... 253 4.11 File System................................................ 254 4.11.1 Principle............................................ 254 4.11.2 Functional Description..................................... 254 4.11.3 Dependencies......................................... 254 4.11.4 Installation..........................................
Recommended publications
  • The Origins of the Underline As Visual Representation of the Hyperlink on the Web: a Case Study in Skeuomorphism
    The Origins of the Underline as Visual Representation of the Hyperlink on the Web: A Case Study in Skeuomorphism The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Romano, John J. 2016. The Origins of the Underline as Visual Representation of the Hyperlink on the Web: A Case Study in Skeuomorphism. Master's thesis, Harvard Extension School. Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:33797379 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#LAA The Origins of the Underline as Visual Representation of the Hyperlink on the Web: A Case Study in Skeuomorphism John J Romano A Thesis in the Field of Visual Arts for the Degree of Master of Liberal Arts in Extension Studies Harvard University November 2016 Abstract This thesis investigates the process by which the underline came to be used as the default signifier of hyperlinks on the World Wide Web. Created in 1990 by Tim Berners- Lee, the web quickly became the most used hypertext system in the world, and most browsers default to indicating hyperlinks with an underline. To answer the question of why the underline was chosen over competing demarcation techniques, the thesis applies the methods of history of technology and sociology of technology. Before the invention of the web, the underline–also known as the vinculum–was used in many contexts in writing systems; collecting entities together to form a whole and ascribing additional meaning to the content.
    [Show full text]
  • The Emoji Factor: Humanizing the Emerging Law of Digital Speech
    The Emoji Factor: Humanizing the Emerging Law of Digital Speech 1 Elizabeth A. Kirley and Marilyn M. McMahon Emoji are widely perceived as a whimsical, humorous or affectionate adjunct to online communications. We are discovering, however, that they are much more: they hold a complex socio-cultural history and perform a role in social media analogous to non-verbal behaviour in offline speech. This paper suggests emoji are the seminal workings of a nuanced, rebus-type language, one serving to inject emotion, creativity, ambiguity – in other words ‘humanity’ - into computer mediated communications. That perspective challenges doctrinal and procedural requirements of our legal systems, particularly as they relate to such requisites for establishing guilt or fault as intent, foreseeability, consensus, and liability when things go awry. This paper asks: are we prepared as a society to expand constitutional protections to the casual, unmediated ‘low value’ speech of emoji? It identifies four interpretative challenges posed by emoji for the judiciary or other conflict resolution specialists, characterizing them as technical, contextual, graphic, and personal. Through a qualitative review of a sampling of cases from American and European jurisdictions, we examine emoji in criminal, tort and contract law contexts and find they are progressively recognized, not as joke or ornament, but as the first step in non-verbal digital literacy with potential evidentiary legitimacy to humanize and give contour to interpersonal communications. The paper proposes a separate space in which to shape law reform using low speech theory to identify how we envision their legal status and constitutional protection. 1 Dr. Kirley is Barrister & Solicitor in Canada and Seniour Lecturer and Chair of Technology Law at Deakin University, MelBourne Australia; Dr.
    [Show full text]
  • Super Duper Semaphore Or, As We Like to Call It
    Super Duper Semaphore Or, as we like to call it ... Flag Texting! Hello Lieutenants ... You can have a whole lot of fun with just a couple of hand flags. Even if you don’t have actual flags, you can make your own using items found around your home, like tea towels, or even two smelly old socks tied to some sticks! As long as you’re having fun ... be inventive. What’s it all about? Well, believe it or not, a great way for ships near (in range of) each other or ships wanting to communicate to the land is to use ‘Flag Semaphore’. It’s a bit like sending a text message ... but with your arms. It has been used for hundreds of years on both land and sea (from the sea, red and yellow flags are used). The word semaphore is Greek for ‘Sign-bearer’ Here’s how it works… Each letter of the alphabet has its own arm position (plus a few extras that we will cover in later ranks). Once you can remember these, you can send loads of hidden messages to your friends and family. Check these out ... ABCDEFG HIJKLM NOPQR STUVWX YZ How cool is that? To send a message the ‘sender’ gets the attention of the ‘receiver’ by waving their arms (and flags) by their side in an up and down motion (imagine flapping your arms like a bird). Don’t worry if you make mistakes or the receiver translates your signals into silly words - we’ve had lots of fun practicing this, and it will take time to become a Super Signaller! Are you ready to send your message? One letter at a time? Remember to pause between each letter and a bit longer between words to accurately get your message through.
    [Show full text]
  • Windows Rootkit Analysis Report
    Windows Rootkit Analysis Report HBGary Contract No: NBCHC08004 SBIR Data Rights November 2008 Page 1 Table of Contents Introduction ................................................................................................................................... 4 Clean Monitoring Tool Logs......................................................................................................... 5 Clean System PSList ................................................................................................................. 5 Clean System Process Explorer ................................................................................................ 6 Vanquish......................................................................................................................................... 7 PSList Vanquish ........................................................................................................................ 7 Vanquish Process Monitor (Process Start – Exit) .................................................................. 8 Process Explorer Thread Stack Vanquish .............................................................................. 8 Process Monitor Events Vanquish ........................................................................................... 9 Vanquish Log File (Created by rootkit, placed in root directory “C:”) ............................. 21 Process Explorer Memory Strings Vanquish ........................................................................ 23 NTIllusion....................................................................................................................................
    [Show full text]
  • 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
    [Show full text]
  • An Historical and Analytical Study of the Tally, The
    Copyright by JttUa Slisabobh Adkina 1956 AN HISTORICAL AND ANALYTICAL STUDY OF THE TALLY, THE KNOTTED CORD, THE FINGERS, AND THE ABACUS DISSERTATION Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of The Ohio State U n iv e rsity Sy JULIA ELIZABETH ADKINS, A. B ., M. A. The Ohio State University 1936 Approved by: A dviser Department of Educati ACiCNOWLEDGMENT The author is deeply indebted to Professor Nathan lasar for his inspiration, guidance, and patience during the writing of this dissertation. IX lâBIfi OF CONTENTS GHAFTSl Fàm 1. INTRWCTION................................................................................... 1 Pl^iflËÜaaxy Statcum t ......................................................... 1 âtatamant of the Problem ............ 2 Sqportanee of the Problem ............................................. 3 Scope and Idmitationa of the S tu d y ............................................. 5 The Method o f the S tu d y ..................................................................... 5 BerLeir o f th e L i t e r a t u r e ............................................................ 6 Outline of the Remainder of the Study. ....................... 11 II. THE TâLLI .............................................. .................................................. 14 Definition and Etymology of "Tally? *. ...... .... 14 Types of T a llies .................................................................................. 16 The Notch T a lly ...............................
    [Show full text]
  • Captain's Code – Semaphore Flags
    Captain’s Code – Semaphore Flags The semaphore flags held by the sailors in the Captain’s Code exhibit should spell C-O-O-K. The name ‘semaphore’ comes from the Latin sema (sign) and phoros (bearing). Semaphore is a method of visual signalling, usually by means of flags or lights. They are used in railways and between foreign navy ships to communicate messages over long distances. The semaphore alphabet system is based on waving of a pair of hand-held flags in a particular pattern. The flags are held, arms extended, and each letter is made by a different position of the arms (see Semaphore flag positions at the end of these notes). Semaphore flag Semaphore signalling is usually carried out using flags because the signals are more distinct and can be read further away. However it can be done with the arms alone. Also, shore stations and big ships can be equipped with mechanical semaphores, which consist of a post with oscillating arms. Before the invention of the telegraph, semaphore signalling from high towers was used to transmit messages between distant points. This was established in France in the 1700’s with England following immediately after. The system consisted of large mechanical semaphores located in towers especially constructed for the purpose of semaphore signalling. They were located on a high spot on the terrain, usually about 25 km apart. An operator would send a message by manipulating the controls of the semaphore. The operator on the next hill over would copy the message and relay it by semaphore to the next operator on the next hill.
    [Show full text]
  • Dpapanikolaou Ng07.Pdf
    NG07.indb 44 7/30/15 9:23 PM Choreographies of Information The Architectural Internet of the Eighteenth Century’s Optical Telegraphy Dimitris Papanikolaou Today, with the dominance of digital information and to communicate the news of Troy’s fall to Mycenae. In communications technologies (ICTs), information is 150 BCE, Greek historian Polybius described a system of mostly perceived as digital bits of electric pulses, while sending pre-encoded messages with torches combina- the Internet is seen as a gigantic network of cables, rout- tions.01 And in 1453, Nicolo Barbaro mentioned in his ers, and data centers that interconnects cities and con- diary how Constantinople’s bell-tower network alerted tinents. But few know that for a brief period in history, citizens in real time to the tragic progress of the siege before electricity was utilized and information theory for- by the Ottomans.02 It wasn’t until the mid-eighteenth malized, a mechanical version of what we call “Internet” century, however, that telecommunications developed connected cities across rural areas and landscapes in into vast territorial networks that used visual languages Europe, the United States, and Australia, communicating and control protocols to disassemble any message into 045 information by transforming a rather peculiar medium: discrete signs, route them wirelessly through relay sta- geometric architectural form. tions, reassemble them at the destination, and refor- mulate the message by mapping them into words and The Origins of Territorial Intelligence phrases through lookup tables. And all of this was done Telecommunication was not a novelty in the eighteenth in unprecedented speeds. Two inventions made it pos- century.
    [Show full text]
  • Communicating Empire: Gauging Telegraphy’S Impact on Ceylon’S Nineteenth- Century Colonial Government Administration
    COMMUNICATING EMPIRE: GAUGING TELEGRAPHY’S IMPACT ON CEYLON’S NINETEENTH- CENTURY COLONIAL GOVERNMENT ADMINISTRATION Inauguraldissertation zur Erlangung der Doktorwürde der Philosophischen Fakultät der Ruprecht-Karls-Universität Heidelberg vorgelegt von Paul Fletcher Erstgutachter: Dr. PD Roland Wenzlhuemer Zweitgutachter: Prof. Dr. Madeleine Herren-Oesch eingereicht am: 19.09.2012 ABSTRACT For long, historians have considered the telegraph as a tool of power, one that replaced the colonial government’s a posteriori structures of control with a preventive system of authority. They have suggested that this revolution empowered colonial governments, making them more effective in their strategies of communication and rule. In this dissertation, I test these assumptions and analyze the use of telegraphic communication by Ceylon’s colonial government during the second half of the nineteenth-century; to determine not only the impact of the telegraph on political decision-making but also how the telegraph and politics became embedded together, impacting on colonial government and its decision-making and on everyday administrative processes. I examine telegraphic messages alongside other forms of correspondence, such as letters and memos, to gauge the extent to which the telegraph was used to communicate information between London and Ceylon, and the role that the telegraph played locally, within Ceylon, between the Governor General and the island’s regional officials. I argue that, contrary to conventional ideas, the telegraph did not transform colonial government practices. Rather, the medium became entrenched in a multi-layered system of communication, forming one part of a web of colonial correspondence tactics. While its role was purposeful, its importance and capacities were nevertheless circumscribed and limited.
    [Show full text]
  • Semaphore Worksheet
    SEMAPHORE WORKSHEET Semaphore History: Flag semaphore is a system for conveying information at a distance by means of visual signals with handheld flags, rods, disks, paddles, or occasionally bare or Dùng Morse trong sinh hoạt Phong Trào gloved hands invented by a Frenchman, Claude Chappe in 1793. - Trong sinh hoạt mật mã Semaphore được dùng liên Information is encoded by the position of the flags; it is read when the flag is in a lạc khi ở xa tầm tiếng nói; đặc biệt trong các Hành fixed position. Different letters are represented by holding flags or lights Trình Đức Tin trại. outstretched in different positions around a circle. Prior to 1793, Chappe had - Ðặc điểm của Semaphore là để luyện tinh thần đồng experimented with a number of telegraph designs along with his brother, but đội; cùng học, cùng chơi, cùng truyền tin. these proved less than successful. The semaphore telegraph that Chappe designed consisted of a large pivoted horizontal beam, with two smaller bars attached at the ends, looking rather like a person with outstretched hands holding signal flags. The position of the horizontal beam could be altered, as well as the angle of the indicator bars at the ends. Chappe had developed the semaphore system to be used in the French revolution, to transmit messages between Paris and Lille, which was near the war front. In August 1794, Chappe's semaphore system delivered a message to Paris of the capture of Conde-sur-l'Escaut from the Austrians, in less than an hour. This success led to more semaphore telegraph lines being built, radiating in a star pattern from Paris.
    [Show full text]
  • James Grimmelmann Associate Professor of Law New York Law School
    INTERNET LAW: CASES AND PROBLEMS James Grimmelmann Associate Professor of Law New York Law School Ver. 1.0 © James Grimmelmann ! www. semaphorepress.com For my parents. Internet Law: Cases and Problems James Grimmelmann Copyright and Your Rights: The author retains the copyright in this book. By downloading a copy of this book from the Semaphore Press website, you have made an authorized copy of the book from the website for your personal use. If you lose it, or your computer crashes or is stolen, don't worry. Come back to the Semaphore Press website and download a replacement copy, and don't worry about having to pay again. Just to be clear, Semaphore Press and the author of this casebook are not granting you permission to reproduce the material and books available on our website except to the extent needed for your personal use. We are not granting you permission to distribute copies either. We ask that you not resell or give away your copy. Please direct people who are inter- ested in obtaining a copy to the Semaphore Press website, www.semaphorepress.com, where they can download their own copies. The resale market in the traditional casebook publishing world is part of what drives casebook prices up to $150 or more. When a pub- lisher prices a book at $150, it is factoring in the competition and lost opportunities that the resold books embodyfor it. Things are different at Semaphore Press: Because anyone can get his or her own copy of a Semaphore Press book at a reasonable price, we ask that you help us keep legal casebook materials available at reasonable prices by directing anyone interested in this book to our website.
    [Show full text]
  • Semaphores and Monitors
    Project 1 Due Thursday 10/20 LLeecctuturree 66 ((ccoonnt.)t.):: SSeemmaapphhoorreess aanndd MMoonniitotorrss CSE 120: Principles of Operating Systems Alex C. Snoeren HHiigghheerr--LLeevveell SSyynncchhrroonniizzaatitioonn We looked at using locks to provide mutual exclusion Locks work, but they have some drawbacks when critical sections are long ◆ Spinlocks – inefficient ◆ Disabling interrupts – can miss or delay important events Instead, we want synchronization mechanisms that ◆ Block waiters ◆ Leave interrupts enabled inside the critical section Look at two common high-level mechanisms ◆ Semaphores: binary (mutex) and counting ◆ Monitors: mutexes and condition variables Use them to solve common synchronization problems 2 CSE 120 – Lecture 6c SSeemmaapphhoorreess Semaphores are another data structure that provides mutual exclusion to critical sections ◆ Block waiters, interrupts enabled within CS ◆ Described by Dijkstra in THE system in 1968 Semaphores can also be used as atomic counters ◆ More later Semaphores support two operations: ◆ wait(semaphore): decrement, block until semaphore is open » Also P(), after the Dutch word for test, or down() ◆ signal(semaphore): increment, allow another thread to enter » Also V() after the Dutch word for increment, or up() 3 CSE 120 – Lecture 6c BBlloocckkiinngg iinn SSeemmaapphhoorreess Associated with each semaphore is a queue of waiting processes When wait() is called by a thread: ◆ If semaphore is open, thread continues ◆ If semaphore is closed, thread blocks on queue Then signal()
    [Show full text]