You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

This page is under development

Introduction

RDK-B components are designed to avoid platform or silicon dependencies. Hardware Abstraction Layer (HAL) defines a standard interface for hardware vendors to implement. The HAL layer abstracts the underlying hardware like MOCA, Wi-Fi, etc. through a standard set of APIs defined as part of RDK-B HAL for the respective components. This HAL layer is implemented per platform and the rest of the components can be compiled to run on the new platform without major modifications.

The HAL in RDK-B Architecture section gives an overview of CCSP framework's Hardware Abstraction Layer.

HAL can be common-HAL or component-specific-HAL

  •  A common HAL provides the necessary abstraction to all the CCSP components to interface with other common hardware components.
  •  Components may define a component specific HAL to hardware drivers, that are only used by that component


Component Specific HAL

  • HAL APIs will be available in the CMF repo path: "../rdkb/components/opensource/ccsp/hal/source/"
  • PandM HAL Integration (back-end) Layer is also known as component specific HAL.
  • This layer makes call to underlying Linux system calls/commands, third party modules, open source modules and other CCSP components to execute the requests.
  • This layer will be more component specific and will be providing APIs to CCSP so as to manage a particular hardware module of the system.
  • Following HALs available in "../rdkb/components/opensource/ccsp/hal/source/" path.
    • Wifi  
    • CM   
    • DHCPv4C
    • Ethernet Switch
    • MoCA
    • MSO_Management
    • MTA Agent
    • Platform

Wi-Fi HAL Implementation

       All HAL functions prototypes and structure definitions are available in wifi_hal.h file.

  • Latest version of RDKB supports 300+ Wi-Fi HAL API’s
  • Based on how Wi-Fi vendor exposes their driver capabilities in user space, the HAL API’s can be implemented in wifi_hal.c
  • To see the Wi-Fi HAL APIs. Please refer WiFiHAL in the component page.

HAL Reference (Under Development)

See the HAL guide for details about HAL




  • No labels