New Parallella SDK release! (Beta testers needed)

Discussion about Parallella (and Epiphany) Software Development

Moderators: amylaar, jeremybennett, simoncook

New Parallella SDK release! (Beta testers needed)

Postby aolofsson » Tue Nov 11, 2014 12:23 am

Hi all,

The new Epiphany SDK has finally been released!! We could need some brave testers for this new model before announcing release to 10,000 Parallella users and the rest of the world.

Major feature updates:
-An experimental software cache implementation
-A proper driver, so you no longer need to use "sudo"
-Multicore debugging from a single GDB client
-A new API for sharing symbols between Epiphany and ARM
-Includes an updated Linux kernel (needs the new driver).

Contributors:
Ben Chaco, Mikael Taveniku @ Xcube: Shared memory API, Sudo-less driver, Jenkins testing framework (e-hal)
Joern Roennecke, Simon Cook, Pierre Langlois @ Embecosm: Software caching (e-gcc)
Jeremy Bennett @ Embecosm: Multicore debugging (e-server, e-gdb)
Ola Jeppsson @ Adapteva: Integration and release of final SDK

Complete Release Notes:
https://github.com/adapteva/epiphany-sd ... 11-release

For testing, please grab the following ISO image and burn to a fresh sd-card using 'dd'. (it includes both partitions). Note that this will wipe out the complete SD card. A 4GB SD card will suffice.

7010 Devices: http://downloads.parallella.org/ubuntu/ ... 110.img.gz
7020 Devices: http://downloads.parallella.org/ubuntu/ ... 110.img.gz

Notes:
-The new SDK only works with the updated Linux kernel (uImage) due to the need for an Epiphany driver
-UART must be disabled in bootargs (still searching for root cause)
-GDB is not yet stable (unknown cause)
-Documentation still needs to be updated
-Currently only works in headless (likely configuration issue, still working on it)
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: New Parallella SDK release! (Beta testers needed)

Postby AndyC » Tue Nov 11, 2014 9:22 pm

Nice one, I'm in.

I will give it a go tomorrow.
AndyC
 
Posts: 184
Joined: Fri Jun 27, 2014 5:46 pm

Re: New Parallella SDK release! (Beta testers needed)

Postby notzed » Wed Nov 12, 2014 3:04 am

https://github.com/adapteva/epiphany-li ... rc/e_shm.c
Code: Select all
/*
* FIXME: The address of the shm_table is hardcoded to the start address of
* the "shared_dram". This will change once we have a mechanism to tell
* the Epiphany cores where, in memory, the shm_table resides.
*
* The location of External DRAM is normally read from the Hardware Definition
* file. But here on the Epiphany-side we have no access to the host filesystem.
* So for now the HOST_RESERVED_MEM_START is set to the address of the shared_dram.
*/
static const e_shmtable_t *const shm_table = (const e_shmtable_t* const)HOST_RESERVED_MEM_START;


I find this a little odd since e_emem_config has a pointer to the shared memory base set up by the linker script, which could obviously be used for this purpose rather than "hard-coding" it.

It seems a weird thing to leave as a fixme. You could either just force an extensible config structure into the start of the external dram block or add another local section like "ext_mem_cfg" to define something. This last is probably the "safest" as it reserves a specific block in the linker script using linker semantics rather than just leaving a hole that surely must need to be left for it otherwise.

Unfortunately the sdk still has the problem where symbols cannot be resolved by the host code so you still need to hardcode it's location and fix it to that in the linker script.
notzed
 
Posts: 331
Joined: Mon Dec 17, 2012 12:28 am
Location: Australia

Re: New Parallella SDK release! (Beta testers needed)

Postby AndyC » Wed Nov 12, 2014 8:44 am

Trying to build toolchain on Ubunto 64 14.04:

andrewcapon@ubuntu:~/Parallella/sdk$ ./build-toolchain.sh --host arm-linux-gnueabihf
Logging to /home/andrewcapon/Parallella/logs/2014.11/build-2014-11-12-0837.log
START BUILD: Wed Nov 12 08:37:00 GMT 2014
Forcing clean build
Configuring build machine tool chain...
Building build machine tool chain...
ERROR: Tool chain build for build machine failed.
Build failed. See /home/andrewcapon/Parallella/logs/2014.11/build-2014-11-12-0837.log for details.

