Go to the documentation of this file.
28 #if !defined( INC_INOSDEFINE_H )
29 #define INC_INOSDEFINE_H
38 #define INOS_LITTLE_ENDIAN 1234
43 #define INOS_BIG_ENDIAN 4321
48 #if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
49 #define INOS_BYTE_ORDER INOS_LITTLE_ENDIAN
51 #define INOS_BYTE_ORDER INOS_BIG_ENDIAN
54 #define WORDS_BIGENDIAN 1
60 #define INOS_INLINE inline __attribute__((always_inline))
65 #define INOS_NOEXCEPT noexcept
71 #if !defined(__ASSEMBLER__)
73 #if defined(INOS_WINDOWS)
74 typedef signed long long intptr;
75 typedef unsigned long long uintptr;
77 typedef signed long intptr;
78 typedef unsigned long uintptr;
80 #else // end of 64 bit
81 typedef signed long intptr;
82 typedef unsigned long uintptr;
94 #define DF_INOS_CPU_CACHE_LINE_SIZE 32
100 #define DF_INOS_CPU_CACHE_LINE_MASK 0xffffffe0
105 #define DF_INOS_MEMORY_ALLOC_ALIGNMENT 16
114 #define DF_INOS_TARGET_OFFSET_OPTIONS 0x00000040
119 #define DF_INOS_TARGET_OFFSET_VERSION 0x00000080
128 #define DF_INOS_TARGET_CHAR_FLOATING 0x00000001
133 #define DF_INOS_TARGET_CHAR_LITTLE_ENDIAN 0x00000002
138 #define DF_INOS_TARGET_CHAR_64BIT 0x00000004
143 #define DF_INOS_TARGET_CHAR_RES0 0x00000010
144 #define DF_INOS_TARGET_CHAR_RES1 0x00001000
145 #define DF_INOS_TARGET_CHAR_RES2 0x00100000
146 #define DF_INOS_TARGET_CHAR_RES3 0x10000000
155 #define DF_INOS_SAFETY_INVALID_UID 0xffffffff
164 #define DF_INOS_MAX_CORES 4
165 #define DF_INOS_MAX_CORES_MASK ((1<<DF_INOS_MAX_CORES)-1)
170 #define DF_INOS_MAX_IRQS 1024
175 #define DF_INOS_CORE_DEFAULT 0xFF
180 #define DF_INOS_MAX_WATCHPOINTS 1
187 #define DF_INOS_TASK_PRIO_HIGHEST 0
192 #define DF_INOS_TASK_PRIO_LOWEST 31
197 #define DF_INOS_TASK_PRIO_REALTIME_HIGHEST 0
199 #if defined(INOS_CPU_ARMV8)
203 #define DF_INOS_TASK_PRIO_ICC 0
212 #define DF_INOS_TASK_PRIO_ICC 3
218 #define DF_INOS_TASK_PRIO_REALTIME 8
223 #define DF_INOS_TASK_PRIO_REALTIME_LOWEST 15
228 #define DF_INOS_TASK_PRIO_COMMUNICATION_HIGHEST 16
233 #define DF_INOS_TASK_PRIO_COMMUNICATION 20
238 #define DF_INOS_TASK_PRIO_COMMUNICATION_DISPATCHER 20
243 #define DF_INOS_TASK_PRIO_COMMUNICATION_LOWEST 23
248 #define DF_INOS_TASK_PRIO_USER_HIGHEST 24
253 #define DF_INOS_TASK_PRIO_USER 28
258 #define DF_INOS_TASK_PRIO_USER_LOWEST 30
263 #define DF_INOS_TASK_PRIO_BACKGROUND 31
268 #if defined(INOS_MULTICORE)
269 #define INOS_MULTICORE_KERNEL 1
271 #undef INOS_MULTICORE_KERNEL
283 #define DF_INCO_PROTOCOL_CLASSIC 0
288 #define DF_INCO_PROTOCOL_STRIPPED 1
293 #define DF_INCO_PROTOCOL_SPLITTED 2
298 #define DF_INCO_PROTOCOL_RESERVED 16
305 #define DF_INCO_DEVICE_NUMBER_COM0 0
310 #define DF_INCO_DEVICE_NUMBER_INFOLINK 1
315 #define DF_INCO_DEVICE_NUMBER_COM1 2
320 #define DF_INCO_DEVICE_NUMBER_ETH0 3
325 #define DF_INCO_DEVICE_NUMBER_GINLINK 4
330 #define DF_INCO_DEVICE_NUMBER_PDP 5
335 #define DF_INCO_DEVICE_NUMBER_COP 6
340 #define DF_INCO_DEVICE_NUMBER_ETH1 7
345 #define DF_INCO_DEVICE_NUMBER_GIN_COP 8
350 #define DF_INCO_DEVICE_NUMBER_ETH2 10
355 #define DF_INCO_DEVICE_NUMBER_ETH3 11
360 #define DF_INCO_DEVICE_NUMBER_ETH4 12
365 #define DF_INCO_DEVICE_NUMBER_GINLINK1 13
370 #define DF_INCO_DEVICE_NUMBER_GINLINK2 14
375 #define DF_INCO_DEVICE_NUMBER_GINLINK3 15
380 #define DF_INCO_DEVICE_NUMBER_CORE0X 0x10
385 #define DF_INCO_DEVICE_NUMBER_CORE10 0x11
390 #define DF_INCO_DEVICE_NUMBER_CORE20 0x12
395 #define DF_INCO_DEVICE_NUMBER_CORE30 0x13
400 #define DF_INCO_DEVICE_NUMBER_CORE40 0x14
405 #define DF_INCO_DEVICE_NUMBER_CORE50 0x15
410 #define DF_INCO_DEVICE_NUMBER_CORE60 0x16
415 #define DF_INCO_DEVICE_NUMBER_CORE70 0x17
420 #define DF_INCO_DEVICE_NUMBER_CORE80 0x18
425 #define DF_INCO_DEVICE_NUMBER_CORE90 0x19
430 #define DF_INCO_DEVICE_NUMBER_COREA0 0x1A
435 #define DF_INCO_DEVICE_NUMBER_COREB0 0x1B
440 #define DF_INCO_DEVICE_NUMBER_COREC0 0x1C
445 #define DF_INCO_DEVICE_NUMBER_CORED0 0x1D
450 #define DF_INCO_DEVICE_NUMBER_COREE0 0x1E
455 #define DF_INCO_DEVICE_NUMBER_COREF0 0x1F
460 #define DF_INCO_DEVICE_NUMBER_ETHERCAT 0x20
465 #define DF_INCO_DEVICE_NUMBER_ETHERCAT1 0x21
470 #define DF_INCO_DEVICE_NUMBER_ETHERCAT2 0x22
475 #define DF_INCO_DEVICE_NUMBER_ETHERCAT3 0x23
480 #define DF_INCO_DEVICE_NUMBER_LOOPBACK 0xFF
489 #define DF_INOS_PARAM_EXTENSION_NAME "extension"
493 #define DF_INOS_PARAM_EXTENSION_ID_INPUT_SHAPING 1
497 #define DF_INOS_PARAM_EXTENSION_NAME_INPUT_SHAPING "shaping"
506 #define DF_INOS_ETHERNET_SHUTDOWN (-2)
511 #ifndef MDNS_MAX_SERVICES
512 #define MDNS_MAX_SERVICES 3
522 #define INCO (*pINCOItems)
527 #define DISPATCHER (*CINCODispatcher::m_pInstance[GetCoreId()])
532 #define DISPATCHER_EMG (*CINCODispatcher::m_pInstanceEmg[GetCoreId()])
537 #if defined(INOS_CPU_CORTEXA9)
538 #define ICC (*CINOSHwIcc::m_pInstance[GetCoreId(true)])
540 #define ICC (*CINOSHwIcc::m_pInstance[GetCoreId()])
550 #define ENVIRONMENT CINOSMcTargetEnvironment::Instance()
555 #define SYSTEM CINOSMcTargetSystem::Instance()
560 #define DTB CINOSMcTargetDtb::Instance()
565 #define DT2 CINOSMcTargetDt2::Instance()
570 #define DATA CINOSMcTargetData::Instance()
575 #define NVRAM CINOSMcTargetNvRam::Instance()
580 #define IMAGE CINOSMcTargetImage::Instance()
585 #define IMAGETRANSFER CINOSMcTargetImageTransfer::Instance()
590 #define COMM CINOSMcTargetComm::Instance()
595 #define MCTARGET CINOSMcTarget::Instance()
600 #define SLAVE CINOSMcTargetFieldbusSlave::Instance()
605 #define KRNLOG CINOSMcTargetKernelLogger::Instance()
610 #define MS CINOS1ms::Instance()
615 #define LVDT CINOSLVDT::Instance()
620 #define MOTION CINOSMcTargetMotionController::Instance()
625 #define SAFETY CINOSMcTargetSafety::Instance()
630 #define SYNC CINOSMcTargetTimeSync::Instance()
635 #define ASYNC (*CINCOAsyncResultMgr::Instance())
640 #define MOVEPATH CINOSMcTargetMovePath::Instance()
645 #if defined(INOS_CPU_ARMV8) || defined(INOS_CPU_P50XX) || defined(INOS_CPU_P2020) || defined(INOS_CPU_PPC750) || defined(INOS_DESKTOP)
646 #define DBG CINOSHwDbg::Instance()
647 #define DBG_CLASS CINOSHwDbg
649 #define DBG (*g_pBreakpoints)
650 #define DBG_CLASS CINOSBreakpoints
656 #if defined(FEATURE_INOS_CANBUS)
657 #define CAN CINOSMcTargetCanbus::Instance()
663 #define IRQ CINOSHwIrq::Instance()
668 #if defined(FEATURE_INOS_ONNX)
669 #define ONNX CINOSMcTargetOnnx::Instance()
676 #if defined(INOS_CPU_CORTEXA9)
677 #include <inosdefine_cortexa9.h>
678 #elif defined(INOS_CPU_ARMV8)
679 #include <inosdefine_armv8.h>
680 #if defined(INOS_CPU_AGILEX5)
681 #include <inosdefine_agilex5.h>
683 #elif defined(INOS_CPU_P50XX)
684 #include <inosdefine_p50xx.h>
685 #elif defined(INOS_CPU_P2020)
686 #include <inosdefine_p2020.h>
687 #elif defined(INOS_CPU_PPC750)
688 #include <inosdefine_ppc750.h>
689 #elif defined(INOS_WINDOWS)
690 #include <inosdefine_windows.h>
691 #elif defined(INOS_LINUX)
692 #include <inosdefine_linux.h>
694 #include <inosdefine_deprecated.h>
700 #endif // INC_INOSDEFINE_H