Porting iocCore onto  -ITRON real-time kernel EPICS collaboration meeting 2004 12/10/2004 G.Jiang, A.Akiyama, J.Odagiri, N.Yamamoto.

Slides:



Advertisements
Similar presentations
DEVICE DRIVER VINOD KAMATH CS691X PROJECT WORK. Introduction How to write/install device drivers Systems, Kernel Programming Character, Block and Network.
Advertisements

15 th Annual Tcl/Tk Conference October 2008 Timothy L. Tomkinson Fellow Software Engineer Northrop Grumman Electronic Systems Remote Control of Test Equipment.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
IOC Application Development/Debugging Beijing EPICS Seminar Tuesday, 8/ J.Odagiri.
PC104 with embedded Linux Trips and Ticks S. Herb, MSC, Desy Tine Workshop, Sept 2007.
Real-time Performance Improvement of “EPICS on F3RP61” Yokogawa Electric Corporation.
Linux Migration GBT e2e Software Review May 3, 2005 Ramon Creager Melinda Mello
Development of a Linux- based small-size controller using PoE technology T. Masuda, T. Fukui, R. Tanaka SPring-8 ICALEPCS2005, Oct , Geneva, Switzerland.
Handheld TFTP Server with USB Andrew Pangborn Michael Nusinov RIT Computer Engineering – CE Design 03/20/2008.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
16 - Nov. 2000EPICS Workshop Oak Ridge1 Epics to TINE translator Matthias Clausen, DESY Hamburg Phil Duval, DESY Hamburg Zoltan Kakucs, DESY Hamburg.
第 1 /28 頁 Implementation LAN91c111-NE driver on Altera cyclone NIOS SoC development board 蕭詣懋 SoC EE CCU 5/23/2005 蕭詣懋
111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development Kit ULINK2 USB/JTAG Adapter Evaluation Boards.
Project proposal Java Bluetooth stack. What is a Bluetooth stack? In short, to get any functionality out of a Bluetooth device, one needs to implement.
Embedded Linux Systems Linux System Administration CSIS 4490 Summer Semester Prof. Ken Hoganson.
Embedded Linux Sandeep Sirpatil Graduate Student University of North Carolina Charlotte Feb 7, 2005.
EtherCAT Driver for Remote I/O James Rowland, Ronaldo Mercado and Nick Rees.
ADAM-5000/TCP- Distributed Ethernet I/O
MDK-ARM Microcontroller Development Kit MDK: Microcontroller Development Kit.
1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.
University of Bergen public domain software: SEISLOG Linux, data-acquisition system for standard PC and embedded lowcost, low-power solutions Terje Utheim.
RSC Williams MAPLD 2005/BOF-S1 A Linux-based Software Environment for the Reconfigurable Scalable Computing Project John A. Williams 1
SIP / H.323 / IAX telephone customization 3 rd term presentation Brendan Marlborough Supervisor: Alfredo Terzoli.
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
EtherCAT for Advanced LIGO
NET+OS 6.1 Training. Introduction What is Net+Os? In Circuit Emulator (Raven) Ethernet Dev.-Driver GPIO PHY Ser. DD. OS (ThreadX) IP, ICMP, IGMP, PPP,
02/2008 MATRIX VISION GmbH 1 Presentation The intelligent camera and Image processing sensor.
LWIP TCP/IP Stack 김백규.
RTEMS overview W. Eric Norum Introduction RTEMS is a tool designed specifically for real-time embedded systems The RTEMS product is an executive.
LWIP TCP/IP Stack 김백규.
SEISLOG Linux presented at the WORKSHOP High Quality Seismic Stations and Networks for Small Budgets Volcan, Panama March, 2004 by Terje Utheim,
Providing Bluetooth Functionality on Embedded Devices: A look at Embedded Operating Systems and Bluetooth Stacks Brian Fox Supervisors: Dr Greg Foster.
Redundancy. 2. Redundancy 2 the need for redundancy EPICS is a great software, but lacks redundancy support which is essential for some highly critical.
EPICS at APS in June.2006, n.kami, KEK J-PARC Status N. Kamikubota, KEK and J-PARC Control members * Try to enhance updates in the last 1 year.
Real-time Performance Improvement of “EPICS on F3RP61” Yokogawa Electric Corporation.
Dec 8-10, 2004EPICS Collaboration Meeting – Tokai, Japan MicroIOC: A Simple Robust Platform for Integrating Devices Mark Pleško
1Auger - North / October 2005 J-M.Brunet, S.Colonges, B.Courty, Y.Desplanches, L.Guglielmi, G.Tristram APC Laboratory – CNRS / IN2P3.
Running EPICS on NI CompactRIO Initial Experience Eric Björklund (LA-UR )
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
The microIOC Family Gasper Pajor EPICS Collaboration Meeting Argonne National Laboratory June 2006.
A study of network vulnerability in embedded devices T. Sugimoto, M. Ishii, T. Masuda, T. Ohata, T. Sakamoto, and R. Tanaka Japan Synchrotron Radiation.
ATF Control System and Interface to sub-systems Nobuhiro Terunuma, KEK 21/Nov/2007.
EPICS Collaboration Meeting, Dec.2004, Tokai, by N.Kamikubota, KEK miniEPICS N.Kamikubota, J.Odagiri, G.Shen, N.Yamamoto, K.Furukawa and T.Katoh KEK.
March 2008EPICS Meeting in Shanghai1 KEKB Control System Status Mar Tatsuro NAKAMURA KEKB Control Group, KEK.
Porting Linux Linux onto the Puppeteer SA1110. The Puppeteer board –SA1110 CPU –SMSC LAN91C96I ethernet –8 Mb Flash Intel 28F320C3 Boot block flash –32.
IOC Application Development/Debugging Shanghai EPICS Seminar Tuesday, 8/29 J.Odagiri.
David Abbott - Jefferson Lab DAQ group Data Acquisition Development at JLAB.
AoE and HyperSCSI on Linux PDA Prepared by They Yu Shu.
Present Status of EPICS Development at the 3GeV Proton Beam Transport Facility Control System in J-PARC JAERI Motoki OiTetuya KaiSinichiro Meigo Sinichi.
Connecting EPICS with Easily Reconfigurable I/O Hardware EPICS Collaboration Meeting Fall 2011.
1. LabVIEW and EPICS Workshop EPICS Collaboration Meeting Fall 2011.
Connecting LabVIEW to EPICS network
Device/Driver Support for Network Based Devices EPICS Collaboration Meeting Jun, 2003.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
1 1999/Ph 514: Supported Hardware EPICS Supported Hardware Ned D. Arnold APS.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
EPICS and LabVIEW Tony Vento, National Instruments
Yared Woldekiros Western Washington university WEB ENABLE HOME AUTOMATION.
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
System Software Lab.,POSTECH TOE(TCP/IP Offload Engine) 김광식, 백근훈
An Introduction to Epics/Tango Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15.
Using COTS Hardware with EPICS Through LabVIEW – A Status Report EPICS Collaboration Meeting Fall 2011.
IOC Application Development / Debugging
ATF/ATF2 Control System
Embedded Linux Systems
Development of Embedded EPICS on F3RP61-2L
EPICS IOCs – Relational DB
What is “Control System” or “Framework”?
Presentation transcript:

