Transcript Installing EPICS
EPICS
EPICS on Windows How to install and Application example with hands-on
Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Some parts are quoted from Dr. Furukawa’s and Dr. Obina’s lecture materials.
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Why EPICS on Windows
EPICS on Windows Information: http://www.aps.anl.gov/epics/base/win32.php
http://www-linac.kek.jp/jk/win32/ Recently, many devices are running on Windows (2000, XP, Vista) .
Digital oscilloscope (Tektronix, Agilent, LeCroy,…) Network Analyzer Many other measurement instruments etc.
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
EPICS IOC Example in KEK Linac
Tektronix Oscilloscope DPO7104 for BPM-DAQ Agilent Network Analyzer E5061A for Vector voltmeter ( 571 MHz Phase)
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Building EPICS on Windows:
Some possible environments Cygwin Unix-like environment GNU tools cygwin1.dll
Microsoft Visual C++ (VC6, 2005, .NET, 2008) Commercial Free version (Express Edition) MinGW Minimalist GNU for Windows Free GNU C compiler msvcrt.dll (Microsoft C) Borland C++
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Building EPICS on Windows:
The simplest approach: Cygwin with the GCC compiler Recommend: Some Cygwin tools and Microsoft's commercial Visual C++ compiler (or free Visual C++ 2008 Express Edition).
http://www.microsoft.com/express/vc/
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
What’s Cygwin?
Cygwin is a Linux-like environment for Windows. A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality. A collection of tools which provide Linux look and feel. You can get it http://www.cygwin.com/
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Cygwin Applications
Cygwin API “Cygwin1.dll” provides function of POSIX system call.
Development of Windows-native Application is also Possible Development of DLL is Possible Most of the Open-Source tools on Unix are ported.
Fileutils, XXXutils, Compilers, Debuggers, Editors, Internet Clients, Interpreters, Dev. Tools, Doc. Tools.
Servers Sshd, Apache (php, etc.), Squid, PostgreSQL, Xinetd, NFS,… X11
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
What Is Visual Studio Express?
You can get it.
http://www.microsoft.com/express/download/ Visual C++, Visual Basic, Visual C#, SQL Server, Visual Web Developer.
Freeware Limited functionality But enough for common usage Needs about 1 GB of disk space You don’t need: MS Shilverlight Runtime MS SQL Server
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Visual C++ 2008 GUI
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (1)
Using Cygwin: The simple way to build EPICS on Windows Hits for Cygwin setup: Very slow response for some download sites.
If you failed to download, try from other Websites .
Default install option does not include the important commands: cc, make, perl, etc
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (1)
Install Cygwin:
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (1)
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (1)
Choose a download site.
If you failed, try from other download sites.
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (1)
Select Packages you want.
At least, select cc, vim, make, Perl, and so on.
X11 is also available if you select.
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (1)
Select Packages: Editors Vim, Emacs,… Devel make gcc-g++, gcc-core Perl Other packages if you need
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (1)
Set EPICS_HOST_ARCH environment var.
bash: export EPICS_HOST_ARCH=cygwin-x86 csh: setenv EPICS_HOST_ARCH cygwin-x86 c.f.) for MinGW, export EPICS_HOST_ARCH=win32-x86-mingw Then, in the base directory Just type “make” Typically, it takes about 10 minutes.
(Intel Core2 1.2 GHz, 2 GB RAM)
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (2)
Cygwin tools and Microsoft's Visual Studio C++ compiler combination.
make, perl (Cygwin) cl, link, (Visual Studio C++) EPICS_HOST_ARCH: bash: export EPICS_HOST_ARCH=win32-x86 csh: setenv EPICS_HOST_ARCH win32-x86 c.f.) for Borland compiler export EPICS_HOST_ARCH=win32-x86-borland
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (2)
EPICS_HOST_ARCH variable: You can set it as the Windows Environment Variable.
“Control Panel” => “System” => “System Property” => “Environment Variables” => “System variables”
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (2)
You can find cygwin.bat file in c:\cygwin (default setting) or root directory you choosed.
In cygwin.bat file, add one line.
@echo off C: chdir C:\cygwin\bin call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat“ bash --login -i
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to Build EPICS on Windows (2)
Modify /etc/profile file PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:$PATH export PATH => PATH= $PATH :/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin export PATH You can check the path setting by “which” command.
$ which link /cygdrive/c/Program Files/Microsoft Visual Studio 8/VC/BIN/link $ which cl /cygdrive/c/Program Files/Microsoft Visual Studio 8/VC/BIN/cl
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Hands-on (1)
Build EPICS base on Windows Use Cygwin export EPICS_HOST_ARCH=cygwin-x86 Use Visual Studio C++ and Cygwin(make, perl) export EPICS_HOST_ARCH=win32-x86 Modify the /etc/profile file PATH= $PATH :/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Hands-on (2)
Open a Cygwin command window Check environment printenv printenv |grep EPICS make –v perl –v cl
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Hands-on (3)
Create an Example Application on Windows /home/username>mkdir testApp /home/username>cd testApp /home/username/testApp>makeBaseApp.pl -t example myexample /home/username/testApp>makeBaseApp.pl -i -t example myexample /home/username/testApp>make ..... wait for a while .....
/home/username/testApp>cd iocBoot\iocmyexample /home/username/testApp/iocBoot/iocmyexample>vi st.cmd
..... edit "st.cmd" .....
dbLoadRecords("db/dbExample1.db","user=username") dbLoadRecords("db/dbExample1.db","user= x86/example.exe st.cmd
your_favorite_name ..... open another cmd window, try caget, camonitor ") /home/username/testApp/iocBoot/iocmyexample>../../bin/win32-
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
Hits for Hands-on (3) Set path configuration
/usr_epics_base_directory/bin/win32-x86 e.g.) /epics/base-3.14.10/bin/win32-x86 Modify .bashrc (bash), .cshrc (csh) Or, Modify Environment Variables on Windows
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.
EPICS
How to use CA.DLL
Dynamic-Link Library (DLL) Microsoft’s implementation of the shared library concept in the Windows operating systems *.so (In Linux or other UNIX-like operating system) Example: caClient by VBA macro V isual B asic for A pplication In KEK Linac, VBA is used for E5061A(Agilent) for Vector voltmeter.
EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.