Epics@GSI Webhome

EPICS @ Plug Computer: DreamPlug / GuruPlug / SheevaPlug by GLOBALSCALE

Introduction

The so-called plug computer family of GLOBALSCALE technologies is an interesting platform based on ARM5 Marvell core to have a quite powerful front-end PC available. Ways to run EPICS on it are documented.

Links

Documentation

User Guide

DreamPlug

Forum

Wiki

Tweaks

Dreamplug - "Das U-Boot": Double boot and faster boot

    Warning: Can't find topic Epics.DreamplugTweakDualFasterUBoot
    -- WikiGuest - 1970-01-01

Disabling Access Point / WLAN Client and Bluetooth at boot time

NOTE
This is just a poor man's version! For a more cleaner version lookup the plug wiki.

DreamPlug

  1. As root edit /root/init_setup.sh
    1. comment out:
      # blinkled >> /dev/null
    2. add
      # Now set up to run in wifi client mode
      /sbin/wlan.sh
      # deactivate wlan
      ifconfig mlan0 down

      #stopping bluetooth
      /etc/init.d/bluetooth stop

      # deactivate led
      echo 0 > `eval ls /sys/class/leds/guruplug\:red\:wmode/brightness`
      echo 0 > `eval ls /sys/class/leds/guruplug\:green\:wmode/brightness`
    3. # reboot

GuruPlug

  1. As root edit /root/init_setup.sh
    1. add
      # Now set up to run in wifi client mode
      /usr/bin/wlan.sh

      #stopping bluetooth
      /etc/init.d/bluetooth stop

      # deactivate led
      echo 0 > `eval ls /sys/class/leds/*plug*\:red\:wmode/brightness`
      echo 0 > `eval ls /sys/class/leds/*plug*\:green\:wmode/brightness`
    2. # reboot

EPICS @ Dreamplug

Introduction

Based on this E-Mail conversation with Eric Norum (wenorum@lbl.gov) EPICS should soon be running on the DreamPlug:
The changes were very minor.   Here's all I had to do.

1. cd to the EPICS base configure/os directory.

2. Edit CONFIG.Common.linux-arm, set the GNU_DIR appropriately and check that the rest looks like:
# CONFIG.Common.linux-arm
#
# This file is maintained by the build community.
#
# Definitions for linux-arm target builds.

# Sites may override these definitions in CONFIG_SITE.Common.linux-arm
#-------------------------------------------------------

# Include definitions common to all Linux targets
include $(CONFIG)/os/CONFIG.Common.linuxCommon

ARCH_CLASS = arm

#
# The vendor's tool chain needs to be located here
#
GNU_DIR=/Users/wenorum/src/SheevaPlug/SheevaPlugCD1.2b/SheevaPlug_Host_SWsupportPackageLinuxHost/LinuxHost/gcc

ifeq ($(BUILD_CLASS),CROSS)
   VALID_BUILDS = Ioc
   GNU_TARGET = xscale_be
   CMPLR_PREFIX = arm-none-linux-gnueabi-
endif


3. Add linux-arm to the CROSS_COMPILER_TARGET_ARCHS in  CONFIG_SITE.linux-x86.Common
# CONFIG_SITE.linux-x86.Common
#
# CONFIG_SITE.linux-x86.Common,v 1.7.2.6 2009/01/23 20:24:59 norume Exp
# This file is maintained by the build community.
#
# Site override definitions for linux-x86 host builds
#-------------------------------------------------------

# JBA test override values
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040 solaris-sparc
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
CROSS_COMPILER_TARGET_ARCHS = linux-arm

On Mar 1, 2011, at 8:21 AM, Dr. Peter Zumbruch wrote:

> Hello Eric,
> I would be interested to see the changes you applied to linux-arm, 
> since I have purchased the guru-plug and would like to use it to connect to several USB devices.
>
> Thanks,
> Peter
>
> Am 25.03.2010 22:35, schrieb Eric Norum:
>>
>> We were looking for an inexpensive way to connect Larry Doolitte's Low-Level RF board to EPICS.  
>> The LLRF board uses USB to connect to the outside world so the IOC controlling it needs to be fairly close.  
>> We purchased a SheevaPlug (http://www.globalscaletechnologies.com/p-22-sheevaplug-dev-kit-us.aspx). 
>> for around $100 (US). 
>> The SheevaPlug is a plug computer (http://www.openplug.org/) about the size and shape of a typical AC adapter.  
>> It has a USB 2.0 interface and 10/100/1000 ethernet and comes with Linux installed on the flash memory.   
>> The development kit also contains a CD with all the cross-development tools
>>
>> I made a couple of changes to <base>/configure/os/CONFIG.Common.linux-arm on my Linux host machine and, 
>> to my considerable surprise, was able to build EPICS base R3.14.11, snc/seq and asyn with no other changes. 
>> I also built the GNU Universal Software Radio Project libraries which are needed to communicate with the LLRF card. 
>> I used apt-get on the SheevaPlug to install the nfs-common and screen packages.
>>
>> I am now running the IOC on the SheevaPlug and controlling/displaying the EPICS process variables 
>> using MEDM on my OS X machine.  With a 2.3 MB/s flow from the LLRF card and processing/displaying 
>> the twelve 1024-sample waveform records 5 times per second (242 kiB/s to the EPICS client) 
>> the CPU load on the SheevaPlug is 4 to 5%.
>>
>> So, if you're looking for a really inexpensive way to interface USB equipment to EPICS 
>> you might find this a reasonable way to go.
>>
>> --
>> Eric Norum
>> wenorum@lbl.gov
>>

Cross Compile / Host Compile

cross compile

Meanwhile we have several systems running with a cross compiled binary for the dreamplug.
  • Running applications for HADES, based on streamDevice
  • Documentation has to be done.

host compile

Since other users are interested to have a host compiled version, I (PZ) am looking into this task and need to find the time or the pressure.
  • to be implemented
  • to be documented


-- PeterZumbruch - 03 Sep 2013

Edit | Attach | Print version |  PDF | History: r10 | r8 < r7 < r6 < r5 | Backlinks | View wiki text | Edit WikiText | More topic actions...
Topic revision: r7 - 2013-09-04, PeterZumbruch
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)