|1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 <2012> 2013 2014 2015 2016 2017 2018 2019 2020||Index||1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 <2012> 2013 2014 2015 2016 2017 2018 2019 2020|
|<== Date ==>||<== Thread ==>|
|Subject:||RE: Problem in porting EPICS on microblaze softcore processor|
|From:||"Dalesio, Leo" <email@example.com>|
|To:||"firstname.lastname@example.org" <email@example.com>, "firstname.lastname@example.org" <email@example.com>|
|Date:||Thu, 19 Apr 2012 13:22:17 +0000|
That is very ambitious.
We are using the microblaze on Virtex 6 for our BPMs and fast orbit feedback. We chose not to embed the channel access service there – but to integrate the devices through tcp/ip from the microblaze/Virtex 6 DDR3 memory --- into an EPICS device driver. We made three different paths with different priorities – commands to the microblaze, scalar data from microblaze to EPICS, and vector data from microblaze to EPICS.
To put the portable server into the microblaze would seem to have a number of issues – please report on the issues as you discover them and better yet – the solutions as you overcome them.
From: firstname.lastname@example.org [mailto:email@example.com]
On Behalf Of firstname.lastname@example.org
Last few days ,I am working on porting EPICS in microblaze softcore processor with uClinux. For this I am trying to build a Channel access portable server code on it as referring the tutorial on Channel Access Portable Server Application Interface (API) by Philip Stanley.
It consists of four c++ files namely myServer.h,Ÿ myPV.cc,Ÿ myServer.cc and Ÿ Server.cc. I could successfully compile the cc files and generate the object files in uClinux (namely myPV.o myServer.o Server.o). But while generating executable named Server by linking the object files with the libraries libcas.a, libca.a, libCom.a, and libgdd.a i am stuck at an error. microblaze-uclinux-gnu toolchain is used for compilation. I know my problem is a bit specific, but if anyone who has worked with uclinux earlier may help me.
Following is the error output at the console
microblaze-uclinux-g++ -L/home/petalinux-v0.40-final/software/petalinux-dist/lib -mno-xl-soft-mul -mno-xl-soft-div -mxl-barrel-shift -mcpu=v7.10.d -L/windows/base-3-14-11/myserver2/microblaze_lib -Wl -o Server myPV.o myServer.o Server.o -lcas -lca -lCom -lgdd -lrt -lc -lpthread
Server.elf2flt: In function `ClockTimeSync': /windows/base-3-14-11/myserver2/libCom/osiClockTime.c(.text+0x815b8): undefined reference to `clock_settime' Server.elf2flt: In function `ClockTimeGetCurrent':/windows/base-3-14-11/myserver2/libCom/osiClockTime.c(.text+0x816ec): undefined reference to `clock_settime' Server.elf2flt: In function `putDoubleToString(double, gddEnumStringTable const*, char*, unsigned long)': /windows/base-3-14-11/myserver2/gdd/aitConvert.cc(.text+0x96164): undefined reference to `cvtDoubleToString'
collect2: ld returned 1 exit status
make: *** [Server] Error 1