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 Market Challenge GeeseWare Value Proposition GeeseWare Java Ready development boards Software Development Kit: MicroEJ GeeseWare Offer, Products, Maintenance and Support 2
GeeseWare Overview GeeseWare S.A.S, is a subsidiary of SEICO S.A.S. SEICO was created in May 1981. SEICO S.A.S, headcount: 100, with 10Meuro / Year/ 2010. SEICO is an electronic subcontractor for manufacturing and test of industrial applications, Energy, Defense and security, Environment, Transportation and Medical. In addition, SEICO produce Special industrial Wires, Mechanical integration and tests platforms design and manufacturing. Partnership to embed IS2T Java Platform (MicroJvm and MicroEJ SDK) in GeeseWare Packs 3
2011 Embedded market trends New Embedded Designs become more complex but should not take longer to ship! Need to tackle tighten market window. TTM (Time To Market) improvement needs better design methodology. First production volumes for the embedded applications: 50% are below 1000 units. 10% reach millions of units. Need a faster go/no go decision process and methodology (Source:EmbeddedMarket Survey 2010) 4
Main Issues: Incomplete or vague specifications Insufficient time Design Complexity 2011 Embedded market trends Thanks (!) to Android, more and more people speak about Java in Embedded world, but it s a Linux OS Kernel with Java interface, and Average application size > 50Mb Flash and more than 512Mbytes RAM in Android Phones. Android is an OS for smartphones and PDAs. Manufacturing costs / BOM > $200 (Resale $600) Whereas J2ME is a development platform for Java embedded applications. Cost: Memory does impact a lot unit cost (25%). Power consumption: 49% of the new project remain under 100Mhz (code can be run in Flash), 31% = 100 500Mhz, 20% = >500Mhz 59% of new projects uses 32 Bit microcontrollers. 5 2010 Flash < 128K >= 128K 8 bit 91% 9% 16bit 76% 24% 32 bit 20% 80% Total 62% 38%
Java (write once, run everywhere) Java 2 Platforms Connected Limited Device Configuration Libraries 16/32Bits, 16Mhz clock, Limited Memory & power consumption Limited network connection Java 2 Platform Enterprise Edition Java 2 Platform Standard Edition CLDC JVM JVM MicroJVM JavaCard VM Java 2 Enterprise Editions (J2EE) Java 2 Standard Editions (J2SE) Java 2 Micro Editions (J2ME) Java Cards Servers, Enterprises Applications (Websphere, Tomcat..) Applications: Standard desktop and Workstation (explorer, mozilla, chrome, etc..) Small Memories, Constrained Peripherals 6
Java Applications Elements SERVlets APPlets Complex computation and display applications MIDlets (yellow pages, train schedule, ) Java Bytecode SERVlet Life Cycle Applet Life Cycle MIDlet Life Cycle Init(), Start() Stop(), Destroy() Init(), Start() Stop(), Destroy() Init(), Start() Stop(), Destroy() J2EE API s J2SE API s J2ME API s Servlet Engine (Tomcat, WebSphere, WebLogic ) Web Navigator (Explorer, Mozilla, Chrome ) Mobile Phone, PDA, GeeseWare Platform, Independence Embedded Applications / Hardware Platform Java 2 Enterprise Editions (J2EE) Java 2 Standard Editions (J2SE) Java 2 Micro Editions (J2ME) 7
Java key features & benefits Java is more than a language, it s a technology. Portability & Code re use same Java binary can run on different environments. (No more Ifdef UNIX / Ifdef Win32 in the code to manage the display) Can be up to 3 to 5 times cheaper than C in embedded world Quicker development than C Major Increased in embedded system functionality versus footprint. Maintainability Avoid/Reduce software impacts when hardware changes. Reliability / Robustness No more memory management, no direct memory access (Garbage Collector). The exceptions are managed by the JVM (Java Virtual Machine). Independent runtime environment. Same development process for classic and embedded Java. Embedded application can be as fast as C Less than 1ms on a M2M process (Ethernet ports) or Latency ( Touch screen < > Asynchronous stimuli) 8
J2ME Target (non Mobile) Applications Wide range of constrained applications (CLDC) Limited space, Limited weight (power consumption) 8Mhz 180Mhz only Limited Memory (RAM and Flash) RAM 128Kbytes (15000 times less than a PC) Flash: 512Kb (40%) Limited display 480x272x16= 250Kbytes versus PC VGA (1366x768x32 = 4096 Kbytes) No permanent network connection required User Interface offer bigger Real Estate but Android UI has to match non mobile space (simpler, cheaper) UI much more compelling with user experience Sophisticated UI, animated transition, complex lighting, 3D objects and depth, texture, Higher expectations, perception of the UI quality Tap, Drag, Fling, Slide 9
J2ME Target (non Mobile) Applications Target Market Segments Industrial automation Dash board Automotive Infotainment Appliances Home appliance, Building Automation Smart meter, lightning control, HVAC, lightning control, (sensor + IT monitoring + control). Security Military Transportation Medical M2M 10
Microcontroller selection Development tools/ide Simulation, Compilation, Debug, Test, Optimization Hardware/software Partitioning decisions BOM prices, software prices, royalties Fees? Hardware / Software Integration Application Binary depends on Hardware Our embedded answers! Linux / C / C++ Performance, RTOS availability, Existing development tools, etc Find and select IDE compatible/optimized with chosen microcontroller Find and select Software tools compatible with chosen microcontroller Yes calculations Yes Yes Java (J2ME) / GeeseWare ARM Cortex M3 or M4 MicroEJ MicroEJ No Single pack price including board pre series No No We can simplify your decision making process 11
Our embedded answers! V A L U E Customer C or C++ Embedded Application Firmware RTOS + Libraries Customer Java Embedded Application Firmware RTOS + Libraries Associated Developments Costs C H A I N Place & Route PC Board IC / uc / Componants Place & Route PC Board IC / uc / Componants 12
Embedded market coming challenges Time To Market of ever growing complexity embedded applications. Embedded applications have shorter life cycle. Added Value is mostly in the software. 60% of projects costs are embedded software costs. Price (Foot Print) Java becomes an alternative to C and C++ In fact in 2010, more and more embedded design use Java Java against C / C++? A kind of cultural break up decision! 13
Target Market segments Microcontrollers increase in functionality (i.e latest Cortex M3/M4 series). This implies quasi exponential increase in associated software development complexity and cost. C debug very complex. Java is a suitable solution Development Costs Industrial Applications Hardware development costs are more and more under control but you need to better control software development costs. Application software is the biggest competitive portion of embedded products. Hardware Innovation Innovation Required Required Software 1970 1980 1990 2000 2010 14
GeeseWare Value Proposition faster application development, smaller getting started budget and easier prototyping (and market on time) Smaller initial investment to reach the step of real field application test. Agile development process with early Involvement of any stakeholder. Sales Pre Sales, Marketing, Manager, Ergonomist, firmware and software eng, etc Optimize the BOM (Bill Of Materials) of target application. Smaller /Tiny Memory footprint (50 250Kbytes applications) SOAR (Smart Optimizer and Romizer) space & speed improvement More and more added value is captured in IHM (higher ASP) A lot easier in Java / Faster / quicker user experience tests MicroJvm virtual machine can be as fast as C: acceleration technics / direct access to Native levels Easy Development Platform customization. example / flexible industrial keyboard on I2C port => simple Mock development to start simulations (java code). 15
GeeseWare Value Proposition Concentrate on application development rather than managing system resources Tasks Scheduling, Memory management, etc Existing critical routines remain in C (possible legacy C code integration). Seamless production of pre series for faster Product introduction. Stand alone CPU small factor board (SO DIMM 200 interface) bundled with Java Platform. State of the art Manufacturing Process Pb and RoHS process supported, SMD and Trough Hole, IPC A 610 Class 2 or Class 3 Tooling, Input control, Kitting, Potting. 100% Visual and automatic control, X Ray, Burn in, stress test, packing, shipment Customer selection of a sub set of standard functionalities to leverage a cheaper and faster production cycle time. We can simplify the design of better features, to put more value in your products. 16
V versus Agile Development Process Requirements Feasibility Specifications Integration Tests Validation Tests Complex IHM Widget/MIDlet Development V 30 50 word pages for specifications Agile Few slides + use Cases Application Architecture Coding Unit Tests 2 weeks specifications 3 4 weeks development 1 week Validation Overall 7 8 weeks 2 days 5 days development 1 day Validation Overall 2 weeks 17
Developments costs versus time Development Cost Agile Developments rules 100% Specifications Hardware & Software devlpt Prototypes System test Individuals and interactions over processes and tools 80% Working software over comprehensive documentation Decisions Impact Cost Customer collaboration over contract negotiation Changes costs Responding to change over following a plan Time 18
GeeseWare Java Virtual Machine Vertical Abstraction levels Java sources files Simulator (on PC) Mock ByteCode (JVM Processor Language) Java Application ASM (MCU processor language) EmbJPF Hardware 19
Java-Ready Development Board A flexible and Open Architecture for Agile Developments and Debug 20
Java-Ready Development Boards CPU Board ARM Cortex M3 STM32F207 or Cortex M4 STM32F407 core based microcontroller On Chip Memories: STM32F207 STM32F407 On Board Memories Ethernet Interface 1024 Kbytes Flash 128 Kbytes SRAM (M3) 192 Kbytes SRAM (M4) 2Mbytes RAM 4Mbytes NOR Flash 10/100 Mbps Phyceiver Connector SO DIMM 200 Small factor board 37x67.5mm Secure Microcontroller Customer IP Protection 21
ARM Cortex-M3 / M4 Cost 32 bits Cortex M3 /M4 architecture Microcontrollers becomes as cheap as 8 bits micro Power Consumption 12.5MIPS/mW and Low power Mode Speed Can reach up to 12.5DMIPS, Frequency can by up to 275Mhz Significant improvements against 8 and 16 bits micros Memory usage optimization, real time optimization features, Debug features 22
Secure Microcontroller (through custom services support) The goal is to secure your Embedded Systems and Application IP. VaultIC460: State of the art ready to use hardware security module for IP Protection Prevent Goods cloning. Keep contents secure and avoid leaking information during code execution. Detection of tempering attempts and associated sensitive data destruction. Java Application MicroJVM Execute IP (Crypto) + Public Key Signature (Crypto) Inside Secure VaultIC460 Customer IP 23
Java-Ready Development Boards Main Board Serial and Debug ports HMI Sensors Miscellaneous Connectors Extensions JTAG/SWD UART I2C SPI CAN USB2.0 OTG FS, Host FS with Mini AB connector 4.3 TFT LCD with resistive touch screen (480x272x16 RGB) or 2.7 monochrome LCD 128x64bits I2S Audio DAC (3.5mm stereo audio jack Joystick with 4 directions control and selector Temperature, Light, Speed 1 Gbyte SD Card Reset, Wake up and 4 users buttons Potentiometer 3 color LEDs, 1 RGB LED Boot from external Flash, USB port or internal flash 40 pins IDE extension (CAN, Timer, ADC, DAC, SPI, I2C, GPIO, Power supply, USART, DCMI Camera bus) 24
Eclipse based Software Development Kit MicroEJ GWStudio TM Java Framework 25
MicroEJ Simulator 26
Software Development Kit MicroEJ SDK 27
Software Development Kit MicroEJ SDK Software development Toolkit based on Eclipse Edit Compile Debug process, Software simulation and Hardware emulation (HIL) Static and runtime analysis and optimization For timings and memory footprint Functional code coverage computation Tasks profiling and scheduling Java Heap Management and inspection Optimize and profile Java applications Memory footprint and execution runtime Supported OS: uclinux, INTEGRITY, ThreadX, EmbOS. Microcontroller Flash programming (ST LINK Flash Programmer included) 28
Services Offer Components changes versus the standard COTS (Commercial Off The Shelves) TFT / LCD (Displays / offer a complete strategy), Peripherals, etc Add External Equipment : Mocks, HIL connected to COTS platform Mock Developments (with NRE charges) Wifi / ZigBee, Webcam, External sensors, stepper motor, relay, Communication module Standard COTS optimization Straight forward Application shrink (remove unused peripherals, cost optimization), associated Pre series manufacturing (No JVM changes) 29
External Equipment (Mock) Developments Java Application Java Class / API Wrapper C < > Java API C { // Java class es and objects New Mock() ; // New Keyboard(); Mock.init(); // Keyboard.init(); Mock.display( Ready );.. } SNI (Simple Native Interface / Java Lib) GeeseWare Developments Mocks Driver C External Port I2C, SPI, GPIO, Customer or GeeseWare Developments 30
GeeseWare Packs: Removable Plastic Housing Standard GeeseWare Packs are sold in a removable plastic housing Standard package Access to all connectors + TFT + cards holder Custom Plastic Housing (with NRE) Specific Serigraphic, restricted Connectors set, etc 31
Ordering Different GeeseWare Packs = Function ( display, SDK licensing, CPU ) SDK: one year subscription or permanent development licenses Including support, maintenance, etc Discount on quantities USB Dongle protection One month Free Evaluation for the simulator Prices for Production Cards pre series/production (step pricing: 5,20,50,100, 1000, ) (Special offer for Academics). Kit Price ( SDK Development kit + pre series production of CPU Cards) 32
Partners www.is2t.com IS2T is a software editor specialized in products to make embedded devices in a very cost-effective way. The focus is on combining state of the art technologies, with a specific concentration on Object Oriented / Java technologies for embedded systems. -training http://www.ac6-training.com AC6 provides a full range of training courses covering all the fields of industrial computing, embedded and realtime systems design and programming. http://www.advansee.com/en_us/home.html ADVANSEE is a flexible partner for customers needing to outsource Electronic Design projects. We provide all the phases of a development cycle, from the initial concept through to product delivery. Our service results in optimized use of microcontrollers' resources, i.e. reduction in power, size and weight. We truly care about providing superior products and service to our customers, with the aim of developing long term successful relationships. 33
Distributors GeeseWare Distributors List will be released in September 2011. We intend to have local distributors in North America, Europe, Israel, Asia and South Africa. 34
Contacts Sale contact : Gerard BOUVET Gerard.bouvet@geeseware.com Mobile: +33 (0)6 64 78 77 29 Direct: +33 (0)2 28 00 28 12 Visit our website : www.geeseware.com and register to download documentations, access to our Forum, etc Technical contact: Francois SCOTTO Francois.scotto@geeseware.com Office: +33 (0)2 40 57 51 78 Address: 6 Rue Jean Moulin, ZI La Croix Blanche, 44260, MALVILLE FRANCE http://www.arm.com/community/partners/di splay_company/rw/company/geeseware/ 35
Are you ready to start an evaluation? 36