Userland apps for Tock written in C and C++
Clone or download
bors[bot] and alevy Merge #33
33: Update shell.nix r=ppannuto a=alevy

Upgrades tockloader, better handling of elf2tab

Co-authored-by: Amit Aryeh Levy <amit@amitlevy.com>
Latest commit 88dde32 Dec 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc doc: move relevant docs from tock repo Jun 20, 2018
examples Merge pull request #30 from tock/ambient-light-test Dec 1, 2018
libc++ Use portable invocation of bash in shell scripts Apr 19, 2018
libnrfserialization userland: update libnrfserialization Apr 2, 2018
libtock crt0: move sp early if shrinking brk Nov 16, 2018
lua53 userland: add precompiled libraries for Cortex-M3 Feb 2, 2018
newlib Use portable invocation of bash in shell scripts Apr 19, 2018
simple-ble Document simple-ble May 3, 2018
support userland/support/warning_header.h: Include stdarg.h explicitly Aug 18, 2017
tools elf2tab has moved to its own repo May 24, 2018
.gitignore Simplify app build Sep 19, 2016
.gitmodules lua: add missing .gitmodules with entry for Lua. Jun 25, 2018
.travis-install-gcc bump travis to latest compiler Nov 15, 2018
.travis.yml bump travis to latest compiler Nov 15, 2018
AppMakefile.mk Merge pull request #964 from tock/who-thought-all-these-archs-was-a-g… Jun 5, 2018
Configuration.mk Merge pull request #964 from tock/who-thought-all-these-archs-was-a-g… Jun 5, 2018
Helpers.mk elf2tbf: convert to elf2tab May 2, 2018
LICENSE-APACHE README: Add licenses, contributor guidelines Jul 3, 2018
LICENSE-MIT README: Add licenses, contributor guidelines Jul 3, 2018
Program.mk userland: return an error code if programming fails May 26, 2018
README.md README: Add licenses, contributor guidelines Jul 3, 2018
TockLibrary.mk userland: explicit arch for cortex-m0 Jun 5, 2018
bors.toml add bors integration Jul 3, 2018
shell.nix Update shell.nix Dec 5, 2018
userland_generic.ld Allow got/data sections to be empty in linker script check Nov 16, 2018

README.md

Build Status irc

Tock Userland

This directory contains libraries and example applications for developing Tock apps that sit above the kernel.

Getting Started

  • The main requirement is a cross compiler for embedded targets: arm-none-eabi-.

    MacOS:

    $ brew tap ARMmbed/homebrew-formulae && brew update && brew install arm-none-eabi-gcc
    

    Ubuntu:

    $ sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa && sudo apt update && sudo apt install gcc-arm-embedded
    
  • You will also need an up-to-date version of elf2tab. The build system will install and update this automatically for you, but you'll need Rust's cargo installed.

  • You will also likely need Tockloader, a tool for programming apps onto boards:

    MacOS:

    $ pip3 install tockloader
    

    Ubuntu:

    $ pip3 install tockloader --user
    

License

Licensed under either of

at your option.

Contributions

We welcome contributions from all. We use the bors-ng bot to manage, approve, and merge PRs. In short, when someone replies bors r+, your PR has been approved and will be automatically merged. If a maintainer replies bors delegate+, then you have been granted the authority to mark your own PR for approval (usually this will happen if there are some trivial changes required). For a full list of bors commands, see the bors documentation.

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.