# sema-linux
**Repository Path**: adlink/sema-linux
## Basic Information
- **Project Name**: sema-linux
- **Description**: SEMA (Smart Embedded Management Agent) supports on Linux
- **Primary Language**: C
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-07-17
- **Last Updated**: 2023-01-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
What is SEMA?
-----
**The Smart Embedded Management Agent (SEMA®)**
Downtime of devices or systems is not acceptable in today's industries. To help customers to analyze their systems and take counter measures for preventive maintenance. We provide the solution which is able to monitor and collect system performance and status information from the hardware in a timely.
A Board Management Controller is embedded on our hardware and collects all relevant technical information from the chipset through the different communication interfaces such as eSPI, I2C and SMBus.
SEMA® middleware is on the top of Board controller that provides a ready-made application that shows the data in user-friendly graphic interfaces, suitable for supervision and troubleshooting.
Important Notice
-----
SEMA4.0 would be designed the abstraction layer to integrate the different controllers (EC, TivaBMC and LiteBMC) and this integration will be ready in Q4 2022.
Prior to the release of SEMA 4.0 integration, **please check which platform/hardware you're using first and then select the corresponding branch on GitHub**
| **SEMA® - EC controller**
click [here](https://github.com/ADLINK/sema-linux/tree/sema-ec) to download the latest release | **SEMA® - TivaBMC controller**
click [here](https://github.com/ADLINK/sema-linux/tree/sema-bmc) to download the latest release |
| :----------------------------------------------------------- | :------------------------------------------------------------ |
| - cExpress-TL , cExpress-EL, cExpress-AR
- Express-ID7, Express-ADP, Express-TL
- COM-HPC-cADP, COM-HPC-sIDH
- LEC-EL
- NanoX-EL | - Express-CF/CFE, Express-KL/KLE, Express-SL/SLE, Express-DN7, Express-BD7
- cExpress-WL, cExpress-KL, cExpress-SL, cExpress-AL
- nanoX-AL
- LEC-AL
- Q7-AL
- LEC-PX30 |
Architecture Overview
-----
Here is the architecture of SEMA 4.0 as below:

* Modularization implementation in SEMA drivers and each driver can be individually installed based on your needs.
* When you develop your program, we provide two approaches to access the board controller:
* **EAPI(Embedded API) library:**
PICMG® organization defined the software specification on COM Express for the industrial applications. Here is the available specification https://www.picmg.org/wp-content/uploads/COM_EAPI_R1_0.pdf for your reference.
* **Sysfs Interface:**
With the exposure of Sysfs interfaces, it can be easier and straightforward to access the board controller.
**Note:** All of source code is free to use which including SEMA driver, EAPI library, and utility.
Features Set
-----
* Power Consumption
* User Area Access
* I2C Control
* Temperatures (CPU and Board)
* Board Information (Serial Number, Part Number, Firmware Version...)
* Fan Control
* GPIO Control
* Watch Dog
Support Operating System
-----
* Windows OS: Windows 10 64bit
* Linux OS: Ubuntu 18.04/20.04.
**Note:** since kernel functions of Ubuntu 22.04 was different from older versions to cause the malfunction of SEMA4.0. It will be fixed in the middle of July.
* Yocto Linux: see sema4.0 branch of [meta-adlink-sema](https://github.com/ADLINK/meta-adlink-sema) for more details
* VxWorks (by request)
* QNX (by request)
####