IUniversal examples for Hawkboard
The IUniversal examples package included in the Hawkboard SDK brings an introduction to the IUNIVERSAL API, which is an easy way for non-VISA, but still XDAIS compliant, algorithms to run via Codec Engine, even though it's not a video, imaging, speech or audio codec. IUniversal examples located at $(DEVDIR)/proprietary/iuniversal_examples, came along with two applications named FIR and RANDGEN.
FIR is just a digital filter working in a array of samples already defined in the application, which shows the output of the samples processed by the algorithm. RANDGEN is an aleatory number generator which shows that numbers. The purpose of the package is to show and learn about the IUniversal API, and how to build codecs and servers to run DSP algorithms. The Iuniversal_examples have all the configuration set to build the codecs and the servers for these examples with our dvsdk and against OMAPL138 platform (other platforms are support in this package). Once you have your linux image boot in your board, you can find a folder named iuniversal_examples, in where you can find the following files of the above applications:
fir_unitserver_evmomapl138.x64P randgen_unitserver_evmomapl138.x64P local_ti_platforms_evmOMAPL138_fir.xv5T local_ti_platforms_evmOMAPL138_randgen.xv5T remote_ti_platforms_evmOMAPL138_fir.xv5T remote_ti_platforms_evmOMAPL138_randgen.xv5T
The .x64P files are the server packages who let the applications run into the DSP. The IUniversal examples build two executables each application. The local one runs in the ARM side, and the remote one runs in the DSP side. To run one of these just type:
/iuniversal_examples # ./local_ti_platforms_evmOMAPL138_fir.xv5T /iuniversal_examples # ./local_ti_platforms_evmOMAPL138_randgen.xv5T /iuniversal_examples # ./remote_ti_platforms_evmOMAPL138_fir.xv5T /iuniversal_examples # ./remote_ti_platforms_evmOMAPL138_randgen.xv5T
Before running a remote executable, run the following script:
/ # loadmodules.sh
This script is in charge to load the cmem and dsplink modules into the kernel. These modules are need it and are part of the DSP integration of the TI's DVSDK. These modules are created when the DVSDK is build.