andrewcapon@ubuntu:~/Parallella/sdk$ tail -1000 /home/andrewcapon/Parallella/logs/2014.11/build-2014-11-12-0837.log | grep Error
checking iconv.h usability... make: *** [configure-libcpp] Error 1


What version of libcpp is required?
AndyC
 
Posts: 184
Joined: Fri Jun 27, 2014 5:46 pm

Re: New Parallella SDK release! (Beta testers needed)

Postby AndyC » Wed Nov 12, 2014 12:14 pm

Ok I set up a brand new Ubuntu VM.

The new instructions at https://github.com/adapteva/epiphany-sd ... 11-release specifically say to install the 4.8 versions of the compilers:

Code: Select all
sudo apt-get install gcc-4.8-arm-linux-gnueabihf
sudo apt-get install g++-4.8-arm-linux-gnueabihf


Unfortunately the ./build-toolchain.sh fails:

Code: Select all
START BUILD: Wed Nov 12 11:39:53 GMT 2014
ERROR: No cross-compiler for arm-linux-gnueabihf found


When installing the 4.8 packages gcc is called: arm-linux-gnueabihf-gcc-4.8 rather than arm-linux-gnueabihf-gcc
AndyC
 
Posts: 184
Joined: Fri Jun 27, 2014 5:46 pm

Re: New Parallella SDK release! (Beta testers needed)

Postby AndyC » Wed Nov 12, 2014 12:53 pm

Hi guys,

either I am doing something wrong or the toolchain building need looking at:

Here are the steps I have taken:

Install clean version of Ubuntu 14.04

Code: Select all
sudo apt-get install bison flex libgmp3-dev libncurses-dev libmpc-dev libmpfr-dev texinfo xzip lzip git

sudo apt-get install gcc-4.8-arm-linux-gnueabihf
sudo apt-get install g++-4.8-arm-linux-gnueabihf

mkdir parallella
cd parallella

export EPIPHANY_BUILD_HOME=/home/andrewcapon/parallella

git clone https://github.com/adapteva/epiphany-sdk --branch 2014.11 sdk

cd sdk

git checkout 2014.11

./download-toolchain.sh


./build-toolchain.sh --host arm-linux-gnueabihf

Logging to /home/andrewcapon/Parallella/logs/2014.11/build-2014-11-12-1139.log
START BUILD: Wed Nov 12 11:39:53 GMT 2014
ERROR: No cross-compiler for arm-linux-gnueabihf found
Build failed. See /home/andrewcapon/Parallella/logs/2014.11/build-2014-11-12-1139.log for details.



So try with standard install (also 4.8)

Code: Select all
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf

cd

sudo rm -r parallella
mkdir parallella
cd parallella

git clone https://github.com/adapteva/epiphany-sdk --branch 2014.11 sdk

cd sdk

git checkout 2014.11

./download-toolchain.sh
./build-toolchain.sh --host arm-linux-gnueabihf

Now it finds the compiler but still fails, I have included the zipped log file.
Attachments
build.tar.gz
(476.23 KiB) Downloaded 162 times
AndyC
 
Posts: 184
Joined: Fri Jun 27, 2014 5:46 pm

Re: New Parallella SDK release! (Beta testers needed)

Postby olajep » Wed Nov 12, 2014 6:39 pm

Hi AndyC,

I really recommend that you and others build the entire SDK instead. It's much easier (3 lines).
Instructions (the short version) can be found here:
https://github.com/adapteva/epiphany-sd ... rt-version

AndyC wrote:Hi guys,

either I am doing something wrong or the toolchain building need looking at:

Here are the steps I have taken:

Install clean version of Ubuntu 14.04

Code: Select all
sudo apt-get install bison flex libgmp3-dev libncurses-dev libmpc-dev libmpfr-dev texinfo xzip lzip git

sudo apt-get install gcc-4.8-arm-linux-gnueabihf
sudo apt-get install g++-4.8-arm-linux-gnueabihf



So far so good. You've successfully installed the prerequisites.
Here's the link for other readers:
https://github.com/adapteva/epiphany-sd ... requisites

AndyC wrote:
Code: Select all
mkdir parallella
cd parallella

export EPIPHANY_BUILD_HOME=/home/andrewcapon/parallella

git clone https://github.com/adapteva/epiphany-sdk --branch 2014.11 sdk

