By Mark Hermeling
There are a lot of very exciting heterogeneous processors out in the market today that provide very useful and targeted functionality. They typically have one or more ‘application processing cores’ and one or more ‘offload cores’. The application processing cores are used to do the higher level control functionality and the offload cores deal with very specific targeted functions such as industrial protocols, or digital signal processing.
A great example of these processors is the TI Sitara processor portfolio. The line offers great scalability from ARM® Cortex®-A8 to ARM Cortex-A15 and beyond for the application processor and a wide variety of offload cores doing everything from digital signal processing to industrial networking protocol offload. The processors provide great performance with low power consumption and heat dissipation.
The challenge with these processors is how to best make use of them as they do raise the level of complexity for the developer. In the end the developer is responsible to get data from the IO devices onto these processors, get it processed by the offload cores and then handled by the application processors. However, the developer does not want to develop all this ‘plumbing’ logic from scratch. The developer wants to do the least amount of work with the least amount of risk to get this SoC humming. The developer wants to implement application logic, not plumbing.
This is where TI and Wind River come into play. TI provides the hardware as well as pre-defined logic blocks that the developer can use. Wind River provides the operating environment and tools to make it sing. There is not one silver bullet here. The hardware is so flexible that there are multiple ways to get the most out of the processor and the board that it is mounted on. Wind River Professional Services can provide turn-key integration for the VxWorks Board Support Package that provides access to the devices on the hardware board.
A great example of these type of heterogeneous systems is the Sitara AM57x processor family from Texas Instruments. These processors are heterogeneous in both operating systems and processing hardware. AM57x has a single or dual ARM Cortex-A15 as the main processing subsystem and a multicore programmable real-time unit (or PRU-ICSS). The hardware has built-in memory based communication busses that can be used for communication between the PRU-ICSS and the application processor.
The A15s can run VxWorks and the PRU-ICSS can handle a number of out-of-the-box protocols such as EtherCAT or PROFIBUS/PROFINET as well a customer-defined functionality if desired.
Communication between the A15s and the PRU-ICSS happens through shared memory regions with interrupt-driven signaling, making it easy to program and efficient to get data across.
Wind River’s customers have been using the earlier Sitara processors (the AM335x and AM437x families) in numerous designs over the past years. The Sitara AM57x processors have just been announced by TI, and Wind River will provide out-of-the-box support for VxWorks on this processor running as a native OS, as well as provide support for virtualization using the ARM Virtualization Extension in the ARM Cortex A15.