Final Year Project Electronic & Computer Engineering

Download Report

Transcript Final Year Project Electronic & Computer Engineering

Final Year Project
Electronic & Computer Engineering
Design and Realisation of
Experiments for an Embedded
Linux Laboratory Class
Student: Andrew Sweeney
Supervisor: Dr. Peter Corcoran
Current 4th Year Embedded
Systems Course


Reason for doing this project
The goals of this project
Become familiar with the basics of Linux and install
Linux on a desktop PC
 Learn how to install and get RTAI working
 Run some basic programs to verify RTAI
functionality
 Work through experiments and document for both
supervisor and student

Real-Time Systems

What is a real-time system?
Hard real-time systems
 Soft real-time systems


No real time interface on the Linux operating
system
RTAI



Real-Time Application Interface
Using new release rtai-3.4
RTAI comes with useful programs
Verify RTAI functionality

RTAI Testsuite
Latency Test
 Switches Test
 Pre-empt Test

Linux Distribution Chosen





Linux
Ubuntu Distribution
Advantages
Installing kernel on PC
Creating a custom-made kernel
Alterations for Custom Kernel




What is the Hardware Abstraction Layer
Patch it directly onto kernel source code
Configure the kernel build differently
Make slight alteration to the kernel Makefile
Loadable Kernel Modules




What are Loadable Kernel Modules
Wrote in C programming language
Makefile to build each experiment
Insertion and removal of the modules
The Pure Periodic Scheduling of a
Single Task



Pure Periodic Scheduling
The output of the experiment
How the task itself functions
The Pure Periodic Scheduling
of two Tasks



Periodic scheduling of two tasks
The output of the experiment
How the task itself functions
The Variable Periodic Scheduling of
a Single Task



One-Shot Mode
How the task itself functions
The output of the experiment
Experiment Using Semaphores

What are Semaphores
Binary Semaphores
 Counting Semaphores




What the task does
Can load module with optional semaphores
How does the task function operate
Ubuntu Live CD





What is a Live CD
Purpose of a Live CD for this Project
Progress with the creation of custom CD
Problems
Solutions
Progress in the Project




Installed Linux on computer
Installed Real-Time Application Interface
Got the first 3 out of first 4 experiments loading
and one of the more advanced experiments also
Created a Live CD of Ubuntu that will boot and
fully function but not running of my kernel with
built in RTAI
Conclusion




Learned a lot about Linux, the operating system
and how it works
Gained a better understanding of how real-time
systems work and how to implement it on Linux
Know how to run real-time experiments on an
RTAI interfaced kernel
Overall was a huge learning experience and hope
that the experiments may be used in the future
Questions
 ????