cd sdk

git checkout 2014.11


Ok, still no problems (the checkout is unnecessary though since you already specified the branch on checkout).
You should be in the buildroot when you issue the next two commands.
Instead of:
AndyC wrote:
Code: Select all
./download-toolchain.sh
./build-toolchain.sh --host arm-linux-gnueabihf


you do:
Code: Select all
./sdk/download-toolchain.sh --release
./sdk/build-toolchain.sh --host arm-linux-gnueabihf --clean --release --install-dir-build $PWD/builds/id-x86_64-2014.11

The --release flag ensures that the right components will be downloaded / checked out and built.
--install-dir-build will instruct the build script to install the buildarch Epiphany toolchain (needed for building) inside the buildroot instead of /opt/adapteva where you might not have write permissions.
_start = 266470723;
olajep
 
Posts: 139
Joined: Mon Dec 17, 2012 3:24 am
Location: Sweden

Re: New Parallella SDK release! (Beta testers needed)

Postby AndyC » Wed Nov 12, 2014 7:08 pm

Hi Olajep,

Thanks very much for the pointers, I will give it a go......

I'm not sure if you work for Adapteva but I followed the instructions here https://github.com/adapteva/epiphany-sd ... 11-release which it sounds are not quite right! Maybe they should be updated?

Many thanks

Andy
AndyC
 
Posts: 184
Joined: Fri Jun 27, 2014 5:46 pm

Re: New Parallella SDK release! (Beta testers needed)

Postby AndyC » Wed Nov 12, 2014 7:51 pm

Using :

Code: Select all
./sdk/download-toolchain.sh --release
./sdk/build-toolchain.sh --host arm-linux-gnueabihf --clean --release --install-dir-build $PWD/builds/id-x86_64-2014.11


It still fails in exactly the same place with:

make: *** [configure-libcpp] Error 1
AndyC
 
Posts: 184
Joined: Fri Jun 27, 2014 5:46 pm

Re: New Parallella SDK release! (Beta testers needed)

Postby AndyC » Wed Nov 12, 2014 8:03 pm

olajep wrote:Hi AndyC,

I really recommend that you and others build the entire SDK instead. It's much easier (3 lines).
Instructions (the short version) can be found here:
https://github.com/adapteva/epiphany-sd ... rt-version



This doesn't seem to work either:

andrewcapon@UbuntuParallella:~$ pwd
/home/andrewcapon

andrewcapon@UbuntuParallella:~$ mkdir parallellaSDK

andrewcapon@UbuntuParallella:~$ export EPIPHANY_BUILD_HOME=/home/andrewcapon/parallellaSDK

andrewcapon@UbuntuParallella:~$ cd $EPIPHANY_BUILD_HOME

andrewcapon@UbuntuParallella:~/parallellaSDK$ pwd
/home/andrewcapon/parallellaSDK

andrewcapon@UbuntuParallella:~/parallellaSDK$ mkdir buildroot && cd buildroot
andrewcapon@UbuntuParallella:~/parallellaSDK/buildroot$ git clone --branch 2014.11 https://github.com/adapteva/epiphany-sdk.git sdk
Cloning into 'sdk'...
remote: Counting objects: 820, done.
remote: Total 820 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (820/820), 10.66 MiB | 1.44 MiB/s, done.
Resolving deltas: 100% (418/418), done.
Checking connectivity... done.

andrewcapon@UbuntuParallella:~/parallellaSDK/buildroot$ ./sdk/build-epiphany-sdk.sh -C -R -a x86_64
********************************************
************ Epiphany SDK Build ************
********************************************

Environment settings:

EPIPHANY_BUILD_HOME=/home/andrewcapon/parallellaSDK
EPIPHANY_HOME=/home/andrewcapon/parallellaSDK/esdk.2014.11
ESDK=/home/andrewcapon/parallellaSDK/esdk.2014.11

Build settings:

Target architecture: x86_64
Build version: 2014.11
Build from branch or tag: esdk-2014.11

Creating the eSDK directory tree...
./sdk/build-epiphany-sdk.sh: line 223: ./download-toolchain.sh: No such file or directory

Aborting...
AndyC
 
Posts: 184
Joined: Fri Jun 27, 2014 5:46 pm

Next

Return to Programming Q & A

Who is online

Users browsing this forum: No registered users and 5 guests

cron