SiFli SDK Peripherals is a repository dedicated to extending the SiFli SDK with support for various peripheral device drivers. This project aims to provide developers with a collection of high-quality, well-structured, and easy-to-integrate drivers, covering common hardware such as cameras, sensors, displays, audio devices, and Flash modules.
The drivers in this repository are designed to integrate seamlessly into SCons-based build systems and can also be downloaded via the SiFli Component Manager.
- Extensive Hardware Support: Covers Camera, Sensor, LCD, Touch Panel, Audio, and more.
- Modular Design: Independent maintenance for each driver, ensuring low coupling and easy portability.
- Out-of-the-Box: Adheres to SiFli SDK standard interfaces, providing standardized configuration (Kconfig) and build scripts (SConscript).
- Package Manager Support: Supports packaging and publishing to the SiFli Component Center, enabling one-line installation.
For easier navigation and management, this repository adopts a hierarchical directory structure:
SiFli-SDK-Peripherals/
├── camera/ # Camera drivers
│ ├── bf30a2/ # Example: BF30A2
│ │ ├── src/ # Source code
│ │ ├── inc/ # Header files
│ │ ├── Kconfig # Configuration options
│ │ └── SConscript # Build script
│ └── ...
├── sensor/ # Sensor drivers (IMU, Temp/Hum, etc.)
├── lcd/ # Display drivers
├── touch/ # Touch panel drivers
└── ...
For published driver packages, you can install them directly into your project:
- Visit SiFli Packages to find the required driver.
- Run the package management command in your SDK project directory (refer to SDK documentation for specific commands).
- Clone this repository as a submodule in your project or download the specific driver folder.
git clone https://github.com/OpenSiFli/SiFli-SDK-Periphierals.git
- Place the driver folder into your project's
packagesor custom component directory. - Include the driver path in your project's
SConscriptor enable it via Kconfig.
We warmly welcome community contributions for new drivers or optimizations!
- Fork this repository.
- Create a new feature branch based on
main(git checkout -b feature/new-driver). - Commit your changes. Please ensure
KconfigandSConscriptare included to support the build system. - Push to your branch (
git push origin feature/new-driver). - Create a Pull Request.
If you encounter bugs or have feature suggestions, please provide feedback via GitHub Issues.
When reporting, please include:
- Chip Model (e.g., SF32LB55x, SF32LB52x)
- SDK Version
- Driver Name and Version
- Reproduction Steps and Logs
This project is licensed under the Apache-2.0 license.