The embedded software should be capable of managing internal processes reliably, to achieve the goals set for that equipment. This means that a deep knowledge of the running hardware and of all involved processes is needed to successfully implement the firmware.
The embedded software could be executed in small micro-controller SOCs (System on Chip) - such as RISC-V, Cortex-M, or Cortex-R as standalone code - or tasks managed by an RTOS (Real-Time Operating System), or it can be a custom-built Linux system running in an application core that is part of an FPGA (Field Programmable Gate Array) or of a processor system. In any case, the software will include drivers that will allow the integration with the device-specific hardware, which will be very different depending on the final functionality of the device. A simple amplifier would contain a small micro-controller to adjust the gain and to show the parameters in a small LCD. A satellite modem, though, will contain an application processor with several cores to manage the full system, including an internal GUI and external web dashboard, and also several micro-controller cores that will synthesize signals or control the ADC and DAC data converters (analog-digital / digital-analog). It might even be the case that the synthesis consists of modulation or demodulation-based code in the programmable logic area of an FPGA.
Amphinicy has developed the skills and has the experience of integrating all these parts in the space domain.