-
Notifications
You must be signed in to change notification settings - Fork 10
Quick start
Home / Tutorial Index / Getting started
Clone https://github.com/peteasa/parallella.git repository:
$ git clone https://github.com/peteasa/parallella.git
Choose the branch that you want to work with. Default is elink-redesign. This will make available all the sources that build an SD card with parallella-linux, oh fpga with hdmi interface. The build step does not actually do the fpga build so you dont have to have xilinx tools installed. Other branches are described on the wiki home page.
$ cd parallella
$ git checkout elink-redesign
then in the parallella directory run:
$ ./initgitsubmodules.sh
Alternatively if you are updating to the latest version:
$ source ./updatesubmodules.sh
Before you start for the kernel and linux build ensure you have the necessary linux build tools
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm
Start the Yocto build
$ cd parallella-yoctobuild
$ source ./prepareyoctobuild.sh
This will change the path to the parallella-yoctobuild/build_parallella folder where you can build the yocto release
$ bitbake hdmi-image
DONT FORGET: do not press CTRL-C more than once
to stop a bitbake build because you can corrupt the cache and cause many hours of failing builds for unexplained reasons.
Assuming you have used the parallella-elink-redesign branch to make meta-example available (or just look at files in meta-example)
parallella/parallella-yoctobuild/meta-example/recipes-bsp/bitstream/parallella-hdmi-bitstream.bbappend
Add your git repository that contains your updated FPGA bitstream for example
### You could setup a local bare repository with the fpga for example
SRC_URI = "git://~/parallella/myexamples.git"
SRCREV = "--enter your desired sha1 here!--"
parallella/parallella-yoctobuild/meta-example/recipes-bsp/device-tree/device-tree.bbappend
Ensure that your device-tree changes are included in the referenced files, or create new files stored in parallella/parallella-yoctobuild/meta-example/conf/machine/boards/parallella
MACHINE_DEVICETREE = " \
parallella/parallella-example.dtsi \
parallella/parallella-hdmi-example.dtsi \
parallella/parallella-hdmi-example.dts \
parallella/parallella-hdmi-mmc-boot-example.dts \
"
Copy the hello world folders to the target
$ cd parallella/examples/epiphany
$ rcp -r ./hello_world [email protected]:/home/root
$ rcp setup-epiphany-sdk-on-target.sh [email protected]:/home/root
ssh to the parallella and compile the hello world program
$ ssh [email protected]
$ source setup-epiphany-sdk-on-target.sh
$ cd hello_world
$ make
Run the hello world program on the parallella
$ /usr/epiphany/bin/hello_world
Build the Yocto SDK on the build machine
$ cd parallella-yoctobuild/build_parallella
$ bitbake -c populate_sdk hdmi-image-example
Install the SDK on the build machine (install using the default settings) and create the folder for the SDK on the system and change the owner to yourid (ie if your linux name is jess then your home folder will be /home/jess and you should use chown jess:jess /opt/poky below:
$ sudo mkdir /opt/poky
$ sudo chown yourid:yourid /opt/poky
$ tmp/deploy/sdk/poky-glibc-x86_64-hdmi-image-debug-armv7ahf-vfp-neon-toolchain-1.8.sh
Install the SDK paths into environment
$ source /opt/poky/1.8/environment-setup-armv7ahf-vfp-neon-poky-linux-gnueabi
Setup the Epiphany specific environment
$ cd examples/epiphany
$ source setup-epiphany-sdk-in-poky-sdk.sh
Build the Hello world application
$ cd hello-world
$ make
Copy to the target
$ rcp ./host/hello_world [email protected]:/home/root
$ rcp ./epiphany/e_hello_world.srec [email protected]:/usr/epiphany/bin/
Run on the target
$ ssh [email protected]
$ source setup-epiphany-sdk-on-target.sh
$ ./hello_world