Analog Devices Inc. bare-metal software framework for systems without an operating system.
Most of ADI's products are peripherals to a non-ADI digital engine (FPGA, microprocessor, or microcontroller). While there is major work underway on FPGAs (Xilinx and Intel/Altera) and microprocessors (running an operating system like Linux), the efforts on microcontrollers are fragmented due to the diverse nature of the microcontroller market. no-OS provides reference projects for lower-end processors that can't run Linux or aren't running a specific operating system, helping customers use FPGAs/microcontrollers with ADI parts.
It provides:
- Platform-agnostic device drivers for ADI components that run without an operating system.
- A hardware abstraction layer so the same driver works across Xilinx, Intel, Maxim, STM32, ADuCM3029, Raspberry Pi Pico and more.
- Ready-to-build project examples you can flash to supported evaluation boards to get started quickly.
New to no-OS? Follow these steps:
-
Clone the repository with the
--recursiveflag to pull in all submodules:git clone --recursive https://github.com/analogdevicesinc/no-OS -
Set up your toolchain and build by following the Build Guide for your platform.
-
Pick a project from the projects list that matches your evaluation board, then build and flash it.
-
Explore the drivers you need in the drivers list.
Full documentation is hosted at analogdevicesinc.github.io/no-OS:
- Build Guide — set up your toolchain and build no-OS for your platform.
- Projects list — ready-to-build example projects, grouped by application area.
- Drivers list — reference documentation for every no-OS device driver.
- Drivers guide — how no-OS drivers are structured and how to create or port one.
- Contributing — submission checklist and coding style for pull requests.
Code documentation is automatically generated using Doxygen and is available at no-OS GitHub Pages.
Note: We are migrating the no-OS documentation from wiki.analog.com to the GitHub Pages site. Some content may still only be available on the wiki during this transition.
Contributions are welcome! Please read the Contributing guide for the submission checklist and coding style before opening a pull request.
-
If you want to use the most stable code base, always use the latest release branch.
-
If you want to use the greatest and latest, check out the main branch.
Feel free to ask any question at EngineerZone.