Crate bnx_sal

Crate bnx_sal 

Source
Expand description

§Bnx System Abstraction Layer

System Abstraction library abstracts a system. It provides interfaces to HAL layer above such that HAL layer above is void of any core and system specific information and core and system agnostic. However RISC-V standard specific core details that are common acrosss all RISC-V cores aret part of Common Core Abstraction Layer . System Abstraction Layer abstracts a system and Core Abstraction Layer abstracts a core.

§Example

E31 - a core and its abstracted in Core Abstraction Layer.
FE310 - a system with E31 core and peripherals is abstracted in System Abstraction Layer.

SAL dont cover that are abstracted in CAL instead might use them. In software architecture, CAL & SAL are beside each other as below.

---------------- Hardware Abstraction Layer --------------------------
----------------------------------------------------------------------
| System Abstraction Layer |  Core Abstraction Layer
----------------------------------------------------------------------

SAL abstracts:

Gpio
Uart
Spi
I2c

Whereas CAL abstracts:

Core Clock
Core Boot

Modules§

fe310
FE310 module