Skip to content

Edison Instructions

Murilo Belluzzo edited this page Sep 14, 2015 · 6 revisions

Pre-requisites

  • Yocto SDK for Edison installed in the host computer. Download here in 'SDK - Cross Compile Tools'
  • You will also need Python 3 installed in the host computer (and some additional Python packages)
    • python3-jsonschema
  • Know how to send files to your Edison board
  • Know how to connect to Edison's linux terminal

Compiling Soletta

Once the SDK is installed, it's time to setup a terminal to point to the right tools and paths needed to cross-compile Soletta.

[host]$ source <SDK_PATH>/environment-setup-core2-32-poky-linux
[host]$ export TARGETCC=$CC
[host]$ export TARGETAR=$AR
[host]$ unset PKG_CONFIG_PATH
[host]$ unset PYTHONHOME

Edison Configuration

Now is necessary to change Soletta's options to match Edison restrictions.
To access the configuration menu:

[host]$ make menuconfig

Go to Core library --> Target platform
If linux-micro is selected, select systemd instead.

Optional: Remove unnecessary Pin Multiplexers

  • Go to Core Library --> Hardware Options --> Pin Multiplexer and leave only your board selected.

Save the changes and exit the configuration menu.

Building

Now a simple make will build Soletta:

[host]$ make

You can use -j option to compile faster. Check make's manual for more info (man make).

Installing

Inside Soletta's directory. First, install soletta in a temporary path:

[host]$ make install DESTDIR=<TMP_PATH>

Pack everything:

[host]$ cd <TMP_PATH>
[host]$ tar cvf soletta.tar *

Copy soletta.tar to Edison root dir and connect to it. Then:

[root@edison]$ cd /
[root@edison]$ tar xvf soletta.tar

And Soletta should be successfully installed!

Running 'simple.fbp' sample

To make sure that the installation is ok, copy the sample found in <SOLETTA_SRC_DIR>/src/samples/flow/basics/simple.fbp to Edison and try to execute:

[root@edison]$ sol-fbp-runner simple.fbp

And check if the output is displayed without errors.

Yocto

To build it first it is needed to be installed the following on host linux distro: - dfu-util -> tested on version 0.8 and driver 1.0

Setup and Build a custom Edison Image

1- Prepare your workspace:

mkdir my_Edison_Workspace
cd my_Edison_Workspace

2- Get meta-intel-edison layer:

git clone git://git.yoctoproject.org/meta-intel-edison

3- Make link to be able to use make command:

ln -s meta-intel-edison/utils/Makefile.mk Makefile

4- Download all the needed dependencies to BUILD :

make setup

5- Prepare soletta layer to build it with

git clone https://github.com/brunobottazzini/meta-soletta -b edison
echo 'IMAGE_INSTALL_append = " soletta"' >> out/current/build/conf/local.conf
echo 'FULL_PATH_TO_META_SOLETTA' >> out/current/build/conf/bblayers.conf

Replace FULL_PATH_TO_META_SOLETTA to actual path where meta-soletta was cloned.

6- Build Intel Edison Yocto distribution:

make edison-image

7- Flash the board (AS ROOT):

make flash

Troubleshooting

Edison is not being flashed when running make flash

1- Be aware to use cable USB to micro USB 2.0 on energy supply port otherwise edison will not be found.

2- Use command: lsusb to verify if edison is found when plugging the usb.

3- You may also encounter some problem with dfu-util. If so try updating its drive to the new one.