openpowerlink2
v2 cover openpowerlink2
From doc/openpowerlink.md:
"The openPOWERLINK release V2.X is an evolution of the openPOWERLINK V1 stack. Running the kernel and user layers of openPOWERLINK on different processors in a multi-processor/multi-platform architecture, required fundamental changes in the Communication Abstraction Layer. Additionally, the existing code base was greatly improved so that it is easier to understand and maintain. Due to these reasons a new major release was started."
The openpowerlink2 package archive contains several cmake projects, and each of them must be packaged separately in Buildroot.
"With version 2.0, the source code has been cleanly split into an application-oriented user library and a time-critical stack driver."
This complicates the packaging but it helps to refine the dependencies compared to openpowerlink v1 build system.
(openpowerlink v1 requires C++ only for the qt demo)
The openpowerlink2 package provide all patches which should be used by other openpowerlink2-* packages by using an patch hook. Doing this avoids patches duplication over all sub-packages.
All patches fix several issues with the cmake build system and will be submitted upstream.
There is one project for the EPL (Ethernet PowerLink) stack libraries wich provides:
* an user space EPL stack to be linked into application
* an user space EPL stack pcap daemon
* an kernel space EPL library interface
There are two projects for the EPL network driver:
* pcap daemon driver
* kernel module driver.
Note: On x86/x86_64 only few EPL ethernet driver are available for the EPL kernel stack implementation:
* Intel 82573
* Intel 8255x
* Intel I210
* Realtek RTL-8111/8168 (new since V2.1.0)
* Realtek RTL-8139
There is one project for each demo application:
* demo_cn_embedded
* demo_mn_embedded
* demo_cn_console
* demo_mn_console
* demo_mn_qt
Only demo_mn_console will be packaged in Buildroot for now.
[1] http://sourceforge.net/p/openpowerlink/discussion/newbie/thread/3f13af65/
Romain Naour (4):
package/openpowerlink2: new package package/openpowerlink2-kernel-drivers: new package package/openpowerlink2-pcap-daemon: new package package/openpowerlink2-apps-demo-mn-console: new package
package/Config.in | 1 + ...a-better-regex-for-CMAKE_SYSTEM_PROCESSOR.patch | 153 +++++++++++++++++++++ ...ink-demos-with-Debug-and-Release-librarie.patch | 124 +++++++++++++++++ ...l-the-stack-libraries-to-lib-subdirectory.patch | 110 +++++++++++++++ ...0004-FIX-cmake-install-oplk-headers-files.patch | 30 ++++ package/openpowerlink2/Config.in | 88 ++++++++++++ .../openpowerlink2-apps-demo-mn-console/Config.in | 6 + .../openpowerlink2-apps-demo-mn-console.mk | 50 +++++++ .../openpowerlink2-kernel-drivers/Config.in | 33 +++++ .../openpowerlink2-kernel-drivers.mk | 52 +++++++ .../openpowerlink2-pcap-daemon/Config.in | 12 ++ .../openpowerlink2-pcap-daemon.mk | 38 +++++ package/openpowerlink2/openpowerlink2.hash | 2 + package/openpowerlink2/openpowerlink2.mk | 72 ++++++++++ 14 files changed, 771 insertions(+) create mode 100644 package/openpowerlink2/0001-FIX-use-a-better-regex-for-CMAKE_SYSTEM_PROCESSOR.patch create mode 100644 package/openpowerlink2/0002-FIX-Don-t-link-demos-with-Debug-and-Release-librarie.patch create mode 100644 package/openpowerlink2/0003-FIX-install-the-stack-libraries-to-lib-subdirectory.patch create mode 100644 package/openpowerlink2/0004-FIX-cmake-install-oplk-headers-files.patch create mode 100644 package/openpowerlink2/Config.in create mode 100644 package/openpowerlink2/openpowerlink2-apps-demo-mn-console/Config.in create mode 100644 package/openpowerlink2/openpowerlink2-apps-demo-mn-console/openpowerlink2-apps-demo-mn-console.mk create mode 100644 package/openpowerlink2/openpowerlink2-kernel-drivers/Config.in create mode 100644 package/openpowerlink2/openpowerlink2-kernel-drivers/openpowerlink2-kernel-drivers.mk create mode 100644 package/openpowerlink2/openpowerlink2-pcap-daemon/Config.in create mode 100644 package/openpowerlink2/openpowerlink2-pcap-daemon/openpowerlink2-pcap-daemon.mk create mode 100644 package/openpowerlink2/openpowerlink2.hash create mode 100644 package/openpowerlink2/openpowerlink2.mk
Signature · 1 line
1.9.3
PATCH v2 1/4 package/openpowerlink2: new package
This patch adds the package for the stack libraries.
---
v2: switch to tar.gz archive
add hash file
merge openpowerlink2 and openpowerlink2-stack
Add a new patch to install headers files
add OPENPOWERLINK2_*_ONOFF
--- package/Config.in | 1 + ...a-better-regex-for-CMAKE_SYSTEM_PROCESSOR.patch | 153 +++++++++++++++++++++ ...ink-demos-with-Debug-and-Release-librarie.patch | 124 +++++++++++++++++ ...l-the-stack-libraries-to-lib-subdirectory.patch | 110 +++++++++++++++ ...0004-FIX-cmake-install-oplk-headers-files.patch | 30 ++++ package/openpowerlink2/Config.in | 82 +++++++++++ package/openpowerlink2/openpowerlink2.hash | 2 + package/openpowerlink2/openpowerlink2.mk | 71 ++++++++++ 8 files changed, 573 insertions(+) create mode 100644 package/openpowerlink2/0001-FIX-use-a-better-regex-for-CMAKE_SYSTEM_PROCESSOR.patch create mode 100644 package/openpowerlink2/0002-FIX-Don-t-link-demos-with-Debug-and-Release-librarie.patch create mode 100644 package/openpowerlink2/0003-FIX-install-the-stack-libraries-to-lib-subdirectory.patch create mode 100644 package/openpowerlink2/0004-FIX-cmake-install-oplk-headers-files.patch create mode 100644 package/openpowerlink2/Config.in create mode 100644 package/openpowerlink2/openpowerlink2.hash create mode 100644 package/openpowerlink2/openpowerlink2.mk
package/Config.in +1 -0
@@ -386,6 +386,7 @@ endif source "package/open2300/Config.in" source "package/openocd/Config.in" source "package/openpowerlink/Config.in" + source "package/openpowerlink2/Config.in" source "package/owl-linux/Config.in" source "package/parted/Config.in" source "package/pciutils/Config.in"
package/openpowerlink2/0001-FIX-use-a-better-regex-for-CMAKE_SYSTEM_PROCESSOR.patch new file +153 -0
153 lines not on this page · raw message
package/openpowerlink2/0002-FIX-Don-t-link-demos-with-Debug-and-Release-librarie.patch new file +124 -0
124 lines not on this page · raw message
package/openpowerlink2/0003-FIX-install-the-stack-libraries-to-lib-subdirectory.patch new file +110 -0
110 lines not on this page · raw message
package/openpowerlink2/0004-FIX-cmake-install-oplk-headers-files.patch new file +30 -0
@@ -0,0 +1,30 @@ +From fa83d1badcc0923a8de524a98bb2c0ded12f181c Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Mon, 4 May 2015 11:47:05 +0200 +Subject: [PATCH] [FIX]cmake: install oplk headers files + +In order to be able to link a third paries application +with openpowerlink libraries, we also needs to install oplk +headers files. + +Signed-off-by: Romain Naour <[email protected]> +--- + stack/CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/stack/CMakeLists.txt b/stack/CMakeLists.txt +index f3c6a76..c1577e5 100644 +--- a/stack/CMakeLists.txt ++++ b/stack/CMakeLists.txt +@@ -103,3 +103,8 @@ ELSEIF((CMAKE_SYSTEM_NAME STREQUAL "Generic") AND (CMAKE_SYSTEM_PROCESSOR STREQU + ELSEIF((CMAKE_SYSTEM_NAME STREQUAL "Generic") AND (CMAKE_SYSTEM_PROCESSOR STREQUAL "zynqarm")) + INCLUDE(cmake/options-zynqarm.cmake) + ENDIF() ++ ++################################################################################ ++# Install oplk headers files ++################################################################################ ++INSTALL(DIRECTORY ${STACK_INCLUDE_DIR}/oplk DESTINATION "include") +-- +1.9.3 +
package/openpowerlink2/Config.in new file +82 -0
82 lines not on this page · raw message
package/openpowerlink2/openpowerlink2.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.1.1/openPOWERLINK-V2.1.1.tar.gz.md5 +md5 13117a5886fb36764d17af9c989552a9 openPOWERLINK-V2.1.1.tar.gz
package/openpowerlink2/openpowerlink2.mk new file +71 -0
71 lines not on this page · raw message
Signature · 1 line
1.9.3
PATCH v2 2/4 package/openpowerlink2-kernel-drivers: new package
In reply to Romain Naour--- package/openpowerlink2/Config.in | 3 ++ .../openpowerlink2-kernel-drivers/Config.in | 33 ++++++++++++++ .../openpowerlink2-kernel-drivers.mk | 52 ++++++++++++++++++++++ package/openpowerlink2/openpowerlink2.mk | 1 + 4 files changed, 89 insertions(+) create mode 100644 package/openpowerlink2/openpowerlink2-kernel-drivers/Config.in create mode 100644 package/openpowerlink2/openpowerlink2-kernel-drivers/openpowerlink2-kernel-drivers.mk
package/openpowerlink2/Config.in +3 -0
@@ -60,6 +60,7 @@ config BR2_PACKAGE_OPENPOWERLINK2_STACK_USERSPACE_DAEMON_LIB config BR2_PACKAGE_OPENPOWERLINK2_STACK_KERNEL_STACK_LIB bool "build EPL stack as linux kernelspace module." depends on BR2_LINUX_KERNEL # openpowerlink-kernel-driver + select BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVERS help Compile openPOWERLINK application library which contains the interface to a Linux kernel space driver. This will also build
@@ -70,6 +71,8 @@ comment "openpowerlink kernel stack needs a Linux kernel to be built" endchoice +source "package/openpowerlink2/openpowerlink2-kernel-drivers/Config.in" + config BR2_PACKAGE_OPENPOWERLINK2_DEBUG_LEVEL string "debug level for openpowerlink stack" default "0xEC000000L"
package/openpowerlink2/openpowerlink2-kernel-drivers/Config.in new file +33 -0
@@ -0,0 +1,33 @@ + +config BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVERS + bool "openpowerlink2 kernel drivers" + depends on BR2_LINUX_KERNEL + depends on BR2_PACKAGE_OPENPOWERLINK2_STACK_KERNEL_STACK_LIB + help + The openPOWERLINK stack is implemented as Linux kernel module. + This solution provides the best performance, but is limited to + the available openPOWERLINK network drivers. + +if BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVERS + +choice + prompt "select Ethernet Powerlink Driver" + +config BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVER_82573 + bool "Intel 82573" + +config BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVER_8255x + bool "Intel 8255x" + +config BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVER_I210 + bool "Intel I210" + +config BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVER_RTL8111 + bool "Realtek RTL-8111/8168" + +config BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVER_RTL8139 + bool "Realtek RTL-8139" + +endchoice + +endif # BR2_PACKAGE_OPENPOWERLINK2_KERNEL_DRIVERS
package/openpowerlink2/openpowerlink2-kernel-drivers/openpowerlink2-kernel-drivers.mk new file +52 -0
52 lines not on this page · raw message
package/openpowerlink2/openpowerlink2.mk +1 -0
@@ -69,3 +69,4 @@ OPENPOWERLINK2_CONF_OPTS += \ $(eval $(cmake-package)) +include $(wildcard package/openpowerlink2/*/*.mk)
Signature · 1 line
1.9.3
PATCH v2 3/4 package/openpowerlink2-pcap-daemon: new package
In reply to Romain Naour--- package/openpowerlink2/Config.in | 2 ++ .../openpowerlink2-pcap-daemon/Config.in | 12 +++++++ .../openpowerlink2-pcap-daemon.mk | 38 ++++++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 package/openpowerlink2/openpowerlink2-pcap-daemon/Config.in create mode 100644 package/openpowerlink2/openpowerlink2-pcap-daemon/openpowerlink2-pcap-daemon.mk
package/openpowerlink2/Config.in +2 -0
@@ -49,6 +49,7 @@ config BR2_PACKAGE_OPENPOWERLINK2_STACK_MONOLITHIC_USER_STACK_LIB config BR2_PACKAGE_OPENPOWERLINK2_STACK_USERSPACE_DAEMON_LIB bool "build EPL stack as linux userspace pcap daemon." select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_OPENPOWERLINK2_PCAP_DAEMON help Compile openPOWERLINK application library which contains the interface to a Linux user space driver, and the Linux user space
@@ -72,6 +73,7 @@ comment "openpowerlink kernel stack needs a Linux kernel to be built" endchoice source "package/openpowerlink2/openpowerlink2-kernel-drivers/Config.in" +source "package/openpowerlink2/openpowerlink2-pcap-daemon/Config.in" config BR2_PACKAGE_OPENPOWERLINK2_DEBUG_LEVEL string "debug level for openpowerlink stack"
package/openpowerlink2/openpowerlink2-pcap-daemon/Config.in new file +12 -0
@@ -0,0 +1,12 @@ + +config BR2_PACKAGE_OPENPOWERLINK2_PCAP_DAEMON + bool "openpowerlink userspace (PCAP) stack" + depends on BR2_PACKAGE_OPENPOWERLINK2_STACK_USERSPACE_DAEMON_LIB + select BR2_PACKAGE_LIBPCAP + help + The Linux userspace implementation of the openPOWERLINK stack + provides all functions for a software based POWERLINK solution + running as Linux userspace application. The stack uses the + libpcap library for accessing the network interface and is + therefore totally independant of the used network card and + driver.
package/openpowerlink2/openpowerlink2-pcap-daemon/openpowerlink2-pcap-daemon.mk new file +38 -0
@@ -0,0 +1,38 @@ +################################################################################ +# +# openpowerlink2-pcap-daemon +# +################################################################################ + +OPENPOWERLINK2_PCAP_DAEMON_VERSION = $(OPENPOWERLINK2_VERSION) +OPENPOWERLINK2_PCAP_DAEMON_SITE = $(OPENPOWERLINK2_SITE) +OPENPOWERLINK2_PCAP_DAEMON_SOURCE = $(OPENPOWERLINK2_SOURCE) +OPENPOWERLINK2_PCAP_DAEMON_LICENSE = $(OPENPOWERLINK2_LICENSE) +OPENPOWERLINK2_PCAP_DAEMON_LICENSE_FILES = $(OPENPOWERLINK2_LICENSE_FILES) + +OPENPOWERLINK2_PCAP_DAEMON_DEPENDENCIES = libpcap openpowerlink2 + +define OPENPOWERLINK2_PCAP_DAEMON_EXTRACT_CMDS + $(INFLATE$(suffix $($(PKG)_SOURCE))) $(DL_DIR)/$($(PKG)_SOURCE) | \ + $(TAR) -C $($(PKG)_DIR) $(TAR_OPTIONS) - $($(PKG)_TAR_OPTIONS) +endef + +define OPENPOWERLINK2_PCAP_DAEMON_APPLY_PATCHES + $(APPLY_PATCHES) $(@D) package/openpowerlink2 \*.patch +endef + +OPENPOWERLINK2_PCAP_DAEMON_POST_PATCH_HOOKS += \ + OPENPOWERLINK2_PCAP_DAEMON_APPLY_PATCHES + +OPENPOWERLINK2_PCAP_DAEMON_SUBDIR = drivers/linux/drv_daemon_pcap + +# CFG_DEBUG_LVL is taken into account only in Debug +ifeq ($(BR2_ENABLE_DEBUG),y) +OPENPOWERLINK2_PCAP_DAEMON_CONF_OPTS = \ + -DCFG_DEBUG_LVL="$(call qstrip,$(BR2_PACKAGE_OPENPOWERLINK2_DEBUG_LEVEL))" +endif + +OPENPOWERLINK2_PCAP_DAEMON_CONF_OPTS = \ + -DCFG_OPLK_MN=$(OPENPOWERLINK2_MN_ONOFF) + +$(eval $(cmake-package))
Signature · 1 line
1.9.3
PATCH v2 4/4 package/openpowerlink2-apps-demo-mn-console: new package
In reply to Romain Naour--- package/openpowerlink2/Config.in | 1 + .../openpowerlink2-apps-demo-mn-console/Config.in | 6 +++ .../openpowerlink2-apps-demo-mn-console.mk | 50 ++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 package/openpowerlink2/openpowerlink2-apps-demo-mn-console/Config.in create mode 100644 package/openpowerlink2/openpowerlink2-apps-demo-mn-console/openpowerlink2-apps-demo-mn-console.mk
package/openpowerlink2/Config.in +1 -0
@@ -74,6 +74,7 @@ endchoice source "package/openpowerlink2/openpowerlink2-kernel-drivers/Config.in" source "package/openpowerlink2/openpowerlink2-pcap-daemon/Config.in" +source "package/openpowerlink2/openpowerlink2-apps-demo-mn-console/Config.in" config BR2_PACKAGE_OPENPOWERLINK2_DEBUG_LEVEL string "debug level for openpowerlink stack"
package/openpowerlink2/openpowerlink2-apps-demo-mn-console/Config.in new file +6 -0
@@ -0,0 +1,6 @@ + +config BR2_PACKAGE_OPENPOWERLINK2_APPS_DEMO_MN_CONSOLE + bool "demo_mn_console" + depends on BR2_PACKAGE_OPENPOWERLINK2 + help + Managing Node console demo application
package/openpowerlink2/openpowerlink2-apps-demo-mn-console/openpowerlink2-apps-demo-mn-console.mk new file +50 -0
50 lines not on this page · raw message
Signature · 1 line
1.9.3
v2 cover openpowerlink2
In reply to Romain NaourHi,
Le 11/05/2015 18:14, Romain Naour a ?crit :
Quoted 52 lines
From
doc/openpowerlink.md:
"The openPOWERLINK release V2.X is an evolution of the openPOWERLINK V1 stack. Running the kernel and user layers of openPOWERLINK on different processors in a multi-processor/multi-platform architecture, required fundamental changes in the Communication Abstraction Layer. Additionally, the existing code base was greatly improved so that it is easier to understand and maintain. Due to these reasons a new major release was started."The openpowerlink2 package archive contains several cmake projects, and each of them must be packaged separately in Buildroot.
"With version 2.0, the source code has been cleanly split into an application-oriented user library and a time-critical stack driver."
This complicates the packaging but it helps to refine the dependencies compared to openpowerlink v1 build system.
(openpowerlink v1 requires C++ only for the qt demo)The openpowerlink2 package provide all patches which should be used by other openpowerlink2-* packages by using an patch hook. Doing this avoids patches duplication over all sub-packages.
All patches fix several issues with the cmake build system and will be submitted upstream.
There is one project for the EPL (Ethernet PowerLink) stack libraries wich provides:
* an user space EPL stack to be linked into application
* an user space EPL stack pcap daemon
* an kernel space EPL library interfaceThere are two projects for the EPL network driver:
* pcap daemon driver
* kernel module driver.Note: On x86/x86_64 only few EPL ethernet driver are available for the EPL kernel stack implementation:
* Intel 82573
* Intel 8255x
* Intel I210
* Realtek RTL-8111/8168 (new since V2.1.0)
* Realtek RTL-8139There is one project for each demo application:
*demo_cn_embedded
*demo_mn_embedded
*demo_cn_console
*demo_mn_console
*demo_mn_qtOnly
demo_mn_consolewill be packaged in Buildroot for now.
Quoted 7 lines
[1] http://sourceforge.net/p/openpowerlink/discussion/newbie/thread/3f13af65/
Romain Naour (4):
package/openpowerlink2: new package package/openpowerlink2-kernel-drivers: new package package/openpowerlink2-pcap-daemon: new package package/openpowerlink2-apps-demo-mn-console: new package
I'll mark this series as "Changes Requested" in patchwork since a new release of the openpowerlink stack is out (v2.2.0).
http://sourceforge.net/p/openpowerlink/news/2015/06/openpowerlink-v220/
I'll resend an updated series soon.
Best regards,
Romain