STM32JAVA. Embedded Java Solutions for STM32
|
|
- Howard Ford
- 8 years ago
- Views:
Transcription
1 STM32JAVA Embedded Java Solutions for STM32
2 What is STM32Java? Solution to develop and to deploy software applications on STM32F0 to STM32F7 microcontrollers using Java Help to reduce the total cost of ownership of embedded system design (development, BOM, maintenance and updates) This solution is designed in partnership with:» STMicroelectronics: STM32 manufacturer» IS2T: Software editor (provider of the MicroEJ software platform)
3 MicroEJ Overview
4 MicroEJ MicroEJ SDK lets you use Java for embedded system development Goals of this presentation» Discover MicroEJ
5 Agenda Embedded Java» Why using Java for embedded system development? MicroEJ SDK» What is MicroEJ? Java platforms» What is the concept of software platform? Execution» How do I execute my Java application? Interactions with the native world» How can C and Java communicate? GUI» How to design a rich graphical application?
6 Embedded Java
7 Software Complexity 32-bits MCU with important memory Increasing complexity with GUI and IoT
8 Java Modern object-oriented language» Loose coupling» Managing complexity Portability Memory management» Garbage collector» Ideal for event driven systems Widely used
9 Java Platform Concept /** * Java Copyright IS2T. All rights reserved. * For demonstration purpose only. * IS2T PROPRIETARY. Use is subject to license terms. */ package com.is2t.appnotes.microui.mvc; import java.io.ioexception; import ej.microui.eventgenerator; import ej.microui.io.display; import ej.microui.io.flyingimage; import ej.microui.io.image; import ej.microui.io.pointer; Java language /** * Shows three views (bar, pie, text) that represents the same data model (a percentage value). * It is possible to resize the Java technology RTOS JVM Libs RTOS JVM Libs RTOS JVM Libs Java Virtual Machines (JVM - software processors) Microprocessors IS2T 2012
10 Software Portability Portability is needed when» You want to use the same code for several projects» Your hardware platform becomes obsolete» You target several hardware platforms with the same application When switching to a new hardware platform» You only change the hardware specific parts» You re-create an isofunctional computing platform» Your software runs the same on this new platform Hardware abstracted software is the key point for portability
11 MicroEJ SDK
12 MicroEJ SDK Create platforms and software running on these platforms MicroEJ SDK provides» MicroEJ IDE, based on Eclipse» Tools to build platforms» Tools for application development like code coverage or simulation» Libraries to code with Java as high-level language» Native libraries and mechanism to allow developers to use C and to create interactions between C and Java features
13 MicroEJ IDE
14 Supported architectures Available» ARM Cortex-M» Cortex-A» Linux» Android» ios Additional architectures on demand
15 Optimized JVMs for Embedded Systems 32/64-bit CPU Optimized implementation 32-bit MCU/MPU Java Code quality Productivity Reliability Portability Scalability Maintainability Code density Java High speed execution Tiny footprint Interface C/asm Low power,
16 Java Runtime Compiler version» Java 7 Runtime library» EDC (Embedded Device Configuration)» Close to Java ME MicroJvm virtual machine
17 MicroEJ Libraries Available libraries» EDC» B-ON» MicroUI» MWT» NLS» ECOM-COMM» Shielded Plug» SNI». Specifications by ESR Consortium»
18 Example Washing machine Hardware» STM32F2x (Cortex-M3) 120MHz» 16-bit bpp QVGA LCD» Touchscreen Libraries» B-ON, CLDC, MicroUI, MWT, SNI Boot time < 2 ms Application M em ory Requirem ents Flash 422KB RAM 42KB Virtual Machine (runtime & GC) 28KB Virtual Machine 1KB Libraries (graphics, com, float ) 132KB Native Stack 28KB Graphical resources (images) 228KB Application 34KB Application 13KB
19 Example Washing machine Hardware» 180MHz» 32-bit col. WQVGA LCD» Touchscreen Performance» Refresh rate = 50fps» CPU load = 24 %» Boot time < 2ms Application M em ory Requirem ents FLASH 161KB RAM 11KB Java engine & Smart RAM optimizer 28KB Java engine 1KB Firmware (STUI libs, BSP, ) 114KB C Stack 5KB Graphical resources (images, fonts) 7KB Application 12KB Application 5KB
20 Java Platforms
21 Java Platforms JPF = Java PlatForm Java is used to code the application C (or any other native language) is used along with MicroEJ libraries, drivers and operating system to construct the platform Decoupling software from hardware
22 Application Point of View Application sees the JPF as a framework» It offers several libraries» It executes the application Abstraction barrier hiding hardware details» Application is agnostic to hardware specifications» Application uses high-level functions given by the platform APIs» JPF translates high-level functionalities to level-low operations
23 Abstraction Example Strong coupling with hardware particularity» Application waits for a push button pressed event to start a motor» What if the order is now sent through a serial link? Bad abstraction! Software not aware of hardware details» Application should be waiting for a start motor even» No matter how the order is given, semantic is not changed Good abstraction!
24 Target Specific A JPF targets» A specific microcontroller architecture since one JVM is made for one microcontroller specific instruction set» A specific board and how peripherals are connected to the microcontroller A JPF also depends on the compiler» Keil s ARMCC» GCC» IAR Embedded Workbench»
25 Dual platforms : SimJPF & EmbJPF JPF is composed of two platforms» SimJPF : for simulation (on workstation)» EmbJPF : for embedded execution (on microcontroller) Parallel update» You should update both when adding a new feature» Create mock objects to simulate hardware features
26 Java Platform Content A JPF includes» MicroJvm Java Virtual Machine» Simulator» Java and native libraries» Drivers» Operating system» Native code provided by developers» Mock objects»
27 Drag Emb Drop TM
28 Benefits Keep hardware and software design cycles independent Application prototype ahead of hardware development Simplify design, tests, evolutions Reduce development time
29 Waterfall Mkt. specs HW ready 1 st integration SW ready Release Marketing Human factors Graphics Hardware dev. Only few changes are possible Software dev. HW/SW integration IS2T 2013 time
30 Agility Mkt. specs HW ready JPF ready Release Marketing Human factors & Graphics Software dev. (continuous integration and iterative deliveries) Simulated Java Platform Hardware dev. Embedded Java Platform HW/JPF test Changes are possible anytime IS2T 2013
31 Execution
32 Execution Flows
33 Launch Configurations Launch Configurations» Eclipse provides the concept for launch configurations» A launch configuration tells what is executed, what is the runtime environment, what are the execution options» Available through the Run menu A Launch Configuration can be executed as» A Run Configuration to simply run an application» A Debug Configuration to debug this application External Tool Configuration to run an external program
34 Launch Configurations MicroEJ provides new launch configuration types» MicroEJ Application» MicroEJ Tool
35 MicroEJ Application A MicroEJ Application configuration lets you» Select the kind of execution (SimJPF or EmbJPF)» Configure libraries and memory usage
36 Execution Flow on SimJPF Simulator is launched on the workstation Java application is executed Simulator uses mock objects to simulate hardware features
37 SimJPF Simulator engine is a Java SE application» Works on Windows, Linux and OS X Same byte code is executed by both SimJPF and EmbJPF Features» Debugging inside Eclipse / MicroEJ (JDWP)» Heap dumping for analysis» Code coverage» Partial simulation of the EmbJPF characteristics
38 Execution Flow on EmbJPF General case» Java application is compiled and link with libraries» An object file is generated» This file is linked with drivers and operating system to produce executable files (done by a 3 rd party tool) Kickstart platforms are a special case» They include precompiled driver and OS» They have special linker scripts» MicroEJ create executable files
39 MicroEJ and C IDE MicroEJ provides» Java application as an object file» Java runtime environment as library files» Header files with types and functions provided by these libraries C IDE provides» Drivers» Operating system» LLAPI implementation C IDE compiles C code, link application and deploy binary file
40 C IDE Configuration Modify include path» MicroEJ header files must be on the path Modify linker configuration» MicroEJ libraries and Java application object file must be used during link edition Start Java from your C program» sni.h provides functions to initialize and start the JVM
41 Low Level API Generic programing and implementation details» JVM and libraries integrate everything that is generic» But some functions cannot be generic since they are specific to the hardware target along with BSP» Platform developers must implement these functions in C Several modules come with Low Level APIs (LLAPIs) to implement» Runtime (LLMJVM)» Display (LLDISPLAY)» Input (LLINPUT)» LED (LLLED)» ECOM-COMM (LLCOMM)»
42 Executable Generation
43 Interactions with Native World
44 Interactions with Native World Not everything can be done in Java» Access to hardware peripherals (registers) Not everything should be done in Java» Intense computation, especially with matrices» Useless to translate legacy code to a new language overall application is in fact composed of Java and C need for interactions between Java and native worlds
45 Interactions with Native World You may need to create your own API to access your specific hardware peripheral» SNI / HIL to call a C function from a Java method You may need to share data between Java and C» Shielded Plug to create a database to exchange data» B-ON s Immortal Objects to share segments of memory Java application should be hardware agnostic» Design high-level APIs» Find the good abstraction level
46 SNI
47 SNI Java Side SNI = Simple Native Interface Java offers the native keyword» Declares a method which is not implemented in Java» Must be static (visibility doesn t matter)» Example: public static native void log(int id); SNI connects a Java native method to a C function» Defines a naming convention to create a symbol» Defines the calling convention at runtime
48 SNI Native Side Implementation» Developers write the corresponding functions» They name these functions after the ESR naming convention» sni.h provides compatible type definitions Link edition» Java object file generated by MicroEJ contains unresolved symbols» 3 rd party IDE links the Java object file with the C functions» All dependencies are revolved during link edition hence no surprise at runtime
49 Naming Convention package GPIO; public class Main { public static native void toggle(); } public static void main(string[] a) throws InterruptedException { while(true){ toggle(); Thread.sleep(10); } } #include <sni.h> #include gpio.h void Java_GPIO_Main_toggle(){ GPIOE->ODR ^= GPIO_Pin_2 ; }
50 Flow Immortals Java methods C functions Call C Java heap C heap Return to Java T I M E
51 Java threads Green Thread Architecture 1x native task (Java) Native tasks (C/ASM) Shielded Plug (SP) Simple Native Interface (SNI) SP SNI RTOS SP SNI GUI hardware LCD, buttons, Applicative hardware Sensors, actuators, IS2T 2013
52 SNI-GT SNI and SNI-GT Advantages» Easy integration with OS» Can be used without any OS» Clear separation between native and Java Restrictions» Not possible to call Java from C» Java objects cannot be used as parameters or return values» Calling a native method pauses the VM scheduler
53 Immortals
54 Immortal Objects B-ON library Immortal objects» Live in a separate heap (immortal heap)» Are not touched by garbage collector» Have fixed addresses so they can be shared with the native world
55 Immortal Object Creation Generally, objects are created and then turned into immortal objects» int[] array = new int[10]; Immortals.setImmortal(array); Immortals.isImmortal(array); Objects can be created directly in the immortal heap» public static void run(runnable runnable) Impossible to free memory» OutOfMemoryErrors can be thrown
56 Share with Native World package com.corp.examples; public class Hello { static int[] array = (int[])immortals.setimmortal(new int[50]); public static native int getdata(int[] array); } public static void main(string[] args){ int nb = getdata(array); } #include <sni.h> jint Java_com_corp_examples_Hello_getData(jint* array){ array[0] = 0xBEEF; return 1 ; }
57 Flow Immortals Java methods C functions Java heap C heap T I M E
58 Shielded Plug
59 Shielded Plug Shielded Plug (often shorten as SP )» Database to exchange data» Publish / subscribe model
60 Shielded Plug Purpose Isolate processes» Well-defined segregation between producers and consumers» Processes run independently with no interactions except data exchanges» Producers and consumers are not necessarily aware of each others Data exchange» Database is made to share data between several software components» It is neither a one-to-one relation nor a C-to-Java relation only» Can share data from Java to C, from Java to Java, from C to C
61 GUI
62 Core of the Framework MicroUI is the core the UI framework» ESR002 MicroUI module provides a Java library that gives access to every feature MicroUI relies on stacks» MicroUI module on its own is just a Java library that offers APIs» Additional modules translate these features to simulated or hardware functions
63 Stacks EmbJPF relies on several stacks SimJPF relies on the Front Panel, a mock object for these stacks
64 MicroUI vs. MWT MicroUI (Micro User Interface) = Mechanisms for GUI» Hardware abstraction (screens, joysticks, buttons)» Display and event management management» Low level library MWT (Micro Widget Toolkit) = concepts for widgets on top of MicroUI» High level library» Developers will generally code their applications with MWT
65 Layers
66 Widgets Widget = Window + Gadget Widgets are graphical components of applications» Interact with user : display data, receive inputs» Should be reusable Renderable Widget
67 Renderers Widgets are not responsible for their rendering» They carry only graphical data» They contains the logic to interact with the user Model and Controller of MVC pattern Renderers are responsible for rendering widgets graphically View of MVC pattern
68 Loose Coupling Widget Controller Application & user events Application Data Model Widget Data Model Data related to the application Data related to representation Widget Renderers Widget Renderers Themes
69 Composite Widget A composite widget is a widget that contains widgets Allow to lay out widgets Create complex hierarchized structures Widget 1 Widget 2 Composite Widget 3
70 Widget Hierarchy Display Desktop Panel Composite Widget
71 Examples
72 Any Questions?
Java Embedded Applications
TM a One-Stop Shop for Java Embedded Applications GeeseWare offer brings Java in your constrained embedded systems. You develop and simulate your Java application on PC, and enjoy a seamless hardware validation.
More informationFachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
More informationThe BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware
More informationDevelopment of Java ME
Y39PDA Development of Java ME application České vysoké učení technické v Praze Fakulta Elektrotechnická Content What is Java ME Low Level a High Level API What is JSR LBS Java ME app. life-cycle 2/29 Is
More informationLecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
More informationPractical Performance Understanding the Performance of Your Application
Neil Masson IBM Java Service Technical Lead 25 th September 2012 Practical Performance Understanding the Performance of Your Application 1 WebSphere User Group: Practical Performance Understand the Performance
More informationThe Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311
The Java Virtual Machine and Mobile Devices John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture
More informationEffective Java Programming. efficient software development
Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of
More informationProgramación de Sistemas Empotrados y Móviles (PSEM)
Introduction to Windows Embedded Programación de Sistemas Empotrados y Móviles (PSEM) Marco A. Peña marcoa@ac.upc.edu Table of contents Windows XP Embedded vs. Windows CE Windows XP Embedded Windows CE
More informationJava Embedded Applications Development and Manufacturing
A One Stop Shop for Java Embedded Applications Development and Manufacturing Gérard BOUVET Sales Manager 1 Table of Content Embedded Market trends and applications Java versus Linux/C/C++ 2011 Embedded
More informationImplementação. Interfaces Pessoa Máquina 2010/11. 2009-11 Salvador Abreu baseado em material Alan Dix. Thursday, June 2, 2011
Implementação Interfaces Pessoa Máquina 2010/11 2009-11 baseado em material Alan Dix 1 Windowing systems Architecture Layers Higher level Tool UI Toolkit (Widgets) Window System OS Application Hardware
More informationApplication Note: AN00141 xcore-xa - Application Development
Application Note: AN00141 xcore-xa - Application Development This application note shows how to create a simple example which targets the XMOS xcore-xa device and demonstrates how to build and run this
More informationMobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
More informationSTLinux Software development environment
STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer
More informationEmbedded Software development Process and Tools:
Embedded Software development Process and Tools: Lesson-2 Integrated Development Environment (IDE) 1 1. IDE 2 Consists of Simulators editors, compilers, assemblers, etc., IDE 3 emulators logic analyzers
More informationSystem Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
More informationTopics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
More informationChapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.
Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce
More informationCopyright 2014, Oracle and/or its affiliates. All rights reserved.
1 Java Micro Edition (ME) 8: Bringing Java to the Internet of Things Robert Clark Senior Software Development Director Safe Harbor Statement The following is intended to outline our general product direction.
More informationSelection Criteria for ZigBee Development Kits
Selection Criteria for ZigBee Development Kits This article gives an overview about different considerations, when it comes to prioritizing ZigBee Development Kits, supplied by different vendors. Before
More informationDigitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation
More informationAn Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationComplete Integrated Development Platform. 2013 Copyright Atmel Corporation
Complete Integrated Development Platform 2013 Copyright Atmel Corporation MCU Developer s Challenge 80% increase in SW in next MCU project Top Engineering Concern: Hitting Schedules More complex end user
More information10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition
10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can
More informationReminders. Lab opens from today. Many students want to use the extra I/O pins on
Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students
More informationKURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014
KURA M2M/IoT Gateway reducing the distance between embedded and enterprise technologies Tiziano Modotti, October 28 th, 2014 IoT Architecture @ M2M/IoT Integration Platform on Cloud Business Applications
More informationOpen Source building blocks for the Internet of Things. Benjamin Cabé JFokus 2013
Open Source building blocks for the Internet of Things Benjamin Cabé JFokus 2013 Who I am Benjamin Cabé Open Source M2M Evangelist at Sierra Wireless Long-time Eclipse lover M2M? IoT? Technology that supports
More informationEmbedded Component Based Programming with DAVE 3
Embedded Component Based Programming with DAVE 3 By Mike Copeland, Infineon Technologies Introduction Infineon recently introduced the XMC4000 family of ARM Cortex -M4F processor-based MCUs for industrial
More informationQ N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights
More informationKeys To Developing an Embedded UA Server
Keys To Developing an Embedded UA Server Liam Power, Embedded OPC UA Subject Matter Expert Darek Kominek, P.Eng, MatrikonOPC Marketing Manager Edmonton, Alberta, Canada - 2013 Executive Summary Strong
More informationCSC230 Getting Starting in C. Tyler Bletsch
CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly
More informationEnhanced Project Management for Embedded C/C++ Programming using Software Components
Enhanced Project Management for Embedded C/C++ Programming using Software Components Evgueni Driouk Principal Software Engineer MCU Development Tools 1 Outline Introduction Challenges of embedded software
More informationBuilding Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
More informationObjectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
More informationBoard also Supports MicroBridge
This product is ATmega2560 based Freeduino-Mega with USB Host Interface to Communicate with Android Powered Devices* like Android Phone or Tab using Android Open Accessory API and Development Kit (ADK)
More informationUsing the TASKING Software Platform for AURIX
Using the TASKING Software Platform for AURIX MA160-869 (v1.0rb3) June 19, 2015 Copyright 2015 Altium BV. All rights reserved. You are permitted to print this document provided that (1) the use of such
More informationJonathan Worthington Scarborough Linux User Group
Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.
More informationJava VM monitoring and the Health Center API. William Smith will.smith@uk.ibm.com
Java VM monitoring and the Health Center API William Smith will.smith@uk.ibm.com Health Center overview What problem am I solving? What is my JVM doing? Is everything OK? Why is my application running
More informationAlcatel-Lucent IMS Application Server
September Alain Grignac, Gérard Tixier Application BD/ CTO Office History 1999/2000/2001 Java middleware initiated as basis for a high-performances WAP Gateway. First commercial deployments 2002/2003/2004
More informationMedical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008
Medical Device Design: Shorten Prototype and Deployment Time with NI Tools NI Technical Symposium 2008 FDA Development Cycle From Total Product Life Cycle by David W. Fiegal, M.D., M.P.H. FDA CDRH Amazon.com
More informationVELOCITY LAB TM Embedded Development Ecosystem
VELOCITY LAB TM Embedded Development Ecosystem 0C05B Renesas Electronics America Inc. Renesas Technology & Solution Portfolio 2 Microcontroller and Microprocessor Line-up 2010 2013 32-bit 8/16-bit 1200
More informationUniversità Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012
Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android
More informationPC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram
TOOLSTICK VIRTUAL TOOLS USER S GUIDE RELEVANT DEVICES 1. Introduction The ToolStick development platform consists of a ToolStick Base Adapter and a ToolStick Daughter card. The ToolStick Virtual Tools
More informationApplications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61
F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationFreescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
More informationRunning a Program on an AVD
Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run
More information1/5/2013. Technology in Action
0 1 2 3 4 5 6 Technology in Action Chapter 5 Using System Software: The Operating System, Utility Programs, and File Management Chapter Topics System software basics Types of operating systems What the
More informationAndroid Developer Fundamental 1
Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility
More informationCSCI E 98: Managed Environments for the Execution of Programs
CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office
More informationJava ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems
Java ME & NetBeans Mobility Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Agenda Java ME introduction Java ME applications NetBeans Mobility Edition Power of advanced features Demos, demos,
More informationIOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center
IOTIVITY AND EMBEDDED LINUX SUPPORT Kishen Maloor Intel Open Source Technology Center Outline Brief introduction to IoTivity Software development challenges in embedded Yocto Project and how it addresses
More informationThe Future of IoT. Zach Shelby VP Marketing, IoT Feb 3 rd, 2015
The Future of IoT Zach Shelby VP Marketing, IoT Feb 3 rd, 2015 1 Internet of (really nerdy) People 1980s 2 Internet of (content silo) People 1990s 3 Internet of (Web) People 2000s 4 Internet of (really
More informationHow To Develop A Toolstick
TOOLSTICK BASE ADAPTER USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent damage to
More informationINTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS
INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS CLOUD COMPUTING Cloud computing is a model for enabling convenient, ondemand network access to a shared pool of configurable computing
More informationOracle Application Development Framework Overview
An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services
More informationORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET
ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Mobile optimized user experience Simplified access to
More informationBest Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com
Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications System Deployment System Replication Configuration Mgmt. System Monitoring System Updates 2 Agenda Preparing for
More informationUM1680 User manual. Getting started with STM32F429 Discovery software development tools. Introduction
User manual Getting started with STM32F429 Discovery software development tools Introduction This document describes the software environment and development recommendations required to build an application
More informationEasing embedded Linux software development for SBCs
Page 1 of 5 Printed from: http://www.embedded-computing.com/departments/eclipse/2006/11/ Easing embedded Linux software development for SBCs By Nathan Gustavson and Eric Rossi Most programmers today leaving
More informationCustomer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions
September 2013 Silicon Support & Professional Eng. Services Customer Experience Freescale Provided SW & Solutions Provide Valued Software, Support & Professional Engineering Services, Competitively 2 Customer
More informationIntroduction to Virtual Machines
Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 Abstraction Mechanism to manage complexity
More informationPublishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.
Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps Hyeokgon Ryu, Infraware Technology, Ltd. Talking about Needs of Automated Converting from Android To Tizen Introduce
More informationProgramming the VEX Robot
Preparing for Programming Setup Before we can begin programming, we have to set up the computer we are using and the robot/controller. We should already have: Windows (XP or later) system with easy-c installed
More informationOperating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
More informationVirtualization and Other Tricks.
Virtualization and Other Tricks. Pavel Parízek, Tomáš Kalibera, Peter Libič DEPARTMENT OF DISTRIBUTED AND DEPENDABLE SYSTEMS http://d3s.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and
More informationJava and Real Time Storage Applications
Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual
More informationGetting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd
Getting Started with Tizen SDK : How to develop a Web app Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd Introduction to Tizen SDK Tizen Platform (1/2) Application Web Applications Native Applications
More informationMobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
More informationHow To Develop Android On Your Computer Or Tablet Or Phone
AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The
More informationVirtual Platforms Addressing challenges in telecom product development
white paper Virtual Platforms Addressing challenges in telecom product development This page is intentionally left blank. EXECUTIVE SUMMARY Telecom Equipment Manufacturers (TEMs) are currently facing numerous
More informationA Modular Approach to Teaching Mobile APPS Development
2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development
More information12. Introduction to Virtual Machines
12. Introduction to Virtual Machines 12. Introduction to Virtual Machines Modern Applications Challenges of Virtual Machine Monitors Historical Perspective Classification 332 / 352 12. Introduction to
More informationJava Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer
Java Monitoring Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer A Bit About Me Current: Past: Pre-Sales Engineer (1997 present) WaveMaker Wily Persistence GemStone Application
More informationHow To Use Java On An Ipa 2.2.2 (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad 2.3.2 And A Microos 2.5 (Microos)
Java Monitoring and Diagnostic Tooling Iris Baron IBM Java JIT on System Z ibaron@ca.ibm.com Session ID: 16182 Insert Custom Session QR if Desired. Java Road Map Java 7.0 Language Updates Java 6.0 SE 5.0
More informationAndroid Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development
Android Development Lecture AD 0 Android SDK & Development Environment 2013/2014 Parma Università degli Studi di Parma Lecture Summary Android Module Overview The Android Platform Android Environment Setup
More informationHigh Performance or Cycle Accuracy?
CHIP DESIGN High Performance or Cycle Accuracy? You can have both! Bill Neifert, Carbon Design Systems Rob Kaye, ARM ATC-100 AGENDA Modelling 101 & Programmer s View (PV) Models Cycle Accurate Models Bringing
More informationNew Features in XE8. Marco Cantù RAD Studio Product Manager
New Features in XE8 Marco Cantù RAD Studio Product Manager Marco Cantù RAD Studio Product Manager Email: marco.cantu@embarcadero.com @marcocantu Book author and Delphi guru blog.marcocantu.com 2 Agenda
More informationLecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
More informationTechnical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers
661 Solutions for ARINC 661 Compliant Systems SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers SCADE Solutions for ARINC 661 Compliant
More informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
More informationNotes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.
Specifications for ARINC 653 compliant RTOS & Development Environment Notes and terms of conditions Vendor shall note the following terms and conditions/ information before they submit their quote. 1.
More informationpicojava TM : A Hardware Implementation of the Java Virtual Machine
picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer
More informationData Transfer between Two USB Flash SCSI Disks using a Touch Screen
Data Transfer between Two USB Flash SCSI Disks using a Touch Screen Anurag A. Chakravorty #1, Raghwendra J. Suryawanshi *2, # Bachelor of Engineering, Department of Information Technology, Matsyodari Shikshan
More informationInstrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
More informationMobile Application Development Android
Mobile Application Development Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts
More informationBEAJRockit Mission Control. Using JRockit Mission Control in the Eclipse IDE
BEAJRockit Mission Control Using JRockit Mission Control in the Eclipse IDE Mission Control 3.0.2 Document Revised: June, 2008 Contents 1. Introduction Benefits of the Integration................................................
More informationDesign for Success: Designing for the Internet of Things with TiWiConnect
Design for Success: Designing for the Internet of Things with TiWiConnect Today s presenters Scott Lederer Senior Software Architect Dave Burleton Vice President of Marketing LSR.com Today s Agenda Why
More informationUG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS
APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS This document provides an overview of the toolchain used to develop, build, and deploy EmberZNet and Silicon Labs Thread applications, and discusses some additional
More informationSystem Requirements Table of contents
Table of contents 1 Introduction... 2 2 Knoa Agent... 2 2.1 System Requirements...2 2.2 Environment Requirements...4 3 Knoa Server Architecture...4 3.1 Knoa Server Components... 4 3.2 Server Hardware Setup...5
More informationKnow the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP
Know the Difference Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP 1 Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject
More information32F072BDISCOVERY. Discovery kit for STM32F072xx microcontrollers. Features. Description
Discovery kit for STM32F072xx microcontrollers Data brief Features STM32F072RBT6 microcontroller featuring 128 KB of Flash memory, 16 KB of SRAM in an LQFP64 package On-board ST-LINK/V2 with switch to
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationAn Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
More informationChapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
More informationSource Code Translation
Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven
More informationUEFI on Dell BizClient Platforms
UEFI on Dell BizClient Platforms Authors: Anand Joshi Kurt Gillespie This document is for informational purposes only and may contain typographical errors and technical inaccuracies. The content is provided
More information