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
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
- As
root edit /root/init_setup.sh
- comment out:
# blinkled >> /dev/null
- 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`
-
# reboot
GuruPlug
- As
root edit /root/init_setup.sh
- 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`
-
# 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 - 22 May 2012
to top