Getting Started

Installation

There are three build systems available;PlatformIO,Arduino IDEandSimba build system. TheSimba build system has more featuresthan to the other two. It supports executing test suites, generatingcode coverage, profiling and more. Still, if you are familiar withArduino IDE orPlatformIO, use that instead since it will be lesstroublesome.

platformio PlatformIO

InstallSimba inPlatformIO.

  1. Install thePlatformIO IDE.
  2. Start thePlatformIO IDE and openPlatformIO ->ProjectExamples and selectsimba/blink.
  3. Click onUpload (the arrow image) in the top left corner.
  4. The built-in LED blinks!
  5. Done!

arduino Arduino IDE

InstallSimba in theArduino IDE 1.6.10 as a third party board using theBoards Manager.

  1. OpenFile ->Preferences.

  2. Add these URL:s toAdditional Boards Manager URLs (click on theicon to the right of the text field) and pressOK.

    https://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/avr/package_simba_avr_index.jsonhttps://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/sam/package_simba_sam_index.jsonhttps://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/esp/package_simba_esp_index.jsonhttps://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/esp32/package_simba_esp32_index.json
  3. OpenTools ->Board: … ->Boards Manager… and typesimba in the search box.

  4. Click onSimba by Erik Moqivst version x.y.z and clickInstall and pressClose.

  5. OpenTools ->Board: … ->Boards Manager… andselect one of the Simba boards in the list.

  6. OpenFile ->Examples ->Simba ->blink.

  7. Verify and upload the sketch to your device.

  8. The built-in LED blinks!

  9. Done!

simba Simba build system

TheSimba development environment can be installed onLinux (Ubuntu14).

  1. Execute the one-liner below to installSimba.

    $ mkdir simba && \  cd simba && \  sudo apt install ckermit valgrind cppcheck cloc python python-pip doxygen git lcov && \  sudo apt install avrdude gcc-avr binutils-avr gdb-avr avr-libc && \  sudo apt install bossa-cli gcc-arm-none-eabi && \  sudo apt install make unrar autoconf automake libtool gcc g++ gperf \                       flex bison texinfo gawk ncurses-dev libexpat-dev \                       python-serial sed libtool-bin pmccabe help2man \                       python-pyelftools unzip && \  sudo pip install pyserial xpect readchar sphinx breathe sphinx_rtd_theme && \  (git clone --recursive https://github.com/pfalcon/esp-open-sdk && \   cd esp-open-sdk && \   make) && \  wget https://github.com/eerimoq/simba-releases/raw/master/arduino/esp32/tools/xtensa-esp32-elf-linux$(getconf LONG_BIT)-1.22.0-59.tar.gz && \  tar xf xtensa-esp32-elf-linux$(getconf LONG_BIT)-1.22.0-59.tar.gz && \  rm xtensa-esp32-elf-linux$(getconf LONG_BIT)-1.22.0-59.tar.gz && \  git clone --recursive https://github.com/eerimoq/simba
  2. Setup the environment.

    $ cd simba$ source setup.sh
  1. Build and upload the blink example to your device. Replace<my-serial-port> with your serial port name.

    $ cd examples/blink$ make -s BOARD=nano32 SERIAL_PORT=<my-serial-port> upload
  2. The built-in LED blinks!

  3. Done!

Note

Some boards, such as theSPC56D Discovery,require a specific toolchain to build. Such cases aredocumented on the individual board documentation page.