Plug-n-Play Software Platform Builder

Frozen Content

Altium Designer Winter 09 introduces a new feature suite: the Software Platform Builder. This intuitive editor allows you to easily assemble a Software Platform for your hardware.

The Software Platform is a layer of software assembled in the Software Platform Builder from a range of provided components. It allows applications to exploit the hardware through a standardized set of services, such as storage services and network services. The Software Platform is easy to assemble, and provides a powerful range of functionality to your application code with just a few clicks of the mouse.

Key Concepts of the Software Platform

Software Services

A software service is a set of functionality - that is, types and functions - which is available to your application. Different services are brought into the software platform in different ways:

  • System Services are always present in the software platform
  • Automatic Services are brought into the software platform automatically, depending on what stacks have been created
  • Manual Services are brought in manually by the user

Device Stacks

The software platform is all about making hardware devices available to application code through abstract and generic software interfaces. To do this a stack of components is grown on top of the hardware devices, with each layer providing more generic functionality for accessing the device. Some stacks may be small - for example a hardware wrapper and a driver on top of it - while others may be more complex and provide truly hardware independent access to the device. The good news is even these complex stacks are easy to put together in the Software Platform Builder!

Contexts

Contexts are the highest level of device stacks and provide the most abstract layers of functionality. Contexts provide standardized, hardware independent access to devices.

Drivers

Drivers provide access to devices at a low abstraction level. Different devices have different drivers, and using a device at the driver level will require knowledge of that particular driver's interface. Drivers provide the link between hardware wrappers and contexts.

Hardware Wrappers

Hardware wrappers encapsulate devices which are hooked up to your processor, and provide information for the higher layers of the stack to access the device. Information such as the base address, interrupt assignment and any soft peripheral configuration is all stored in the hardware wrapper.

Features of the Software Platform

The software platform comes with the Software Platform Builder. This intuitive graphical interface allows your software platform to be assembled from the many provided pieces.

Altium Designer comes supplied with drivers for all of hardware devices available on the NanoBoard, as well as many high level services. These services include

  • Storage Services for accessing files and folders on SD cards, IDE drives, Compact Flash cards and flash memory
  • Networking Services to provide access to ethernet networking
  • Kernel Services providing POSIX compliant multithreading capabilities
  • GUI Services allowing the quick construction of modern graphical interfaces
  • Multimedia Services for audio and video functionality

The Software Platform can even be extended by adding your own Software Platform components!

Using the Software Platform

A Software Platform can be created for an embedded project by adding a SwPlatform file to the project. The platform can then be built by adding hardware wrappers (or automatically importing the wrappers from the associated FPGA project), growing stacks of functionality on these wrappers, and by adding software services to the platform. Items in the stack can be configured in the platform to fine tune the platform for your application.

The assembled software platform provides functionality to your application code through APIs. Each API comes with reference documentation which is available either from the Software Platform Builder or from your application code editor.

Many examples are available for the Software Platform and can be found in Examples\Soft Design in your installation.

For a tutorial that explores the use of the Software Platform Builder, see Tutorial - Getting Started with the Software Platform Builder.

For an introduction to the Software Platform, see Introduction to the Software Platform.

You are reporting an issue with the following selected text and/or image within the active document: