All Projects → kvasir-io → toolchain

kvasir-io / toolchain

Licence: other
A cmake based toolchain with support for diffrent micrcocontrollers.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to toolchain

blflash
bl602 serial flasher
Stars: ✭ 41 (+156.25%)
Mutual labels:  toolchain, flash
guepard
flash to html5 converter, as3 to javascript translator
Stars: ✭ 58 (+262.5%)
Mutual labels:  flash
Asciidoc Book Toolchain
Book publishing toolchain based on AsciiDoc
Stars: ✭ 122 (+662.5%)
Mutual labels:  toolchain
Orangec
OrangeC Compiler And Tool Chain
Stars: ✭ 204 (+1175%)
Mutual labels:  toolchain
Mingw W64 Build
MinGW-w64 build script
Stars: ✭ 124 (+675%)
Mutual labels:  toolchain
Rushstack
Monorepo for tools developed by the Rush Stack community
Stars: ✭ 3,465 (+21556.25%)
Mutual labels:  toolchain
Termux Ndk
android-ndk for termux
Stars: ✭ 91 (+468.75%)
Mutual labels:  toolchain
xcross
"Zero Setup" cross-compilation for C/C++. Supports numerous architectures, build systems, C standard libraries, vcpkg, and Conan.
Stars: ✭ 29 (+81.25%)
Mutual labels:  toolchain
Ds2
Debug server for lldb.
Stars: ✭ 243 (+1418.75%)
Mutual labels:  toolchain
Nxdk
The cross-platform, open-source SDK to develop for original Xbox: *new* xdk
Stars: ✭ 200 (+1150%)
Mutual labels:  toolchain
Elinux
嵌入式 Linux 知识库 (elinux.org) 中文翻译计划;本项目发起人发布了《360° 剖析 Linux ELF》视频课程,欢迎订阅:https://www.cctalk.com/m/group/88089283
Stars: ✭ 193 (+1106.25%)
Mutual labels:  toolchain
Symbiflow Arch Defs
FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.
Stars: ✭ 137 (+756.25%)
Mutual labels:  toolchain
Toolchain
🛠️ GitHub Action for `rustup` commands
Stars: ✭ 229 (+1331.25%)
Mutual labels:  toolchain
Backend
Backend is responsible to provide data to EVOlution App - iOS
Stars: ✭ 123 (+668.75%)
Mutual labels:  toolchain
anyfesto
Low cost Raspberry Pi /Linux based access point with audio, education and communications local content server. Inspired by the ideas of sharing with others. Anyfesto - a platform from which to speak.
Stars: ✭ 66 (+312.5%)
Mutual labels:  chip
Xchain
A cross compiler toolchain targeting macOS/iOS/etc.
Stars: ✭ 95 (+493.75%)
Mutual labels:  toolchain
Polymcu
An open framework for micro-controller software
Stars: ✭ 173 (+981.25%)
Mutual labels:  toolchain
Dep
Go dependency management tool experiment (deprecated)
Stars: ✭ 13,106 (+81812.5%)
Mutual labels:  toolchain
padring
A padring generator for ASICs
Stars: ✭ 19 (+18.75%)
Mutual labels:  chip
emvpt
Minimum Viable Payment Terminal
Stars: ✭ 20 (+25%)
Mutual labels:  chip

Kvasir::toolchain

This toolchain is part of the Kvasir project. Kvasir is a collection of zero cost statically checked libraries for resource constrained systems including microcontrollers. More information at kvasir.io.

Introduction

Kvasir toolchain is a cmake based toolchain with support for different microcontrollers. It supports flashing for most supported chips.

How to setup

To use the Kvasir toolchain, copy the example CMakeLists to your project directory, or add the contents to your existing CMakeLists.txt.

The CMakeLists file contains several parameters that need to be adjusted to your environment:

# Where the toolchain is located on your pc.
set(toolchain ~/kvasir_toolchain) # Your path to kvasir-toolchain (this repository).

# The compiler that is used:
include(${toolchain}/compilers/arm-none-eabi.cmake)

# The target chip that is compiled for:
include(${toolchain}/targets/arm32/cm4/nordic/nrf/nrf52/nrf52.cmake)

# The flashscript used to flash the binary (optional):
include(${toolchain}/targets/arm32/cm4/nordic/nrf/nrf52/flashscripts/nrfjprog.cmake)

For the compiler, target chip and flash script, you can use any of the cmake files available in this repository (see Directory Structure), or you can add your own.

How to use

After setting up the CMakeLists.txt file, create a build directory within your project directory and generate a Makefile using the following comands:

mkdir build
cd build
cmake ..

In your build directory, run make to compile the source into an ELF file.

If you've included a flash script, running make flash will create a binary and flash your microcontroller.

Directory structure

On the toplevel, the toolchain contains the following two directories:

compiler

This contains cmake files for setting the compiler toolchain to be used.

targets

The targets directory contains target cmake files and dependencies for specific microcontrollers.

This directory hierarchy is ordered by architecture (e.g. arm32/cm3), vendor (atmel), and then microcontroller model (sam3x/sam3x8e).

Microcontroller-specific headers, startup code and linker scripts are stored in the deps folders in the deepest levels of /targets. More generic dependencies live in deps folders on higher levels.

Contributing

If you want to contribute by adding a chip or flash script, please copy one of the existing chip cmake files and edit it for the new chip. Try to keep to the current structure and create a pull request to get feedback. Thanks in advance.

Contributors

We'd like to thank the following contributors, in alphabetical order:

Maintainer

This library is maintained by Carlos van Rooijen (@CvRXX). Requests for push rights could be addressed to him via kvasir (at) carlosvanrooijen.nl. The maintainer is also the only one who could approve pull requests to master.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].