Porting FreeRTOS™ to the ColdFire Platform
Report by Jimmie Alam, Brian Birtles, University of Technology, Sydney.
<<< | >>>
Abstract
In this report we discuss our project for the University of Technology, Sydney subject "48434 Embedded Software Systems" where we have
successfully ported FreeRTOS™ real time kernel to the ColdFire MCF5272 platform. The document details the methodologies used, achievements
attained and the analysis of test results.
Please note that this report uses the pre FreeRTOS V3.0.0 API.
Introduction
FreeRTOS is a small and portable real-time operating system. It is an open source project that was started up by Richard Barry. Compared to
other embedded operating systems such as µClinux and even PC-XINU, FreeRTOS™ is quite simple, providing only the basic kernel features.
Due to its simplicity, size and extensibility, FreeRTOS™ is a suitable candidate operating system for embedded applications on a wide range of hardware
platforms. FreeRTOS™ has been ported to a number of such platforms ranging from the PIC18 to ARM7 microprocessors.
The purpose of this project was to port FreeRTOS™ to a typical embedded microprocessor, namely the Motorola MCF5272 ColdFire integrated
microprocessor. Hence, the project was investigative in nature and required an in-depth understanding of the hardware platform and the
operating system's architecture.
Project Objectives
The primary objective of this project was to develop an appreciation of the interaction between an embedded operating system and the
microprocessor on which it runs.
In addition we defined the following secondary objectives:
- to gain experience in setting up a cross-compilation environment using GCC,
- to develop a working real-time operating system port that can be used for real-time application development,
- to develop an appreciation of the issues involved in porting an operating system.
As evidence of meeting these objectives we have provided the following deliverables, as proposed in our initial concept document:
- A working port of FreeRTOS™ on one of the UTS Sentec Cobra5272 ColdFire including source code.
- A series of test programs that can run on the FreeRTOS™ operating system. These will demonstrate the specific features of FreeRTOS™.
Requirements
The following are the initial user requirements that were outlined in the concept development document:
- The port should implement all the features of FreeRTOS™ that can be reasonably tested on the provided MCF5272 reference boards.
- The port must be able to be demonstrated to the client by the deadline.
- The port must pass all relevant test cases in the FreeRTOS™ common test suite.
- There must be suitable documentation describing how to compile and run the software.
- The code should be of such a quality that it can be easily understood by the client and the FreeRTOS™ maintainer.
- The code should be contributed to the FreeRTOS™ project.
- The code should not optimise the code in ways which will make adapting the code to other ColdFire chipsets more difficult (i.e. it should be designed for portability across the ColdFire platform).
The below requirements were defined once the port was compiled and running a simple program on the ColdFire platform:
- The port should be able to provide context switching, running programs using cooperative multitasking.
- As an advanced requirement, the port should be able to provide pre-emptive multitasking.
NEXT >>> ColdFire RTOS Port - Development Approach
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.