diff --git a/libs/include/pnet_version.h b/libs/include/pnet_version.h index bf55875..39d4c6a 100644 --- a/libs/include/pnet_version.h +++ b/libs/include/pnet_version.h @@ -16,7 +16,7 @@ #ifndef PNET_VERSION_H #define PNET_VERSION_H -#define PROFINET_GIT_REVISION "f6bbef1-dirty" +#define PROFINET_GIT_REVISION "da63bec-dirty" #if !defined(PNET_VERSION_BUILD) && defined(PROFINET_GIT_REVISION) #define PNET_VERSION_BUILD PROFINET_GIT_REVISION diff --git a/libs/lib/arm_a15/libosal.a b/libs/lib/arm_a15/BeagleBoneAI/libosal.a similarity index 97% rename from libs/lib/arm_a15/libosal.a rename to libs/lib/arm_a15/BeagleBoneAI/libosal.a index cc3a971..1ad7e34 100644 Binary files a/libs/lib/arm_a15/libosal.a and b/libs/lib/arm_a15/BeagleBoneAI/libosal.a differ diff --git a/libs/lib/arm_a15/BeagleBoneAI/libosald.a b/libs/lib/arm_a15/BeagleBoneAI/libosald.a new file mode 100644 index 0000000..4325987 Binary files /dev/null and b/libs/lib/arm_a15/BeagleBoneAI/libosald.a differ diff --git a/libs/lib/arm_a15/libprofinet.a b/libs/lib/arm_a15/BeagleBoneAI/libprofinet.a similarity index 97% rename from libs/lib/arm_a15/libprofinet.a rename to libs/lib/arm_a15/BeagleBoneAI/libprofinet.a index 8afca5a..8577284 100644 Binary files a/libs/lib/arm_a15/libprofinet.a and b/libs/lib/arm_a15/BeagleBoneAI/libprofinet.a differ diff --git a/libs/lib/arm_a15/BeagleBoneAI/libprofinetd.a b/libs/lib/arm_a15/BeagleBoneAI/libprofinetd.a new file mode 100644 index 0000000..bc76e5f Binary files /dev/null and b/libs/lib/arm_a15/BeagleBoneAI/libprofinetd.a differ diff --git a/libs/lib/arm_a15/am5718-idk/libosal.a b/libs/lib/arm_a15/am5718-idk/libosal.a new file mode 100644 index 0000000..cf8a3b5 Binary files /dev/null and b/libs/lib/arm_a15/am5718-idk/libosal.a differ diff --git a/libs/lib/arm_a15/libosald.a b/libs/lib/arm_a15/am5718-idk/libosald.a similarity index 99% rename from libs/lib/arm_a15/libosald.a rename to libs/lib/arm_a15/am5718-idk/libosald.a index 177c224..82823e2 100644 Binary files a/libs/lib/arm_a15/libosald.a and b/libs/lib/arm_a15/am5718-idk/libosald.a differ diff --git a/libs/lib/arm_a15/am5718-idk/libprofinet.a b/libs/lib/arm_a15/am5718-idk/libprofinet.a new file mode 100644 index 0000000..313fe79 Binary files /dev/null and b/libs/lib/arm_a15/am5718-idk/libprofinet.a differ diff --git a/libs/lib/arm_a15/am5718-idk/libprofinetd.a b/libs/lib/arm_a15/am5718-idk/libprofinetd.a new file mode 100644 index 0000000..bc76e5f Binary files /dev/null and b/libs/lib/arm_a15/am5718-idk/libprofinetd.a differ diff --git a/libs/lib/arm_a15/libprofinetd.a b/libs/lib/arm_a15/libprofinetd.a deleted file mode 100644 index 44d882c..0000000 Binary files a/libs/lib/arm_a15/libprofinetd.a and /dev/null differ diff --git a/profinet_stack/osal/.vscode/settings.json b/profinet_stack/osal/.vscode/settings.json index 3e57f48..0fdb918 100644 --- a/profinet_stack/osal/.vscode/settings.json +++ b/profinet_stack/osal/.vscode/settings.json @@ -1,7 +1,7 @@ { "cmake.configureArgs": [ - "-DSITARA=ON", - "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/../../sitara_depot/compile/toolchain.cmake" + "-DBOARD=am5718-idk", + "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/../../sitara_depot/compile/toolchain_am571x_idk.cmake" ], "files.associations": { "typeinfo": "c", diff --git a/profinet_stack/osal/CMakeLists.txt b/profinet_stack/osal/CMakeLists.txt index 0aac537..53c9cff 100644 --- a/profinet_stack/osal/CMakeLists.txt +++ b/profinet_stack/osal/CMakeLists.txt @@ -18,6 +18,22 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/tools") project (OSAL VERSION 0.1.0) +if (NOT DEFINED BOARD) + message(FATAL_ERROR "Variable BOARD not defined!" + "Note: BOARD can take the following values:\n" + " -- am5718-idk\n" + " -- BeagleBoneAI") +else() + if ( (NOT (${BOARD} STREQUAL "am5718-idk")) AND (NOT (${BOARD} STREQUAL "BeagleBoneAI"))) + message(FATAL_ERROR "BOARD ${BOARD} unsupported!\n" + "BOARD can take the following values:\n" + " -- am5718-idk\n" + " -- BeagleBoneAI") + else() + message(STATUS "BOARD = " ${BOARD}) + endif() +endif() + include(GetGitRevision) # Default settings if this is the main project @@ -54,20 +70,18 @@ configure_file ( #------------------------------------------------------------------------ # Путь к папке с библиотеками set(INSTALL_PATH ${CMAKE_SOURCE_DIR}/../../libs) -# Путь куда будут копиороваться собранная библиотека +# Путь куда будут копироваться собранная библиотека set(INSTALL_PATH_LIB ${INSTALL_PATH}/lib) -if(SITARA) - message("-- Building for cortex-a15 (Sitara)") +#BOARD задается в параметрах запуска cmake, прописано в .vscode/settings.json +if (DEFINED BOARD) set(SITARA_DEPOT ${CMAKE_SOURCE_DIR}/../../sitara_depot) - - set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/arm_a15) - + set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/arm_a15/${BOARD}) include(${SITARA_DEPOT}/compile/sitara_compile_flags.cmake) - + message(STATUS "Building for ${BOARD}") else() -set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/x86_64) - message("-- Building for x86") + set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/x86_64) + message(STATUS "Building for x86") endif() # Путь куда будут копироваться h-файлы set(INSTALL_PATH_INC ${INSTALL_PATH}/include) diff --git a/profinet_stack/p-net/.vscode/settings.json b/profinet_stack/p-net/.vscode/settings.json index 3e57f48..25755e9 100644 --- a/profinet_stack/p-net/.vscode/settings.json +++ b/profinet_stack/p-net/.vscode/settings.json @@ -1,7 +1,7 @@ { "cmake.configureArgs": [ - "-DSITARA=ON", - "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/../../sitara_depot/compile/toolchain.cmake" + "-DBOARD=am5718-idk", + "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/../../sitara_depot/compile/toolchain_am5718_idk.cmake" ], "files.associations": { "typeinfo": "c", diff --git a/profinet_stack/p-net/CMakeLists.txt b/profinet_stack/p-net/CMakeLists.txt index 47d4500..3fe0cf5 100644 --- a/profinet_stack/p-net/CMakeLists.txt +++ b/profinet_stack/p-net/CMakeLists.txt @@ -18,6 +18,22 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/tools") project (PROFINET VERSION 0.2.0) +if (NOT DEFINED BOARD) + message(FATAL_ERROR "Variable BOARD not defined!" + "Note: BOARD can take the following values:\n" + " -- am5718-idk\n" + " -- BeagleBoneAI") +else() + if ( (NOT (${BOARD} STREQUAL "am5718-idk")) AND (NOT (${BOARD} STREQUAL "BeagleBoneAI"))) + message(FATAL_ERROR "BOARD ${BOARD} unsupported!\n" + "BOARD can take the following values:\n" + " -- am5718-idk\n" + " -- BeagleBoneAI") + else() + message(STATUS "BOARD = " ${BOARD}) + endif() +endif() + # Default settings if this is the main project if (CMAKE_PROJECT_NAME STREQUAL PROFINET) include(CTest) @@ -171,18 +187,17 @@ set(INSTALL_PATH ${CMAKE_SOURCE_DIR}/../../libs) # Путь куда будут копиороваться собранная библиотека set(INSTALL_PATH_LIB ${INSTALL_PATH}/lib) -if(SITARA) - message("-- Building for cortex-a15 (Sitara)") +#BOARD задается в параметрах запуска cmake, прописано в .vscode/settings.json +if (DEFINED BOARD) set(SITARA_DEPOT ${CMAKE_SOURCE_DIR}/../../sitara_depot) - - set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/arm_a15) - + set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/arm_a15/${BOARD}) include(${SITARA_DEPOT}/compile/sitara_compile_flags.cmake) - + message(STATUS "Building for ${BOARD}") else() -set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/x86_64) - message("-- Building for x86") + set(INSTALL_PATH_LIB ${INSTALL_PATH_LIB}/x86_64) + message(STATUS "Building for x86") endif() + # Путь куда будут копироваться h-файлы set(INSTALL_PATH_INC ${INSTALL_PATH}/include) diff --git a/sitara_depot b/sitara_depot index f647bff..602a82c 160000 --- a/sitara_depot +++ b/sitara_depot @@ -1 +1 @@ -Subproject commit f647bffdb723629a289befbefa3a564de4bb2cfa +Subproject commit 602a82c3cbec94805d8326446e41caa6c7b2e62c diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json index 520c0f6..c7dc85b 100755 --- a/src/.vscode/settings.json +++ b/src/.vscode/settings.json @@ -1,7 +1,7 @@ { "cmake.configureArgs": [ - "-DSITARA=ON", - "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/../sitara_depot/compile/toolchain.cmake", + "-DBOARD=BeagleBoneAI", + "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/../sitara_depot/compile/toolchain_beagle_bone.cmake", ], "files.associations": { "string_view": "cpp", diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 778453e..ea258c4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,17 @@ cmake_minimum_required (VERSION 3.0) project (PROFINET_IO_DEV VERSION 0.0.1) +if (DEFINED BOARD) + if ( (NOT (${BOARD} STREQUAL "am5718-idk")) AND (NOT (${BOARD} STREQUAL "BeagleBoneAI"))) + message(FATAL_ERROR "BOARD ${BOARD} unsupported!\n" + "BOARD can take the following values:\n" + " -- am5718-idk\n" + " -- BeagleBoneAI") + else() + message(STATUS "BOARD = " ${BOARD}) + endif() +endif() + set(CMAKE_CXX_STANDARD 17) set(LIBS_INSTALL_PATH ../libs) @@ -50,11 +61,17 @@ add_compile_options(-Wno-psabi) set(LIB_ARCH_DIR x86_64) -if(SITARA) +if(DEFINED BOARD) set(LIB_ARCH_DIR arm_a15) endif() -target_link_directories(${TARGET_NAME} PUBLIC ${LIBS_INSTALL_PATH}/lib/${LIB_ARCH_DIR}) +set(LINK_PATH ${LIBS_INSTALL_PATH}/lib/${LIB_ARCH_DIR}) + +if (DEFINED BOARD) + set(LINK_PATH ${LINK_PATH}/${BOARD}) +endif() + +target_link_directories(${TARGET_NAME} PUBLIC ${LINK_PATH}) #Если не собирается с ошибкой линкера undefined reference pthread, то после ${Boost_LIBRARIES} добавить pthread или -lpthread: #target_link_libraries (${TARGET_NAME} PUBLIC profinet osal ${Boost_LIBRARIES} pthread) diff --git a/src/copy_snmp.sh b/src/copy_snmp.sh new file mode 100755 index 0000000..4ee3ad5 --- /dev/null +++ b/src/copy_snmp.sh @@ -0,0 +1,81 @@ +#!/bin/sh +COPY_SCRIPT=/home/svad/Projects/pipe_msgq_translator/host_scripts/copy.sh +FS_PATH=/home/svad/ti/ti-processor-sdk-linux-am57xx-evm-08_02_01_00/targetNFS + +$COPY_SCRIPT "-r ${FS_PATH}/etc/snmp" /etc +$COPY_SCRIPT "-r ${FS_PATH}/usr/share/snmp" /usr/share +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmptop /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpinform /usr/bin +$COPY_SCRIPT ${FS_PATH}/etc/rc0.d/K60snmpd /etc/rc0.d +$COPY_SCRIPT ${FS_PATH}/etc/rc1.d/K60snmpd /etc/rc1.d +$COPY_SCRIPT ${FS_PATH}/etc/rc2.d/S90snmpd /etc/rc2.d +$COPY_SCRIPT ${FS_PATH}/etc/rc3.d/S90snmpd /etc/rc3.d +$COPY_SCRIPT ${FS_PATH}/etc/rc4.d/S90snmpd /etc/rc4.d +$COPY_SCRIPT ${FS_PATH}/etc/rc5.d/S90snmpd /etc/rc5.d +$COPY_SCRIPT ${FS_PATH}/etc/rc6.d/K60snmpd /etc/rc6.d +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmp.so.35 /usr/lib +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmpmibs.so.35 /usr/lib +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmpagent.so.35 /usr/lib +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmphelpers.so.35 /usr/lib +$COPY_SCRIPT ${FS_PATH}/etc/init.d/snmpd /etc/init.d +$COPY_SCRIPT ${FS_PATH}/usr/sbin/snmpd /usr/sbin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpdf /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpps /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpget /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpset /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpusm /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpconf /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpping /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmptest /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmptrap /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpvacm /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpwalk /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpcheck /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpdelta /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmptable /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpstatus /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpbulkget /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpgetnext /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpnetstat /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmpbulkwalk /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmptranslate /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/snmp-bridge-mib /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/bin/net-snmp-cert /usr/bin +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmp.so.35.0.0 /usr/lib +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmpmibs.so.35.0.0 /usr/lib +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmpagent.so.35.0.0 /usr/lib +$COPY_SCRIPT ${FS_PATH}/usr/lib/libnetsnmphelpers.so.35.0.0 /usr/lib +$COPY_SCRIPT ${FS_PATH}/usr/include/linux/snmp.h /usr/include/linux +$COPY_SCRIPT ${FS_PATH}/lib/systemd/system/snmpd.service /lib/systemd/system +$COPY_SCRIPT ${FS_PATH}/lib/systemd/system-preset/98-net-snmp-server-snmpd.preset /lib/systemd/system-preset +$COPY_SCRIPT ${FS_PATH}/etc/systemd/system/multi-user.target.wants/snmpd.service /etc/systemd/system/multi-user.target.wants +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-libs.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-mibs.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-client.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-libs.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-mibs.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-client.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-server-snmpd.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-server-snmpd.prerm /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-server-snmpd.postrm /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-server-snmpd.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-server-snmpd.postinst /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/net-snmp-server-snmpd.conffiles /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmp35.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmp35.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmp35.postinst /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmpmibs35.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmpagent35.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmphelpers35.list /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmpmibs35.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmpagent35.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmphelpers35.control /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmpmibs35.postinst /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmpagent35.postinst /var/lib/opkg/info +$COPY_SCRIPT ${FS_PATH}/var/lib/opkg/info/libnetsnmphelpers35.postinst /var/lib/opkg/info + + + +