Giter Club home page Giter Club logo

libtock-rs's Introduction

Build Status

libtock-rs

Rust userland library for Tock

Generally this library was tested with Tock Release 2.1.1.

The library should work on all Tock boards, but currently apps must be compiled for the flash and RAM address they are executed at. See Fix relocation for more details. You may either compile a process binary especially for your board and use only a single application written in rust at a time, or use the make tab target that builds examples for a series of likely useful flash and RAM addresses.

Getting Started

  1. Ensure you have rustup installed.

  2. Clone the repository:

    git clone --recursive https://github.com/tock/libtock-rs
    cd libtock-rs
  3. Install the dependencies:

    make setup
  4. Use make to build examples

    make nrf52 EXAMPLE=console # Builds the console example for the nrf52

Using libtock-rs

The easiest way to start using libtock-rs is adding an example to the examples/ folder. We recommend starting by copying the console example, as it is a simple example that shows you how to perform normal debug prints.

Building for a specific board

To build your example for your board you can use

make <platform> EXAMPLE=<example>

An example can be flashed to your board after the build process by running:

make flash-<platform> EXAMPLE=<example>

This script does the following steps for you:

  • cross-compile your program
  • create a TAB (tock application bundle)
  • if you have a J-Link compatible board connected: flash this TAB to your board (using tockloader)

Building a generic TAB (Tock Application Bundle) file

To build your example for a variety of boards you can use

make tab EXAMPLE=<example>

To install the tab use tockloader

tockloader install target/tab/<example.tab>

Tockloader will determine which compiled version with the correct flash and RAM addresses to use.

License

libtock-rs is licensed under either of

at your option.

Submodules, as well as the code in the ufmt directory, have their own licenses.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

The contribution guidelines can be found here: contribution guidelines

libtock-rs's People

Contributors

alevy avatar alexandrucarp avatar alexandruradovici avatar alistair23 avatar anneonciulescu avatar anotherthomas avatar bors[bot] avatar bradjc avatar cosminggeorgescu avatar danutaldea avatar dcz-self avatar fhars avatar gendx avatar hudson-ayers avatar joe1994 avatar jrvanwhy avatar kupiakos avatar l162 avatar labbott avatar lschuermann avatar mshetairy avatar potto216 avatar ppannuto avatar rajivr avatar rarescon avatar sheepseb avatar torfmaster avatar twilfredo avatar valexandru avatar woyten avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.