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
????