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:

As evidence of meeting these objectives we have provided the following deliverables, as proposed in our initial concept document:

Requirements

The following are the initial user requirements that were outlined in the concept development document:
  1. The port should implement all the features of FreeRTOS™ that can be reasonably tested on the provided MCF5272 reference boards.
  2. The port must be able to be demonstrated to the client by the deadline.
  3. The port must pass all relevant test cases in the FreeRTOS™ common test suite.
  4. There must be suitable documentation describing how to compile and run the software.
  5. The code should be of such a quality that it can be easily understood by the client and the FreeRTOS™ maintainer.
  6. The code should be contributed to the FreeRTOS™ project.
  7. 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:
  1. The port should be able to provide context switching, running programs using cooperative multitasking.
  2. As an advanced requirement, the port should be able to provide pre-emptive multitasking.


NEXT >>> ColdFire RTOS Port - Development Approach

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2015 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOS distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd..