| Crates.io | bnx-sal |
| lib.rs | bnx-sal |
| version | 0.1.0 |
| created_at | 2022-11-15 17:26:52.816848+00 |
| updated_at | 2022-11-15 17:26:52.816848+00 |
| description | Bnx System Abstraction Layer |
| homepage | |
| repository | |
| max_upload_size | |
| id | 715849 |
| size | 13,302 |
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 are part of Common Core Abstraction Layer. System Abstraction Layer abstracts a system and Core Abstraction Layer abstracts a core.
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