ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
730731 Топик полностью
бомж (24.01.2017 23:17, просмотров: 307) ответил 0men на это точно, и вообще непонятно другое.. как выглядит тип (структура) PDEVICEINSTANCE..
PDEVICEINSTANCE выглядит так:  /*****************************************************************************/ /*! Structure defining a physical device passed to the toolkit. Passing it, * will create all logical device associated with this instance */ /*****************************************************************************/ typedef struct DEVICEINSTANCEtag { uint32_t ulPhysicalAddress; /*!< Physical address of the cifX card */ uint8_t bIrqNumber; /*!< IRQ number assigned to card */ int fIrqEnabled; /*!< !=0 if the IRQ is used on this device */ int fPCICard; /*!< !=0 if the card is a PCI card (netX directly connected to PCI) ,this will reset the netX if eDeviceType is AUTODETECT or RAMBASE */ int fModuleLoad; /*!< This devices works with modules */ CIFX_TOOLKIT_DEVICETYPE_E eDeviceType; /*!< Type of the device. If set to AUTODETECT it will be updated during cifXAddDevice */ PFN_CIFXTK_NOTIFY pfnNotify; /*!< Function to notify user of different states in the toolkit, to allow memory controller reconfiguration, etc. */ void* pvOSDependent; /*!< OS dependent pointer to device identification (used for PCI read/write request). This parameter must allow the OS/User to identify the card and access it's PCI registers */ uint8_t* pbDPM; /*!< Virtual/usable pointer to the cards DPM */ uint32_t ulDPMSize; /*!< Size of the cards DPM */ CIFX_TOOLKIT_CHIPTYPE_E eChipType; /*!< Type of chip */ char szName[CIFx_MAX_INFO_NAME_LENTH]; /*!< Default name of the card, must be inserted by user */ char szAlias[CIFx_MAX_INFO_NAME_LENTH];/*!< Alias name of the card (must be inserted by user */ int32_t lInitError; /*!< Initialization error of the card */ PNETX_GLOBAL_REG_BLOCK ptGlobalRegisters; /*!< Pointer to the global host registers (only available on PCI) */ uint32_t ulSerialNumber; /*!< Serial number of the card (read on startup) */ uint32_t ulDeviceNumber; /*!< Device number of the card (read on startup) */ uint32_t ulSlotNumber; /*!< Slot number on card (read on startup) */ uint8_t* pbHandshakeBlock; /*!< Pointer to start of Handshake block (NULL if no handshake block was found */ int iIrqToDsrBuffer; /*!< IRQ to DSR Buffer number to use */ IRQ_TO_DSR_BUFFER_T atIrqToDsrBuffer[2]; /*!< IRQ to DSR Buffers */ uint32_t ulIrqCounter; /*!< Number of interrupts processed on this device */ CHANNELINSTANCE tSystemDevice; /*!< Every card has at least one SystemDevice */ uint32_t ulCommChannelCount; /*!< Number of fount communication channels on the card */ CHANNELINSTANCE** pptCommChannels; /*!< Array of all found channels */ #ifdef CIFX_TOOLKIT_DMA /* DMA Buffer Structure */ uint32_t ulDMABufferCount; /*!< Number of available DMA buffers */ CIFX_DMABUFFER_T atDmaBuffers[CIFX_DMA_BUFFER_COUNT]; /*!< DMA buffer definition for the device */ #endif /* CIFX_TOOLKIT_DMA */ /* Synch handling */ CIFX_SYNCH_DATA_T tSyncData; /*!< Synchronisation structure */ int fResetActive; /*!< !=0 if a reset is pending on device (DEV_DoSystemStart) */ /* Extended memory (additional target memory) */ uint8_t* pbExtendedMemory; /*!< Virtual/usable pointer to an extended memory area */ uint32_t ulExtendedMemorySize; /*!< Size of the extended memory area */ #ifdef CIFX_TOOLKIT_HWIF PFN_HWIF_MEMCPY pfnHwIfRead; PFN_HWIF_MEMCPY pfnHwIfWrite; #endif /* CIFX_TOOLKIT_HWIF */ } DEVICEINSTANCE, *PDEVICEINSTANCE;
memento mori