Inside RDK

Inside RDK: Emulator for Developers

As an open source CPE software project, RDK has piqued the interest of a wider crowd of developers beyond the traditional cable industry with little background in Linux internals and build systems. Application developers have always craved for an easy way to by-pass the complexities of setting up a build environment and focus on developing next generation applications for the RDK platform. Over the years, RDK has attempted to adopt a more industry standard build environment with the migration to Yocto back in 2015. However, application developers still need to setup their own build system to build an RDK image and develop applications which may be intimidating to few. The RDK Emulator now has a new feature named “Emulator for Developers” which attempts to overcome these challenges and provide a simple interface for developers to build, run and debug on RDK.

Emulator for developers is a pre-built emulator image that can be launched on a virtual machine. Users can then login to the emulator, rebuild the image and run RDK without having to setup their own build system. It is now possible to modify and build both RDK and open source components from within the emulator itself.

The developer image of the emulator is bundled with the meta-toolchains and the development tools for the build process of any component. The emulator provides both a compile time and run time environment. The emulator image needs to be built once by someone who is familiar with the build process. The image then, can be distributed to developers. Corporates can automate the emulator image build and make it available through continuous integration tools such as Jenkins. Application developers need not bother about setting up a build environment and can download the pre-built images and start working on developing applications for RDK.

The emulator for developers can also be used as a debugging environment and comes with GDB built in. Users can use the debugging features of GDB such as step-through the source code and setting break-points to analyze the behavior of code flow.

With these features, emulator for developers is intended to make the emulator an integrated development, emulation & debugging platform for developers.