При использовании инструментов NI для создания файла бит FPGA LabView генерирует файл C.h, который содержит информацию для связи с приложением FPGA, таким как подпись (константа) и регистрировать адреса (как перечисления).Как получить доступ к информации о файле .h из C#
Проблема заключается в том, что мое приложение написано на C#, а мне нужен доступ к этим адресам регистра.
Единственные варианты я могу думать о том, являются:
- вырезать и вставить содержимое файла .h в .cs файл ~~~~ ... дает мне дрожь, С # один разработчик и FPGA - другой.
- Разбираем файл .h ~~~~ ... дает мне мурашки тоже - писать свой собственный язык парсер :(
Там получил быть лучше !!!
Sample .h:.
/*
* Generated with the FPGA Interface C API Generator 12.0.0
* for NI-RIO 12.0.0 or later.
*/
#ifndef __NiFpga_M_OTRM_OVDFPGA_h__
#define __NiFpga_M_OTRM_OVDFPGA_h__
#ifndef NiFpga_Version
#define NiFpga_Version 1200
#endif
#include "NiFpga.h"
/**
* The filename of the FPGA bitfile.
*
* This is a #define to allow for string literal concatenation. For example:
*
* static const char* const Bitfile = "C:\\" NiFpga_M_OTRM_OVDFPGA_Bitfile;
*/
#define NiFpga_M_OTRM_OVDFPGA_Bitfile "NiFpga_M_OTRM_OVDFPGA.lvbitx"
/**
* The signature of the FPGA bitfile.
*/
static const char* const NiFpga_M_OTRM_OVDFPGA_Signature = "D0751ADE3A0EC976606D63C425B35E85";
typedef enum
{
NiFpga_M_OTRM_OVDFPGA_IndicatorBool_FallingEdge = 0x8132,
NiFpga_M_OTRM_OVDFPGA_IndicatorBool_StopSignal = 0x813A,
} NiFpga_M_OTRM_OVDFPGA_IndicatorBool;
....
#endif
Можете ли вы опубликовать пример файла .h? –
Если это достаточно просто, регулярное выражение. В противном случае gcc-xml –
Как лучший способ опубликовать пример .h-файла? – markshancock