Documents/Helix MP3 Decoder

From Nutwiki
Revision as of 19:09, 13 July 2017 by Harald (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Using the Helix MP3 Decoder on Nut/OS

This document explains how to implement a software MP3 decoder.

The implementation had been tested on AT91SAM7X256 and AT91SAM9260 boards. Decoding MP3 streams requires some CPU performance, which is not available with 8-bit AVR microcontrollers.

About Helix

The Helix MP3 Decoder offers the following main features:

  • 100% fixed point implementation.
  • Portable Open Source C code.
  • Optimized for ARM processors.

Probably a disadvantage for many commercially oriented developers is the license, which contains provisions that force source code sharing of the entire product. This is incompatible with the BSD license used for Nut/OS and therefore the Helix decoder will not be included in official Nut/OS releases.


If not already done, [[../download/index.html|download]] and install install the latest stable Nut/OS distribution. You should have build the Nut/OS libraries for your target board and possibly tried a few application samples to make sure, that everything is working as expected.

Next, download

The files in this archive are distributed in four subdirectories:

Contains the decoder source code files. Copy this directory to the Nut/OS source tree.

C header files of the decoder. Again copy this to the Nut/OS source tree.

The script in this directory enables fast access to the SDRAM.

Copy this to your build tree.

Building the Library

Change to the hxmp3 directory within the Nut/OS build tree.

Set the PATH environment.

Run make clean followed by make install.

Good luck,
Harald Kipp
Castrop-Rauxel, 19th of October 2006