Document toolboxDocument toolbox

(8.D.2.4) AWE 6 to AWE 8 Migration

The legacy AWE 6 product line, including AWECore for embedded/bare metal targets, and AWELib for rich OS targets (Linux, Android, Windows), has been in use for almost 4 years. AWE Core 8 is now replacing AWE Core 6, and AWE Core OS is replacing AWELib.

But AWE 6 works well for me, why should I switch?

The main goal of the updates in AWE 8 is to make integrations of the AWE Core easier on any customer platform. To this end, improvements were made to the product in the following ways:

  • Smaller, more intuitive API

    • AWE6 API functions spread across multiple, large header files, making it difficult to know which functions to use. AWE8 has a single API header, “AWECore.h”

    • Consistent naming conventions.

      • All AWE8 API’s start with ‘awe_’, and functions are further categorized into subgroups. For example, audio related functions begin with ‘awe_audio’.

  • Multi-core applications easier to implement

    • Removed the CoreDescriptor/callback function for packet processing and routing packets. In AWE 8, BSP author receives core packets and then has full freedom to handle them as needed

  • Enhanced documentation

    • Doxygen generated .pdf and .html, fully navigable, and with more example apps

  • Built in support for common audio data types and built in channel matching

  • More available modules

AWELib -> AWE Core OS

In addition to the above, AWE Core OS also provides the following improvements over AWELib:

  • Easier and better multi-rate processing capabilities (auto-multithreading on SMP systems)

  • Simpler and more configurable instance initialization

  • Integrated tuning interface for any TCP/IP enabled device

  • Built in input and output audio recording to .wav files

  • More and better sample applications, including a real-time audio sample app using Alsa

  • Improved configurability of included modules

  • C library, not C++, so more portable

  • Single function to load encrypted/unencrypted layouts