Changes

Jump to: navigation, search
Testbed
As stated previously, the inference algorithm is keyword spotting. The data being processed are thus audio samples retrieved by the Cortex M7 and sent to the Cortex A53 complex.
=Implementation=From a software perspective, we identify two different domains(see also the following picture):
* D1, which refers to the Yocto Linux world running on the Cortex A53 complex
* D2, which refers to the firmware running on the Cortex M7 core.
TBD image D1 and D2 communicates through the [https://en.wikipedia.org/wiki/RPMsg RPMsg protocol]. On the Cortex M7 side, the [https://github.com/NXPmicro/rpmsg-lite RPMsg Lite] implementation by NXP was used. The interface between D1 and D2 comprises a shared memory buffer as well. This area is used to exchange audio samples. Synchronization messages are exchanged over RPMsg channels instead. For the sake of simplicity, the audio samples are not captured by the Cortex M7 with a real microphone. They are retrieved by prefilled memory buffers that can not be accessed by Cortex A53 cores. For the purposes of discussion, this simplification is neglectable as the communication mechanisms between the domains are not affected at all.=Implementation=FromTo this end, a reserved buffer is also allocated in the SDRAM bank. In this example, reservation is implemented at Linux device tree level. It is also possible to make use of a hardware-based, stronger mechanism thank to the i.MX8M Plus Resource Domain Controller (RDC).
=Testing=
==Boot sequence==
This example was arranged in order to execute the following boot sequence:
4,650
edits

Navigation menu