Skip to content
This repository was archived by the owner on Jul 26, 2024. It is now read-only.

dx3mod/bavar

Repository files navigation

bavar

A domain-specific build system for AVR C/C++ projects with a strong opinion on how to build them. Has deep integration with the existing toolchain to provide a better developer experience.

Features

  • ✍️ Opinionated project organization
  • 🏗️ Build with automatic dependency resolution
  • 🔌 Upload firmware to microcontroller (powered by avrdude)

Usage

Initialize a new AVR C project.

$ bavar init firmware -target attiny2313a blink
blink/
├── avr-project
└── src
    └── main.c

Configuration file avr-project.

(name blink)
(target attiny2313a 1mhz)

Compile and upload the current project (compile in release by default and use usbasp programmer).

$ bavar build @upload

Read the user guide.

Installation

This should already be installed on your system:

  • AVR GCC toolchain for compile projects
  • avrdude utility for uploading firmware to a microcontroller.

Optional: Git for downloading a project's dependencies, Python3 (and PIL module) for image conventions.

🚧 Now only works on Unix-like systems!

Prebuilt binaries

To get prebuilt binaries, see the releases page.

Build from source

using OPAM package manager.

$ opam pin https://github.com/dx3mod/bavar.git

Related

The project is being developed as part of the LabAvrPlatform platform.

Development

bavar written in modern OCaml with use Dune build-system and OPAM package manager. See Managing Dependencies With opam for details. See also development guide.

The project is no longer actively maintained, but a pull request is welcome.

About

A domain-specific build system for AVR C/C++ projects.

Topics

Resources

License

Stars

Watchers

Forks