Skip to content

pubuntu-15.04-esdk-2016.3

Compare
Choose a tag to compare
@olajep olajep released this 10 Dec 11:51
· 4 commits to 2016.3 since this release

Installation Instructions

Download the appropriate card image below and burn onto an SD card using your favorite OS and method. Make sure you download the correct file. The z7020 applies to Kickstarter boards and the "Embedded" Parallella boards. Everyone else should grab the z7010 file.

Complete installation instructions can be found here:
https://www.parallella.org/quick-start/

First boot

  • Hostname: "parallella", "parallella." (notice trailing period) or "parallella.local", depending on your operating system.
  • IP address: The IP address is acquired from DHCP. 10.11.12.13 will be used as fallback.
  • Username: parallella
  • Password: parallella

On first boot give it a couple of minutes to generate new SSH server keys before you try to connect to the board.
We advise you to change the default password like so:

$ ssh parallella@parallella.
parallella@parallella's password: [Enter parallella]
parallella@parallella:~$ passwd
Changing password for parallella.
(current) UNIX password: [Enter parallella]
Enter new UNIX password: [Enter new password]
Retype new UNIX password: [Enter new password]
Password changed
parallella@parallella:~$ logout

Troubleshooting

Your board won't come up on the network?

  • The most common error is that the wrong image is used (see install instructions above to determine which version is the correct one)
  • Log in to your router and see if you can find the board in the DHCP client list.
  • If you connect your Parallella directly to your computer's ethernet port, enable internet sharing, or make sure that your computer and Parallella is on the same network by setting your computer's IP to 10.11.12.x (e.g. IP 10.11.12.1 netmask 255.255.255.0).
  • Connect a serial cable, anything weird in the boot log?

Changes since 2015.1

Ubuntu Image

  • Upgraded to Ubuntu Vivid 15.04
    (base image linaro-vivid-nano-20150618)
  • Boot console enabled
  • Image build is scripted (less error prone, trackable)

Thermal daemon

The thermal daemon has been improved. Instead of potentially freezing the entire board the worst thing that could happen now is that your program will crash (SIGBUS) when the thermal daemon is invoked.

If temperature goes above 70 C the Epiphany chip will be disabled, and if temperature rises above 85 C the system will be shut down to protect your Parallella from overheating.

These commands can be used to monitor the thermal daemon / kernel driver:
journalctl -u "parallella-thermald*"
dmesg | grep epiphany

lm-sensors support

Use the sensors command to see Zynq Temperature, Epiphany VDD_DSP etc.

ABI changes

For background see:
http://www.adapteva.com/announcements/epiphany-abi-change-proposal/

  1. Make register R32-R63 caller saved. Currently R32-R63 is a mix of caller and callee saved registers. Reason: Better (code size, performance, ease of assembly, energy) for leaf cell type libraries (like PAL).
  2. Move Frame Pointer to R15. Reason: Better performance/code density for software caching
  3. Reserve addresses below 0x100 for internal use. Reason: Reserved for future systems and SDKs. “Get out of jail card for Adapteva.” Compiler user code starts at 0x100
  4. Disallow fetching instructions from external memory. Programs must be fetched from the local memory (currently 32KB). For large programs some kind of software caching should be used. Reason: Very expensive feature from a chip standpoint and provides poor performance. Not scalable for future silicon. (NOT IMPLEMENTED)
  5. The “-” option for TESTSET has been removed. (NOT IMPLEMENTED)

ESDK

  • Reserve addresses below 0x100 for internal use (runtime etc.)
  • Use new epiphany kernel driver ABI.
  • e-loader now clears static and global variables. This was previously done at run-time on the epiphany cores. This change eliminates some race conditions in the e-lib mutex / barrier implementations.
  • SREC support removed. Use ELF files

Full ChangeLog:
https://github.com/adapteva/epiphany-libs/blob/epiphany-libs-esdk-2016.3/ChangeLog

Linux kernel

  • Based on 'vanilla' 4.4
  • Uses arm-v7-defconfig
  • Redesigned epiphany kernel driver (power management, device tree based, better memory protection, better virtual memory handling, mailbox API ...)

FPGA e-link

FPGA e-link is completely redesigned and now supports both full speed transmit and receive.

Toolchain

GCC

  • Upgrade to GCC 5.2 from GCC 4.8
  • Change USER_LABEL_PREFIX to "" from "_".
  • Move frame pointer to register r15 (was r11)
  • Enable -mno-soft-cmpsf under -ffast-math
  • Emit config save register right after prologue (fixes adapteva/epiphany-sdk#53)
  • Make register R32-R63 caller saved.

ChangeLog:
https://github.com/adapteva/epiphany-gcc/blob/epiphany-gcc-esdk-2016.3/gcc/ChangeLog.epiphany

GDB

  • Upgrade to 7.10 from 7.6.
  • Multi-core simulator branch merged.

ChangeLog:
https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-gdb-esdk-2016.3/sim/epiphany/ChangeLog

binutils

  • Upgrade to 2.25 to 2.23

newlib / libgloss

  • Upgrade to 2.2.0 from 1.20
  • Support loader flags and custom loader arguments (currently only pal is the only user of this).

Full ChangeLog:
https://github.com/adapteva/epiphany-newlib/blob/epiphany-newlib-esdk-2016.3/libgloss/ChangeLog.epiphany