Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Audio Weaver can generate “Target Files” that can be used with your an AWE Core integration. For example, you can compile your Audio Weaver layout to “.aws” an AWS file which will be a list of all the Server commands that make up your design. You can also generate an “.awb” which is a compiled, binary version of your design that can be stored and executed on your target system.

To generate target files, first create a valid design and then select the ‘Tools → Generate Target Files’ menu item. A dialog box will appear and prompt you to choose which files you would like to generate, and where you would like to put them. The “Enable Audio” checkbox will append an audio_pump command to your . AWB and . AWS in case you want to load the design but start the audio processing with a separate server command (for example, start the audio when a button is pressed).

...

The .h and .c files are used by the target application to load and control the signal processing layout when operating in standalone mode. The .tsf file is used to connect AWE Designer to a target that is running in standalone mode.

Target File

Description

[BaseName].awb

AWB stands for Audio Weaver Binary. An AWB is a compiled binary version of a layout and can be loaded directly on-target. AWB’s are most commonly used in production, as they can live directly on the target without any interaction with the PC.

[BaseName.aws]

.AWS stands for Audio Weaver Script. The AWS is the set of plain text commands that makes up an Audio Weaver layout. An AWS can be compiled into an AWB, or can be executed through the Audio Weaver Server.

[Basename].tsf (Tuning Symbol File)

TSF stands for Tuning Symbol File. TSF Files contain the symbols needed when connecting to a running target. See the “Attach to Running Target” section for more details.

[Basename]_ControlInterface.h 

The Control Interface file contains handles for direct access to AWE modules via the AWE Core Control Interface API’s. Note that symbols are only generated for modules with assigned custom objectIDs. See the “Control Interface” section of the AWE Core API for more detail.

[Basename]_InitAWB.c 

The InitAWB file is the AWB represented as a C array. Two files will be generated (H file and C file). The AWB C array can be loaded directly on target via the AWE Core API.

[Basename]_ModuleList.h

The ModuleList.h file contains a list of modules used in a layout. This allows a BSP author to build an AWE Core target with only the minimum set of modules required by a production layout (greatly reducing the memory footprint from unused modules)

[Basename]_HeapSize.h

Minimum heap sizes required to run this layout. This allows a BSP author to build an AWE Core target with the exact amount of heap memory for a given layout.

Info

Due to potential differences in memory requirements for each platform, HeapSize.h may not be portable between targets.

For more information about how to use these target files, please see the AWE Core 8 Integration Guide.

Attach to Running Target

In some cases, a target may be running a layout that was not loaded via Designer. This may occur, for example, in production hardware where the layout is loaded locally on the target hardware. If a target BSP uses AWE Core to locally load an AWB, Designer can still connect to the target and manipulate the that layout without interrupting the ongoing processing if a tuning interface is available, and if the .awd and .tsf file (generated via the Generate Target Files dialog described above) for the system are known. This can be extremely useful for troubleshooting. This can be extremely useful for troubleshooting, and is referred to as “Attach(ing) to a Running Target”

In order to “Attach to a Running Target”, the following conditions must be met

  1. A tuning interface must be correctly implemented on the target BSP. (Some production-state BSPs will load a static AWB, but omit the tuning interface…this would preclude attachment)

  2. A user must have corresponding AWD and TSF files for the exact AWB loaded on the target. This means that the AWB and TSF files must be generated from the exact same AWD/AWJ. Any differences in TSF/AWB/AWD files will cause unexpected behavior.

To Attach to Running Target, load

  1. Load the

...

  1. AWD and generate the

...

  1. TSF and AWB (or AWB array) files using Designer’s “Tools/Generate Target File” menu item

...

  1. . Minimize/close designer.

  2. Load the generated AWB on the target via the AWE Core API loader functions.

  3. With the layout successfully running, open AWE Server and connect to the target’s tuning interface.

  4. Reopen the AWD in Designer, but do not run the layout. Instead, select “Attach to Running Target” from the Tools menu. The dialog will prompt for tsf file. Select the tsf generated from step 1. Remember, all these files must come from the same original AWD.

The layout on the target can now be tuned as if you had loaded it via Designer.

When you are done tuning, the target can be detached by selecting Designer’s “Tools/Detach from Target” menu item.

Module Testing

Module regression tests The Module Tests are used to verify that modules are properly implemented on a connected target. There are two types of tests that can be run by selecting the “Tools/Module Tests” menu item. If the ‘Test Modules Used in Layout’ option is selected, the module tests will be run with the exact module configurations used in the layout. This type of testing, called System Test, can be useful to validate that the layout will behave as expected on the attached target.To run the standard module regression tests on the attached target, the ‘Select Module Group’ dropdown can be used to select which module pack or packs to test. Subsets of the module packs can be run by selecting and de-selecting specific modules in the generated listfrom the Tools -> Module Tests menu: Regression Tests and System Tests.

