You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Felix Queißner cb45e3309c
Update README.md
7 months ago
.github/workflows Implements continous deployment 7 months ago
board-support Makes microchip/atsam example and bsp work 8 months ago
build Makes AVR example fit, but still crashes compiler 8 months ago
core Moves some files out of core 7 months ago
design Moves some files out of core 7 months ago
docs Moves some files out of core 7 months ago
examples Makes AVR example fit, but still crashes compiler 8 months ago
for-extraction/uf2-flasher Refactors packaging process from bash to python 9 months ago
tools Implements continous deployment 7 months ago
.envrc Refactors packaging process from bash to python 9 months ago
.gitattributes Initial vomit: not working at all, basic docs. 2 years ago
.gitignore Adds examples for espressif/esp, gigadevice/gd32 8 months ago
README.md Update README.md 7 months ago
build.zig Makes examples/next-gen kinda build with experimental setup. Packages are now correct and microzig-build can determine all available targets and BSPs. 8 months ago
build.zig.zon Makes examples/next-gen kinda build with experimental setup. Packages are now correct and microzig-build can determine all available targets and BSPs. 8 months ago
flake.lock Refactors packaging process from bash to python 9 months ago
flake.nix Refactors packaging process from bash to python 9 months ago

README.md

MicroZig Logo

Chat Downloads Continuous Integration

NOTE: This is in development; breaks in the API are bound to happen.

What version of Zig to use

0.11.0

Contributing

Please see the project page, its used as a place to brainstorm and organize work in ZEG. There will be issues marked as good first issue or drafts for larger ideas that need scoping/breaking ground on.

Introduction

This repo contains the infrastructure for getting started in an embedded Zig project; it "gets you to main()". Specifically, it offers:

  • a single easy-to-use builder function that:
    • generates your linker script
    • sets up packages and startup code
  • generalized interfaces for common devices, such as UART.
  • device drivers for interacting with external hardware
  • an uncomplicated method to define xref:interrupts[interrupts]

Getting Started

Search for your chip family in the examples and get the archive.

You can easily get started based on that.

Design

For MicroZig internals please see the Design Document.

Repository structure

  • build/ contains the build components of MicroZig.
  • core/ contains the shared components of MicroZig.
  • board-support/ contains all official board support package.
  • examples/ contains examples that can be used with the board support packages.
  • tools/ contains tooling to work on MicroZig itself, so deployment, testing, ...
  • design/ contains images and logos

Versioning Scheme

MicroZig versions are tightly locked with Zig versions.

The general scheme is ${zig_version}-${commit}-${count}, so the MicroZig versions will look really similar to Zigs versions, but with our own commit abbreviations and counters.

As MicroZig sticks to tagged Zig releases, ${zig_version} will show to which Zig version the MicroZig build is compatible.

Consider the version 0.11.0-abcdef-123 means that this MicroZig version has a commit starting with abcdef, which was the 123rd commit of the version that is compatible with Zig 0.11.0.