...
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).
...
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.
|
For more information about how to use these target files, please see the AWE Core 8 API Quick Start.
...
After selecting the “Start Test” button, the tests will be executed and the results will appear in the “Results” pane. The results can be saved to a CSV file using the ‘Save Results’ button.
...
...
Profiling
When a layout is running, its computation and memory usage can be measured by selecting the ‘Tools 🡪 Profile Running Layout’ menu item. This will pop up a dialog displaying fine grained profiling information for the entire layout and for each module.
...
Manual Profiling
In addition to the real-time profiling offered by Profile Running Layout menu, Designer also provides the ‘Tools 🡪 Manual Profile Layout’ tool. The Manual Profiling tool manually pumps each sublayout in a design with tuning commands, which does not rely on any real-time audio interrupts. Collecting data in this way allows for more accurate profiling in certain situations:
Multi-rate Layouts (multiple clockdividers). Because each clockdivided sublayout is typically called in its own thread, the pre-emption of lower priority threads can introduce double-counting while profiling a multi-rate layouts in real time. This can lead to over-estimates of CPU load for sublayouts. Manual profiling pumps each sublayout independently so no pre-emption can occur.
If a layout is exceeding 100% CPU load. Traditional profiling can be inaccurate in this case since audio frames are being missed and not counted towards overall cycles. Since there is no timing requirement when manually pumping layouts, manual profiling can provide accurate CPU loads greater than 100%.
If real-time audio is not available on the connected target. This happens most often when the firmware for the target is still under development, but the CPU load required by a layout needs to be known. Only a tuning interface is required on the target for the Manual Profiling tool to measure CPU load.
Additionally, the Manual Profiling tool allows the user to input an audio file in order to profile the layout under specific scenarios. Both real-time and manual profiling results can be saved to file for later use using the ‘Export to File’ button. Results will be refreshed using the ‘Refresh’ button.Designer offers a number of ways to profile computational and memory usage of a layout loaded on a target.
Real-Time Profiling: This tool collects average CPU and memory usage details of the running layout and of each module in the layout. Real-Time Profiling supports multiple clock-dividers and Multi-Instance targets, and results can be exported to .csv files.
Manual Profiling: This tool can report the same information as the Real-Time Profiling tool, but the data collection happens differently. Rather than querying the target while the layout is pumped in real time, this tool sends individual pump commands to the target and collects the profiling data based on this non-real-time processing. Manual Profiling can sometimes report more accurate profiling results than Real-Time Profiling, for example if any of the following are true:
the CPU load required to run the layout on the target is greater than 100%
the target does not have real-time audio processing implemented
the system has a lot of pre-emption that can interrupt audio processing
Peak Profiling: While the layout is running on the target, the Peak Profiling tool queries the target’s average and peak CPU load for the user defined duration and plots the results. Peak Profiling supports multiple clock-dividers and Multi-Instance targets, and results can be exported to .csv files.
AWE_Server Profiling: The AWE_Server GUI shows a high level view of memory usage across each AWE heap, and the total % of CPU usage of the selected AWE Instance.
For more details on all of these types of profiling, see this application note: https://documentation.dspconcepts.com/awe-designer/latest-version/profiling-in-audio-weaver-tips-and-tricks
Show Unsaved Changes
To see all the changes since the last save, select ‘Tools Show Unsaved Changes’ for a display using the diff tool the you set in the ‘Global Preferences’ Dialog.
...
Note: This feature is currently supported only for AWE Core based targets and is not supported on Native or . Profiling support for AWE Core OS targetswith multiple CPUs can be enabled with CPU Affinities as described in https://documentation.dspconcepts.com/awe-designer/latest-version/profiling-in-audio-weaver-tips-and-tricks.
Process Files Tool
...
The Process Files tool can be used to process audio files through a layout and record the output 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).
...