Regression Tests are used to validate the implementation of each module on the target by processing generated input data and comparing it to a known output, usually generated by MATLAB. By selecting any of the “Module Pack” options, the regression tests can be run on the connected target for all the selected modules.

System Tests are used to validate that each module behaves as expected on the target, as configured in the layout. To run the system tests, select “Test Modules Used In Layout” from the menu.

The “Select Module Group” dropdown is used to choose the type of test or group of modules to run, and specific modules can be selected or de-selected using the generated table in the tool.

For multi-instance targets, the ‘Core ID’ (aka Instance ID) field can be used to select which AWE Core instance to run the tests on.

After selecting the “Start Test” button, the tests will execute be executed and the results will appear in the “Results” pane. Results The results can be saved to a .csv CSV file using the ‘Save Results’ button.

...

Two layouts can be compared by selecting the ‘Tools → Compare Layouts’ menu item and selecting the awd AWD files associated with the layouts.

...

Another way to diff systems is to save the layouts in . AWJ format. Because . AWJs are plaintext JSON representations of a layout, any diff tool or text editor can be used to spot the delta between systems.

For quick diffing, LST files can also be generated / compared.

Measurements

Many modules have associated frequency responses. The measurement dialog measures the composite frequency response between two points in your signal processing layout. To set up a measurement, first place marker modules at the beginning and end points of the desired measurement path in the layout.

...

This function performs diagnostic measurements on the a connected tuning interface that carries commands from the AWE Server to the target. This , and is handy to have when porting developing an AWE Core to a new targetBSP, or while troubleshooting a tuning interface implementation. The functionality can be accessed via the ‘Tools Tuning Interface Test’ menu item. Test results indicate the interface speed under various conditions. For more information, see the DSP Concepts user forum.

...

, defined by the user in the Test window.

...

The test performs a series of Read, Write, and Read/Write commands over the tuning interface, with test configurations specified by the user. These configurations are modified in the Test Setup section, and are as follows;

  • Comma separated list of vector lengths to test

  • Number of Biquads to load

  • Number of seconds to run each test.

Flash Manager Tool
Anchor
FlashManagerTool
FlashManagerTool

The Flash Manager tool, which is delivered as part of the AWE Server, enables users to easily add and remove Audio Weaver Binary files (*.awbAWB) on targets that support flash file systems. Once added to flash, the .awb AWB file will be loaded by the AWE Core at boot-time and the target can run in stand-alone operation. See the next section ‘Using the Flash Manager’ for instructions on how to do this.

Note that another alternative for stand-alone operation is to store the .awb AWB contents in a C array and compile it into an application directly. This method can be used on targets with or without a flash file system. For more information on this, see Standalone Operation.

...

Using the Flash Manager Tool

  1. Generate an .awb AWB file for your desired Audio Weaver design (.awdAWD ) in Designer by going to ‘Tools -> Generate Target Files’.

  2. Select ‘AWB’ target file type and choose the directory to which the .awb AWB file will be saved.  Change the ‘Save Basename’ field to a name that is less the 16 characters, then hit the “Generate” button.  It will then start compiling the system for creation of the .awb AWB file. 

  3. Once the .awb AWB file has been successfully generated, the following window will appear:

  4. In AWE Server, select ‘Target -> Change Connection’ and connect to your target with the appropriate option.

  5. In AWE Server, select ‘Flash -> Flash Manager’.  Then press “Add File” button.

  6. Browse to the previously-created .awb AWB file and select it as the input file.  Ensure that the file type is “Compiled Script” and check the box next to “Boot file” to designate this file to be used at boot-up (attribute = 26). Click the “Add” button to load the file into memory.

  7. Once the progress completes, click “OK”.

  8. After the file has been added, it will show up in the list “Flash file system on target” in the Flash Manager window. When you reset your target hardware and reconnect AWE Server to it, you should see a non-zero CPU % and heap allocated in the AWE Server, which indicates that the layout is indeed running.

...

Note: This feature is currently supported only for AWE Core based targets and is not supported on Native or AWE Core OS targets.

...

Process Files

...

Tool

...

The file processing Process Files tool can be used to send process audio data files through a layout and record the output . This feature is as WAV files. The tool accepts MP3 and WAV files as input, but always generates a WAV file as output (even if an MP3 file is provided).

The tool is opened with the Audio Weaver Designer Tools->Process Files menu item.

Info

Note: The Process Files tool cannot be used when connected to an external target, and is only supported in Native mode.

The tool accepts multiple audio files as input, and is thus useful for batch processing audio files and for quickly testing the output of your audio system. This tool will process files as quickly as possible, so operations are typically faster than real-time. Even more processing speed can sometime be achieved by increasing the block size in your layout. The tool is designed to process data faster than in real-time, making it convenient for verifying the output of larger layouts/many files.