Porting iocCore onto  -ITRON real-time kernel EPICS collaboration meeting /10/2004 G.Jiang, A.Akiyama, J.Odagiri, N.Yamamoto

An API-specification of real-time kernel Developed by Prof. Ken Sakamura of Tokyo Univ. Many different implementations of products are available on the market Widely used in consumer electronics fields in Japan Mobile phones TV-games Automobile Navigation System Details : See What is  -ITRON?

Why  -ITRON? Running iocCore on intelligent device controllers Many intelligent device controllers come with an Ethernet interface Many of those have an SHx CPU and enough ROM/RAM capacity to run iocCore Many of those run  -ITRON OPI IOCController VME or PC CA OPI IOC Controller CA Proprietary Protocol

Intelligent device controllers running  -ITRON Commercial Devices PLC Yokogawa FA-M3, used for Ion-source, vacuum etc. WE7000 measurement station Digital oscilloscope (100kS/s, 1MS/s, 100MS/s and 1GS/s) Custom Device Controllers EMB-LAN100 Initially designed for the Power supplies of DTL Q-magnet NDIM (Network Device Interface Module) Developed by RIKEN for various control/monitoring

Commercial devices FA-M3 PLC (Made by Yokogawa) WE7000 (Made by Yokogawa)

Custom device controllers EMB-LAN100 (Developed by KEK) N-DIM (Developed by RIKEN)

