Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

CONFIGURABLE FIRMWARE FOR EMBEDDED CONTROLLERS

IP.com Disclosure Number: IPCOM000009529D
Original Publication Date: 1999-Sep-01
Included in the Prior Art Database: 2002-Aug-29
Document File: 5 page(s) / 221K

Publishing Venue

Motorola

Related People

Klaus Tetz: AUTHOR [+2]

Abstract

The following paper describes how configurable firmware for embedded controllers used in radio communication equipment can remove incompati- bilities between the fmware, the codeplug data lay- out and the RSS used for customer programming. In addition the amount of memory required for the firmware as well as for the codeplug is significantly reduced and version handling and system testing requires less effort.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 33% of the total text.

Page 1 of 5

Developments Technical 0 M MOTOROLA

  CONFIGURABLE FIRMWARE FOR EMBEDDED CONTROLLERS

by Klaus Tetz and Bernd Lehr

INTRODUCTION

  The following paper describes how configurable firmware for embedded controllers used in radio communication equipment can remove incompati- bilities between the fmware, the codeplug data lay- out and the RSS used for customer programming. In addition the amount of memory required for the firmware as well as for the codeplug is significantly reduced and version handling and system testing requires less effort.

PROBLEM(S) TO BE SOLVED

  Traditional software development for radio com- munication equipment consists of two main steps:

  1. The development of the software that is used to program customer data (RSS - Radio Service Software) into a non-volatile storage (codeplug) of the communication device, e.g. number of channels, channel frequencies, etc. This software consists of a user interface, where the customer can select the options and features he needs, and a converter which transfers the selected data into a binary for- mat for the codeplug memory in the device.

  2. The development of the software which is used to run on an embedded controller (firmware) to implement all functions on the target hardware in the device. The programmed options in the codeplug select the functionality of the device whereas the firmware executes these functions on the hardware. The fmware has to support always all possible pro- grammable functions.

  Figure 1 shows how the RSS and the firmware interact in this traditional software development approach.

  The firmware is normally programmed in the factory whereas the codeplug data is used to cus- tomize the device and is programmed in the field using the RSS. Whenever a customer wants to change codeplug data, the RSS has to check if the desired functions are supported by the firmware in the device. If the firmware doesn't support a feature
(e.g. older firmware version, newer RSS version) it cannot be supported in the codeplug.

  During the whole product lifetime several ver- sions of firmware and RSS will be out in the field while every new version includes some enhance- ments and expansions versus the predecessor. A more and more complex control mechanism is required for the version handling and to avoid incompatibilities between the firmware, the code- plug data layout and the RSS. This leads to a big test effort for the different software packages.

  Also more and more memory, both in the PC (which is not so critical) as well as in the communi- cation device is required, where the additional mem- ory will increase the product cost. Besides the increased memory requirements, the firmware con- sists of several mutually exclusive feature packages. The following development example of a base sta- tion will illustrate this in more detail.

RELEASE 1

  A fast firmware and RSS version is developed. Both support only 'conventional' features like channel RX/TX frequencies.

  The firmware requires 4...