Multicore Framework

Enabling complex multicore and heterogeneous SoC embedded development and system IP and memory consolidation.

Nucleus Multicore Framework

Today’s complex system-on-chip (SoC) architectures are combining more application-class and microcontroller-class cores than ever before. As a result, the consolidation of heterogeneous operating environments on a single device is much harder to achieve and more difficult for developers to utilize the underlying hardware.

The Multicore Framework allows developers to configure and deploy multiple operating systems and applications across homogeneous or heterogeneous processing cores by providing lifecycle management, boot order control, and inter-core communications to one another.

Multicore Framework

Today’s complex system-on-chip (SoC) architectures are combining more application-class and microcontroller-class cores than ever before. As a result, the consolidation of heterogeneous operating environments on a single device is much harder to achieve and more difficult for developers to utilize the underlying hardware.

The Multicore Framework allows developers to configure and deploy multiple operating systems and applications across homogeneous or heterogeneous processing cores by providing lifecycle management, boot order control, and inter-core communications to one another.

Manage Inter-Processor Communication (IPC)

Inter-Core Communications

When one application needs to communicate with another application, the rpmsg APIs are used. The Nucleus Multicore Framework hides the complexities of managing heterogeneous hardware and software environments providing a simplified application level interface to the user using rpmsg. Further, it hides the complexities of managing heterogeneous hardware and software environments and provides a simplified application level interface to the user.

Remote Processor Lifecycle Management

Lifecycle Management and Boot Order Control

In order to effectively deal with the complexities of managing life cycle of several different operating systems on possibly dissimilar processors, and to provide an enabling inter-processor communications (IPC) infrastructure for offloading compute workload, new and improved software capabilities and methods are required.

Nucleus Multicore Framework provides the remoteproc component and API for life cycle management of remote processors and their associated software contexts to enable control of the reset, load, execute, and reboot states of the processors and cores.

Consolidate Domains

Debugging

System developers typically find themselves in situations having to simultaneously debug several different OS environments deployed on dissimilar processors on heterogeneous SoCs. Having a unified debugging environment with awareness of operating systems involved will not only enhance the debug experience, but improve productivity. Sourcery™ CodeBench tools provide a unified IDE with OS awareness for all supported OS environments. CodeBench also supports a multitude of debug options which include JTAG-based debug for debugging Linux kernel space, Nucleus RTOS kernel and applications, and bare-metal contexts; GDB-based debug for Linux user space, and Nucleus RTOS-based applications.