GithubHelp home page GithubHelp logo

karlti / firmware Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tessel/t1-firmware

0.0 2.0 0.0 4.46 MB

Tessel Firmware

License: Other

Makefile 0.10% C 96.36% JavaScript 0.94% C++ 1.78% Python 0.29% Assembly 0.53% Shell 0.01%

firmware's Introduction

Tessel Firmware

API documentation

Directory structure

  • src/ -- The main firmware source, including the C bindings to the hardware
  • builtin/ -- JS binding to hardware specific API calls (such as I2C, SPI, UART, GPIO)
  • lpc18xx/ -- NXP drivers for the LPC1830 peripherals
  • boot/ -- USB DFU bootloader
  • otp/ -- Factory setup to set the board version and install the bootloader. Can be used to update or reinstall the bootloader
  • erase/ -- Tool to erase the JS bundle from the bootloader if a bug makes the main firmware unusable
  • cc3k_patch/ -- Tool to update the CC3000 WiFi firmware

Compiling

Dependencies

Building the firmware requires gcc-arm-embedded, gyp, and ninja.

OS X

To install quickly on a Mac with Brew:

brew tap tessel/tools
brew install gcc-arm gyp ninja

Ubuntu 14.04

All dependencies are in the Ubuntu 14.04 repositories:

sudo apt-get install git nodejs npm nodejs-legacy gcc-arm-none-eabi gyp ninja-build

Cloning the firmware repository

We'll clone the firmware repo itself into a folder called tessel/firmware. Inside your tessel folder, run:

git clone https://github.com/tessel/firmware
cd firmware
make update

Updating

To update your firmware version, you can git pull. Each time you pull a new commit of firmware, update your submodules and npm packages by running make update.

Compiling

Inside the tessel/firmware/ directory, run

make arm

This will build a binary. If you have no errors, you should have a new binary file called out/Release/tessel-firmware.bin.

Loading firmware onto Tessel

After building your firmware in the previous step, run tessel update ./out/Release/tessel-firmware.bin.

If broken firmware prevents tessel update from entering the bootloader automatically, hold the Config button while pressing and releasing the Reset button. The red and orange LEDs blink when in the bootloader mode.

Quick tip: You can build and deploy firmware in one step by running make arm-deploy.

Bootloader

The Tessel bootloader resides in the first 64k of the SPI flash chip and presents a standard USB DFU interface. It can load and execute code in either the firmware partition in flash, or in the LPC1830's internal SRAM.

To enter the bootloader, hold the Config button while resetting or powering on the board.

To run your C program in RAM, link it for address 0x10000000 beginning with an ARM vector table (linker script), and cli/dfu/tessel-dfu-tool run_ram your_image.bin

firmware's People

Contributors

johnnyman727 avatar tm-rampart avatar tcr avatar kevinmehall avatar jiahuang avatar nplus11 avatar nlintz avatar natevw avatar frijol avatar olegas avatar lhuszko avatar linusu avatar tmtestuser avatar

Watchers

James Cloos avatar Karl Tietze 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.