Purple, Lighting, Flower, Petal, Plant, Texture, Light, Art, Graphics, Green

What stack is used for embedded software development at Nokia? Baremetal or some sort of RTOS?

Muhammad H. asked a question to András L.

View favourites
  • 1 replies
  • 8 views
  • Author: Muhammad H.
  • Category: Role, Role description
  • Date asked:
  • Last update:
  • András L.
    András L. Sw Dev. Specialist

    Hi,


    Nokia's embedded software development indeed utilizes both baremetal and various Real-Time Operating Systems (RTOS), with the choice driven by the specific requirements of the hardware, performance criticality, and complexity of the application.

    Examples on baremetal usage:

    • Radio Transceiver Control: In 5G base stations, the very low-level control of radio frequency (RF) components, such as power amplifiers, filters, and analog-to-digital converters, might be handled by baremetal code to ensure precise timing and synchronization critical for radio signal processing.
    • Bootloaders: The initial software that runs when a device powers on, responsible for initializing hardware and loading the main application or RTOS, is typically baremetal.
    • Specialized DSPs (Digital Signal Processors): For extremely high-throughput signal processing tasks within baseband units, dedicated DSPs might run highly optimized baremetal code to achieve the required computational intensity and real-time response.
    • Power Management Units: Simple, dedicated microcontrollers responsible for managing power states and wake-up sequences might use baremetal for efficiency.

    Examples on RTOS usage:

    • Control Plane Software in Base Stations: The software responsible for managing radio resources, handling signaling protocols (e.g., RRC, NAS), and orchestrating user plane traffic in 5G/4G base stations often runs on an RTOS (e.g., VxWorks, a real-time Linux variant, or a proprietary RTOS). This allows for concurrent handling of thousands of user connections and complex protocol stacks.
    • Packet Processing Engines: In network routers and switches, an RTOS can manage various tasks involved in packet forwarding, such as routing table lookups, QoS enforcement, and security policy application, ensuring high throughput and low latency.
    • Network Management Units: Devices responsible for monitoring, configuring, and managing other network elements often run an RTOS to handle various management protocols (e.g., SNMP, NETCONF) and user interfaces.
    • Edge Computing Platforms: More sophisticated edge devices that perform local data processing, analytics, and application hosting would typically leverage an RTOS or even a real-time Linux distribution to support multiple applications and services.

    In essence, Nokia's approach is pragmatic, selecting the most appropriate software stack based on the specific demands of each component within its diverse portfolio of telecommunications equipment, ranging from highly optimized hardware accelerators to complex network control systems.