wiki:Projects/64bit_timestamps

OutsideSOC 64bit timestamps

Project Description

This project is to add a SuperCore Layer Level Abstract Class for supporting 64-bit Timestamps. Project is divided into two stages. First stage of the project is to write a Super Core Timestamp Class which forms an abstraction for nanosecond timestamps implementation in RTEMS. This stage also includes providing an implementation for the Abstract class. This implementation involves implementing timestamps in the standard POSIX compliant method of using timespec structure containing two separate fields for seconds and fraction of a second, viz. nanoseconds.

The second stage of this project involves providing a second implementation for the abstract class which procides a 64-bit unsigned integer representing nanoseconds since the POSIX epoch. This will make the timestamp math faster on many target architectures. Both the variants support all the math operations that can be performed on timestamps as supported by the current timespec structure implementations.

Mentor

Joel Sherill

Status

Going through the Baseline test logs of RTEMS 4.7 and 4.8 versions that Joel has sent me. Also working on to obtain the Baseline Test results for CVS HEAD. Next step is to start with the detailed design. I want some help on how to go about while designing this project. What are the parameters to be considered? Which parts of RTEMS code will this affect particularly and such things.

:The first step should be to define a SuperCore Timestamp class that is a facade/wrapper for the current struct timespec implementation. Then we need to identify which uses of struct timespec should be changed to SuperCore Timestamp and which really need to be struct timespec due to API requirements. We must have a facade for the current implementation in place before we can change the implementation of the facade. Does that make sense?

Project Schedule

# Baseline Testing (Community Bonding Period : Already started - May 25th) # Analysis and Design (May 26th – June 8th) # Coding Stage I (June 9th – June 22nd ) # Coding Stage II (June 23rd – July 1st ) # Testing Phase II (July 2nd – July 6th ) # Coding Phase III (July 7th – July 24th ) # Changes to RTEMS to support ST and Documentation (July 25th – July 30th ) # Requesting for community wide Reviews, testing and evaluation (July 31st – August 11th ) # Packaging and Wrap-Up (August 12th – August 18th )

Detailed proposal at : A Super Core Layer Level Abstraction for supporting 64-bit Timestamps

Deliverables

TBD

Student Information

I am Madhusudan.C.S from Bangalore, India. I am a third year undergraduate student pursuing Information Science and Engineering as major at B.M.S College of Engineering, Bangalore. My blog : http://www.madhusudancs.info

I am Abhiram.R.N from Bangalore, India. I am a fourth year undergraduate student pursuing Electronics and Communication Engineering as major at B.M.S College of Engineering, Bangalore.

I am Shilpa Mallya.N.K from Bangalore, India. I am a fourth year undergraduate student pursuing Computer Science and Engineering as major at Nitte Meenakshi Institute of Technology, Bangalore.

I am Vinay.B.N. from Bangalore, India. I am a fourth year undergraduate student pursuing Information Science and Engineering as major at Nitte Meenakshi Institute of Technology, Bangalore.

Last modified on Dec 27, 2015 at 5:15:21 PM Last modified on Dec 27, 2015, 5:15:21 PM