The RPU firmware is the software that runs on the SRPU for configuring the ISP instance, executing the 2A algorithm and configuring the sensor and other platform-related drivers.
The following list contains details of RPU firmware components:
- The ISP firmware and real-time operating system (RTOS) on the RPU must be compliant to the FuSa standard, while the ISP framework, a platform-independent abstraction from the HAL/OS layer, allows you to switch RTOS as needed.
- The RPU firmware consists of an ISP core stack, 2A algorithm, HAL layer, OS layer, Control layer, and Sensor drivers run on a RTOS.
- The RPU firmware components contain platform specific modules (for example, a inter-integrated circuit (IIC), general purpose input output (GPIO), timer, and watch dog timer (WDT)).
The following figure illustrates a typical use case of 15 sensors, with RPU firmware running in AMP mode on each RPU core, depicting the static allocation of the processing load across these cores.
The following are the typical components in RPU firmware.
Inter-Processor Communication (IPC)
The APU software communicates with the RPU Firmware through IPC to support the following functionality:
- Initialize ISP instance
- Start/Stop streaming
- 2A control
- Manage multiple stream scenarios
- Error handling and debug information
Sensor Library
The sensor library, an integral part of the firmware, allows for the seamless integration of new sensor drivers without requiring modifications to the core layer or firmware rebuild. Each sensor can have different resolutions and initializations.
2A Algorithm
The AE and AWB algorithms read the corresponding image statistics the ISP instance generates and ensures enhanced image quality by updating new parameter settings to the ISP and sensor module.