ASU Real-Time Operating System. Supervised by: Dr. Mohammed Sobh.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

An Overview Of Virtual Machine Architectures Ross Rosemark.
The Operating System. What is an Operating System? The program that is loaded first and manages the hardware resources like main memory, backing storage.
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
Object Orientated Programming
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
Component Based Invisible Computing 12 December 2001, ETH, Zürich Johannes Helander Microsoft Research.
Smart-Sensor Infrastructure in the IPAC Architecture V.Tsetsos 1, V. Papataxiarhis 1, F.Kontos 1, P.Patelis 2, S.Hadjiefthymiades 1, E.Fytros 2, L.Liotti.
Figure 1.1 Interaction between applications and the operating system.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
ECE 4220 Real Time Embedded Systems Final Project Presentation Spring 2014 University of Missouri Columbia By: Michael Brauch Temperature Data Logger.
Getting Started with a Cortex-M3 Board
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
JAVA ENVIRONMENT JDK, API, JVM. JAVA ENVIRONMENT  Java environment includes development tools and many classes and methods. Java Environment JDK (Java.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Keil Products in a Single Slide
Android Introduction Platform Overview.
Silicon Labs ToolStick Development Platform
Programming mobile devices Part II Programming Symbian devices with Symbian C++
1 7. Operating Systems 7.1 Windows CE  The Win32 API defines a consistent interface for the application, while the Windows CE components encapsulate all.
Computer Organization
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
COMPUTER SYSTEM LABORATORY Lab10 - Sensor II. Lab 10 Experimental Goal Learn how to write programs on the PTK development board (STM32F207). 2013/11/19/
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Fayoum University Faculty of Engineering Electrical Engineering Department E-voting system Using Smart Card Under the supervision Of: Dr. Magdy Amer.
1 IEEE LAN/ MAN Banf 1998 Open Java-Based Intelligent Agent Architecture for Adaptive Networking Devices Tal Lavian, Bay Architecture Lab
CISC105 General Computer Science Class 1 – 6/5/2006.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
COMP25212: Virtualization Learning Objectives: a)To describe aims of virtualization - in the context of similar aims in other software components b)To.
Introduction to the Java Virtual Machine 井民全. JVM (Java Virtual Machine) the environment in which the java programs execute The specification define an.
Lab 1 Department of Computer Science and Information Engineering National Taiwan University Lab1 - Sensor 2014/9/23/ 13 1.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Firmware Storage : Technical Overview Copyright © Intel Corporation Intel Corporation Software and Services Group.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
3.1 Operating System Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual.
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Chapter 2. System Structures
Lecture 7: Overview Microprocessors / microcontrollers.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Introduction to Programming 1 1 2Introduction to Java.
JAVA CARD Presented by: MAYA RAJ U C A S,PATHANAMTHITTA.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Introduction to Operating Systems Concepts
Computer System Structures
Android Mobile Application Development
Introduction to the ARM mbed Platform– A Hands-on Course
Before You Begin Nahla Abuel-ola /WIT.
Computer System Laboratory
Implementation of Embedded OS
Topic: Difference b/w JDK, JRE, JIT, JVM
Introduction Enosis Learning.
Introduction Enosis Learning.
Computer Science I CSC 135.
Chapter 3: Operating-System Structures
Lecture Topics: 11/1 General Operating System Concepts Processes
Java Programming Introduction
Introduction to Virtual Machines
Introduction to Virtual Machines
System Programming By Prof.Naveed Zishan.
M S COLLEGE ART’S, COMM., SCI. & BMS
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

ASU Real-Time Operating System. Supervised by: Dr. Mohammed Sobh

Agenda  Overview  Background  Implementation  Demo  Conclusion  Future Work

Overview

Operating System Based on FreeRTOS Processing Communication C code. Java code. Serial Communication. USB Communication.

Background

Hardware AT91SAM7S-EK evaluation board from Atmel AT91SAM7s256 J-Link debugger.

Software FREERTOS. Support ARM7 architecture. Scheduling policies. Memory management. Technical support.

FREERTOS Definition Scheduling Intertask communication & resource sharing APIs

Coding phase requirements Complete understanding of : ARM architecture. using J-Link debugger. Keil IDE. IAP (in application programming). FREERTOS as operating system. Using peripherals (like Timers,UART, USB).

Coding phase Debug test Projects on the kit(like flashing leds). Porting FREERTOS to the AT91SAM7S-EK. Receive data from PC to the board Ram, through UART. Move data from RAM to ROM using IAP. Send libraries and function and execute them.

Smart Cards

A virtual Machine A virtual machine (VM) is a software implemented abstraction of the underlying hardware, which is presented to the application layer of the system. Byte code file: it is the file generated after compiling a.java file and the name byte code is given may be because of the structure of the instruction set of Java program.

Java Virtual Machine  JVM gives Java the flexibility of platform independence.  Java byte code is an input to Java Virtual Machine.  JVM reads this code and interprets it and executes the program.

Why Don’t we use JVM?  Because there are resource-constrained device ;for our kit (1.2K of RAM, 16K of nonvolatile memory (EEPROM or flash) and 32K of ROM).  The only workable option is to implement Java Card technology as a subset of the Java platform.

Java Card Virtual Machine  A Java Card is a smart card that is capable of running Java programs, and complies with the Java Card standard specifications issued by Oracle.

Java Card Features  Platform independence.  it promises the ease of programming in Java to the world of smart cards.  portability and security.  Data encapsulation  Applet Firewall  split virtual machine o Off-card o On-card

Java Card VM Subset ‘cap (converted applet) file’  Each CAP file contains all of the classes and interfaces defined in one Java package.  A CAP file consists of a stream of 8-bit bytes.  A Java Card CAP file consists of a set of components.  Each component describes a set of elements in the Java package defined, or an aspect of the CAP file.

Component Model component { u1 tag u2 size u1 info[] }

Design 19.appl et.java.class.ca p.ij c

Design 20 Card applet loader Execution engine Cap file componen ts parser Virtual Machine Native method s support

Implementation

Porting RTOS EFC USART File System IAP Update ASU_OS 1- Writing in ROM by EFC. 2- Communication Protocol uses physical medium (Serial Communication) by USART. 3- Mapping flash memory by the File System. 4- IAP updated for sending libraries and Control Tasks.

Sending a Library Multiple function Library Sending a library from Computer to system serially ASU_OS

File System

Allocation o OS

o Allocation

o OS Compaction

GUI (User Interface)

Connection

Control Running Tasks

JCVM Implementation  Parsing  Loading API packages  Installing  Processing  Native

Parsing Header_co mponent Directory_co mponent{} Applet_com ponent{} Import_com ponent{} Export_com ponent{} Descriptor_c omponent{} Class_comp onent{} Method_co mponent{} ConstantPo ol_compone nt{} StaticField_c omponent{} ReferenceLo cation_com ponent{}

Loading API packages  Java.Lang  Java.framework  JNI

Installing  Call install() method to:  Create an instance of the applet  Create various objects  Set some initializations  Register this instance

Processing  Call process() method to:  Process the functionality of the applet.

Native  Java Card technology doesn’t support JNI  CAP file format  API

Demo

Conclusion  User can send a Library to the system and add more functions and updates.  Java Run Time environment is ready to receive java code to be executed.  Sending files could be through USB or Serial Communication.

Future Work  Supporting more communication protocols : ex: CAN, Ethernet  Implementing Driver libraries for common devices : Motors  Implementing the HAL for different microcontrollers  Extensive Debugging of the current system.  Support all byte Codes.  Memory & Speed Optimization.