Firmwares and Plugins – Tinkerforge

- Getting Started
  - Primer
  - Tutorials
  - FAQ
- Hardware
  - Bricks
  - Bricklets
  - Master Extensions
  - Power Supplies
  - Accessories
  - Timeline
- Software
  - Brick Daemon (brickd)
  - Brick Viewer (brickv)
  - API Bindings
  - Firmwares and Plugins
    - Install Compiler and Tools
    - Building Firmwares and Plugins
      - Brick Firmwares
      - Bricklet Plugins
  - Device Identifier
  - Source Code and Bug Tracking
  - Programming Interface
- Starter Kits
  - Weather Station
  - Hardware Hacking
  - Server Room Monitoring
  - Blinkenlights
  - Internet of Things
  - Camera Slider
- Embedded Boards
  - Raspberry Pi
- Specifications
  - Technical Data
  - TCP/IP Protocol
  - Modbus Protocol
  - Wireshark Dissector

# Firmwares and Plugins

Note

If you accidentally erased the firmware of a Brick or Bricklet, you can download the latest firmware and plugin versions here and here.

Only if you want to change something in a firmware of a Brick or a plugin of a Bricklet you will need to compile them yourself.

You can modify and build the Brick firmwares and Bricklet plugins. At the moment there is no official Brick API or documentation of the Brick firmware Bricklet plugin code. So you will need some prior knowledge in C programming to do this.

## Install Compiler and Tools

As compiler we use GCC for ARM from CodeSourcery. Choose EABI as Target OS and download the Lite Edition of the Sourcery CodeBench. It includes GCC for ARM and other tools. The Sourcery CodeBench installer is available for Linux and Windows.

If you're running a 64-bit version of Linux you might have to install 32-bit support libraries to get the compiler working. On Debian you just have to install the `ia32-libs` package, see this CodeSourcery Knowledgebase entry for more details.

There are versions of this compiler that do not produce working firmwares. It's recommended to only use compiler versions that are known to work correctly, see the following list:

Version | Works
--- | ---
Sourcery CodeBench Lite 2011.09-69, GCC 4.6.1 | Yes
Sourcery CodeBench Lite 2012.03-56, GCC 4.6.3 | Yes
Sourcery CodeBench Lite 2012.09-63, GCC 4.7.2 | No
Sourcery CodeBench Lite 2013.05-23, GCC 4.7.3 | Yes
Sourcery CodeBench Lite 2013.11-24, GCC 4.8.1 | Yes

Install the compiler and ensure that the `bin` folder of the CodeSourcery installation is added to the `PATH` environment variable. On Windows the installer offers to do this. Check that the compiler is properly installed by running this in a terminal:

    arm-none-eabi-gcc --version

You should see some version information about GCC.

Next, CMake and make have to be installed. On Debian and related Linux distributions they can installed as follows:

    sudo apt-get install cmake make

A CMake installer for Windows is available on the project's website. The GnuWin32 project provides a make installer for Windows. In both cases ensure that the `bin` folder of the CMake and make installation is added to the `PATH` environment variable. Again this can be check by running this in a terminal:

    cmake --version

    make --version

You should see some version information about CMake and make.

Now the compiler and tools are ready to be used from a terminal.

## Building Firmwares and Plugins

There are detailed descriptions about how to get the necessary source code from GitHub and how to compile it:

- Brick Firmwares
- Bricklet Plugins

The content of this page is licensed under Creative Commons Attribution 3.0 Unported License.