What are the benefits? More distributed More load distribution More robust Flatter hierarchy Save IOCs being used as “protocol transformer” No need for asynchronous driver OPI IOCController MicroIOC CA OPI IOC Controller CA Proprietary Protocol

What’s available on the market The kernel, NORTi4, from MISPO Development environment SHC (Super Hitachi Compiler) with a standard C/C++ library Cygwin on Windows Kasago TCP/IP + BSD socket library, from Elmic Systems, Inc. We assume BSPs are available from the HW- manufactures

How hard is it? We have implemented OSD libraries (not yet tested) We have asked Elmic Systems, Inc. to port the TCP/IP + BSD socket onto our target board There are some missing functions in STC library needed by iocCore Recent versions of EPICS base use lots of C++ codes We have gotten linkage errors with some of those

OSD implementation  -ITRON has abundant functions for synchronization and communication It’s relatively easy For example: itron case: const T_CMTX cmtx = {TA_TINHERIT,0,""}; struct epicsMutexOSD * epicsMutexOsdCreate(void) { ID id; ER ercd; ercd = acre_sem(&cmtx); … } Vxworks case: struct epicsMutexOSD * epicsMutexOsdCreate(void) { return((struct epicsMutexOSD *) semMCreate(SEM_DELETE_SAFE|SEM_INVERSI ON_SAFE|SEM_Q_PRIORITY)); }

BSD socket library Elmic Systems, Inc. is going to develop libraries which interface their TCP/IP protocol stack with  -ITRON/LAN controller driver

Missing functions in STC library extern FILE *fdopen(int handle, const char * tmp) {...} extern char *getenv (char * tmp) {...} extern int putenv (char * tmp) {...} extern char *tmpnam (char * tmp) {...} extern FILE *tmpfile (void) {...} extern int atexit (void (*function)(void)) {...} extern void exit(int status) {...} void abort(void) {...}

Building problems with C++ code iocCore uses some methods not in SHC’s STD C++ library logic_error::logic_error(); Some of external references can’t be resolved Related with class Related with template Related with inline function

Status and future plans We are trying to solve the linkage problems with C++ code If not, we are going to try another compiler exeGCC, based on gcc We lose support from the companies on BSP&BSD socket library We hope we can succeed in running iocCore on a target board before Mar. 2005

MCU made by Nichizou MCU running  -ITRON SH4 (SH7751R-200 MHz) FLASH ROM 16MB SDRAM 64MB

External references can’t be resolved related with class Example: L2310 (W) Undefined external symbol "type identifier for tcpRecvThread" referenced in "tcpiiu" Details: In "epics\base \src\ca\virtualCircuit.h", class was declared, class tcpRecvThread : public epicsThreadRunable {…}; In "epics\base \src\ca\tcpiiu.cpp", the method is like this, tcpRecvThread::tcpRecvThread ( … ) {…}

External references can’t be resolved related with template Example: L2310 (W) Undefined external symbol "type identifier for tsSLNode " referenced in "tcpiiu" Details: In "epics\base \include\tsSLList.h",declare is like this: Template class tsSLNode { … };

External references can’t be resolved related with inline function Example: L2310 (W) Undefined external symbol "comBuf::operator new(unsigned long)" referenced in "tcpiiu" Details: In "epics\base \src\ca\comBuf.h", inline void * comBuf::operator new ( size_t size, comBufMemoryManager & mgr ) { return mgr.allocate ( size ); }