EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  2021  2022  2023  2024  <2025 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  2021  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: Cross-compiling epics for petalinux
From: Donny Domagoj Cosic via Tech-talk <tech-talk at aps.anl.gov>
To: Ralph Lange via Tech-talk <tech-talk at aps.anl.gov>
Date: Sun, 05 Jan 2025 15:15:34 +0100
Hello,

I hope you all had a happy and restful holidays.
I started playing with Petalinux on my KC705 board before the holidays and successfully get Petalinux to boot. Now I am trying to cross compile EPICS base to run it on the Microblaze but I am running into some compile problems which are making me think I am doing something wrong. Any advice or suggestion from your experience would be greatly appreciated.

I have the 2024.1 version of Petalinux along with the rest of the Xilinx (AMD) tools installed on a Ubuntu 22.04.5 LTS. I used the provided BSP which boots successfully and from it I generated the SDK which contains the sysroots. Sysroots contains 2 folders: "microblazeel-v11.0-bs-cmp-re-mh-div-fb-xilinx-linux" and "x86_64-petalinux-linux". The "x86_64-petalinux-linux" folder contains the compilers.

I edited the CONFIG_SITE in /configure
-> CROSS_COMPILER_TARGET_ARCHS=linux-microblaze

I edited the CONFIG_SITE.Common.linux-microblaze file in /configure/os
-> GNU_DIR = /home/donny/Xilinx/KC705_Petalinux/images/linux/sdk/sysroots
-> GNU_TARGET=microblazeel-v11.0-bs-cmp-re-mh-div-fb-xilinx-linux

When I try to compile the linux-x86_64 compiles without a problem finding the compilers. But when compiling linux-microblaze it does not find the compilers because there are not in the "microblazeel-v11.0-bs-cmp-re-mh-div-fb-xilinx-linux" folder. If i manually add the locations of the compilers in the CONFIG_SITE.Common.linux-microblaze file: CC = /home/donny/Xilinx/KC705_Petalinux/images/linux/sdk/sysroots/x86_64-petalinux-linux/usr/bin/microblazeel-xilinx-linux/microblazeel-xilinx-linux-gcc CCC = /home/donny/Xilinx/KC705_Petalinux/images/linux/sdk/sysroots/x86_64-petalinux-linux/usr/bin/microblazeel-xilinx-linux/microblazeel-xilinx-linux-g++ LD = home/donny/Xilinx/KC705_Petalinux/images/linux/sdk/sysroots/x86_64-petalinux-linux/usr/bin/microblazeel-xilinx-linux/microblazeel-xilinx-linux-ld AR = home/donny/Xilinx/KC705_Petalinux/images/linux/sdk/sysroots/x86_64-petalinux-linux/usr/bin/microblazeel-xilinx-linux/microblazeel-xilinx-linux-ar

When i try to make using this configurations i get the following error:
/home/donny/Xilinx/KC705_Petalinux/images/linux/sdk/sysroots/x86_64-petalinux-linux/usr/lib/microblazeel-xilinx-linux/gcc/microblazeel-xilinx-linux/12.2.0/include-fixed/limits.h:203:75: error: no include path in which to search for limits.h

I think this is because it is using the wrong include folder, it should be using the one from the microblazeel directory. If i edit GNU_TARGET_INCLUDE_DIR and GNU_TARGET_LIB_DIR it compiles further but then cannot find sub directories that are required. This makes me think that this is not the proper way resolve this problem.

I hope someone has some experience with this as any advice would be very welcome, I cannot think of anything else to try.

Regards,
--
Donny Domagoj Cosic

Laboratory for Ion Beam Interactions
Ruđer Bošković Institute
Bijenička cesta 54 | HR-10 000 Zagreb | CROATIA
T: +385 1 4561 041 | @: dcosic at irb.hr | https://urldefense.us/v3/__http://www.irb.hr__;!!G_uCfscf7eWS!cYy97Vvb1bRvbno_UwIAm8f-TUPZwig_qQNEfkjHC23jnGFlnJU4DjYH42ihbdoutL7Hq-0kjJvIK0Zlzm-hODxaVXHkWNWQ$
Replies:
Re: Cross-compiling epics for petalinux Johnson, Andrew N. via Tech-talk

Navigate by Date:
Prev: RE: I implemented the Model 3 of EPICS motor driver support, but the VAL and RBV of motor record are zero after IOC reboot. Mark Rivers via Tech-talk
Next: Re: Using Aerotech Automation1 motor controller with EPICS - controller initialization Mark Rivers via Tech-talk
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  2021  2022  2023  2024  <2025
Navigate by Thread:
Prev: Re: Using Aerotech Automation1 motor controller with EPICS - controller initialization Peterson, Kevin M. via Tech-talk
Next: Re: Cross-compiling epics for petalinux Johnson, Andrew N. via Tech-talk
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  2021  2022  2023  2024  <2025
ANJ, 08 Jan 2025 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·