-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- CMAKE_SYSTEM_NAME is Linux
-- CMAKE_SYSTEM_PROCESSOR is x86_64
CMake Error at CMakeLists.txt:133 (MESSAGE):
EmacPs supported only for ARM processor
-- Configuring incomplete, errors occurred!
See also "/home/jimmy/Downloads/openPOWERLINK_V2.2.1/drivers/linux/drv_kernelmod_edrv/build/CMakeFiles/CMakeOutput.log".
My plan is to use openPowerlink on Zybo (zynq board) with a petalinux and make it communicate with PC.
Now I am working on Ubuntu 14.04 64bit on a virtual machine and Vivado 2014.2 (Not ISE 14.7).
I think the reason is that I need to customize the configuration of cmake but not sure how to do that, just change the value of system processor to "arm"?
Best regards,
Jimmy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I did some change in the file CMakeSystem.cmake (openPOWERLINK_V2.2.1/drivers/linux/drv_kernelmod_edrv/build/CMakeFiles/2.8.12.2).
The value of line 11: set(CMAKE_SYSTEM_PROCESSOR "x86_64") is changed to set(CMAKE_SYSTEM_PROCESSOR "arm"). Then the building progress went smoothly but I am not sure if this could cause further troubles.
The drivers and applications, which is demo_mn_console, can be sucessfully built, however, when I boot linux with these files from sd card, all these files can not be detected in the embedded linux system. I put the following files regarding the section <Xilinx zynq=""> in the doxygen doc:
For compiling the kernel modules for Linux on Zynq you will also need to cross compile the Linux source for the Zynq platform. Please refer section Tools->Linux Kernel at http://openpowerlink.sourceforge.net/doc/2.2/2.2.1/d7/d1c/page_platform_zynq.html for details on getting the required kernel and compilation steps reference.
Following are important points to be considered while compiling the Linux kernel source to run the openPOWERLINK demo:
- The correct device tree for the target platform should be used during the compilation.
- The native emacPs drivers which are part of the Linux kernel source provided by Xilinx should be compiled as modules.
Once Linux source is compiled, you will require to specify the Linux source directory using the CMake parameter CFG_KERNEL_DIR to correctly identify the Linux modules information for openPOWERLINK kernel module compilation(emacps). You can use the existing Zynq Linux toolchain file to specify the toolchain settings for Zynq using following command:
thanks for your reply! The information are really helpful!
The reason why the value of system processor is not 'arm' is that value of parameter CFG_KERNEL_DIR is ignored. When I open cmake-gui and set the path of source code and build directory, I always click the configure first and then add entry of CFG_KERNEL_DIR and CMAKE_TOOLCHAIN_FILE and reconfigure it again.
This is my first time using cmake and cmak-gui so I am not sure this is normal. So make sure add entry first and then do the configuration and if any configuration is missed you'd better start it over again.
The cmake part went smoothly, but when I tried to make the file it has errors again (sigh....) :
Hey guys,
I am following the doxygen documents and trying to building Edrv drivers, but I got the following errors:
My plan is to use openPowerlink on Zybo (zynq board) with a petalinux and make it communicate with PC.
Now I am working on Ubuntu 14.04 64bit on a virtual machine and Vivado 2014.2 (Not ISE 14.7).
I think the reason is that I need to customize the configuration of cmake but not sure how to do that, just change the value of system processor to "arm"?
Best regards,
Jimmy
I did some change in the file CMakeSystem.cmake (openPOWERLINK_V2.2.1/drivers/linux/drv_kernelmod_edrv/build/CMakeFiles/2.8.12.2).
The value of line 11: set(CMAKE_SYSTEM_PROCESSOR "x86_64") is changed to set(CMAKE_SYSTEM_PROCESSOR "arm"). Then the building progress went smoothly but I am not sure if this could cause further troubles.
The drivers and applications, which is demo_mn_console, can be sucessfully built, however, when I boot linux with these files from sd card, all these files can not be detected in the embedded linux system. I put the following files regarding the section <Xilinx zynq=""> in the doxygen doc:
demo_mn_console
oplkemacpsmn.ko
oplkmnd-pcap
plkload
plkunload
mnobd,cdc
daemon.c.o
as well as the linux booting files (BOOT.bin devicetree.dtb uImage and uramdisk.image.gz).
The doxygen doc only tells me to copy stack binaries into SD card but the tricky point is that linux only detect the files in ramdisk.
So how can I run openPowerlink in Linux on Zynq?
Hello Jimmy,
For compiling the kernel modules for Linux on Zynq you will also need to cross compile the Linux source for the Zynq platform. Please refer section Tools->Linux Kernel at http://openpowerlink.sourceforge.net/doc/2.2/2.2.1/d7/d1c/page_platform_zynq.html for details on getting the required kernel and compilation steps reference.
Following are important points to be considered while compiling the Linux kernel source to run the openPOWERLINK demo:
- The correct device tree for the target platform should be used during the compilation.
- The native emacPs drivers which are part of the Linux kernel source provided by Xilinx should be compiled as modules.
Once Linux source is compiled, you will require to specify the Linux source directory using the CMake parameter
CFG_KERNEL_DIR
to correctly identify the Linux modules information for openPOWERLINK kernel module compilation(emacps). You can use the existing Zynq Linux toolchain file to specify the toolchain settings for Zynq using following command:cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=../../../../../cmake/toolchain-xilinx-arm-linux-eabi-gnu.cmake -DCFG_OPLK_MN=TRUE -DCFG_POWERLINK_EDRV=emacps ..
We will soon publish a detail "Quick Start Guide" for Zynq platform capturing all the necessary steps for compilation and running.
Hope till then the above information helps.
Regards,
POWERLINK Team
Kalycito
Last edit: Powerlink-team Kalycito 2015-09-19
Dear Kalycito,
thanks for your reply! The information are really helpful!
The reason why the value of system processor is not 'arm' is that value of parameter CFG_KERNEL_DIR is ignored. When I open cmake-gui and set the path of source code and build directory, I always click the configure first and then add entry of CFG_KERNEL_DIR and CMAKE_TOOLCHAIN_FILE and reconfigure it again.
This is my first time using cmake and cmak-gui so I am not sure this is normal. So make sure add entry first and then do the configuration and if any configuration is missed you'd better start it over again.
The cmake part went smoothly, but when I tried to make the file it has errors again (sigh....) :
I googled a little bit and no clue at all. I guess this may caused by unmatched linux version? Really not sure. My PC OS version is :
My embedded Linux system, which is downloaded from https://github.com/DigilentInc/Linux-Digilent-Dev/tree/master-next . Its Linux kernel version is :
I found some lines in drv_kernel_edrv/build/CMakeFiles/Makefiles2 may be related to this problem (from Line:90 ):
I hope someone can give me a hint.
Hopefully A deailed "Getting started on zynq tutorial " could be published soon. It could save us alot of time.
Best regards,
Jimmy
Hello Jimmy,
Were you able to solve the issues faced during the compilation for the Zybo board?
Regards,
POWERLINK Team,
Kalycito