Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations

Presentation on theme: "ASU Real-Time Operating System. Supervised by: Dr. Mohammed Sobh."— Presentation transcript:

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

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

3 Overview

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

5 Background

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

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

8 FREERTOS Definition Scheduling Intertask communication & resource sharing APIs

9 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).

10 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.

11 Smart Cards

12 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 file and the name byte code is given may be because of the structure of the instruction set of Java program.

13 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.

14 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.

15 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.

16 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

17 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.

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

19 Design 19.appl p.ij c

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

21 Implementation

22 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.

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

24 File System

25 Allocation o OS

26 o Allocation

27 o OS Compaction

28 GUI (User Interface)

29 Connection

30 Control Running Tasks

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

32 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{}

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

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

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

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

37 Demo

38 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.

39 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.


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

Similar presentations

Ads by Google