#include "BoardType.h" #include "KMachine.h" #include "KBus.h" #define APP_ADDR 0x08001000 //Ó¦ÓóÌÐòÊ×µØÖ·¶¨Òå #define APPINFOBLOCK_ADDR (APP_ADDR + 0x100) //³ÌÐòÐÅÏ¢¿é µØÖ· #define INFOBLOCK_ADDR (APP_ADDR + 0x1000) //ÐÅÏ¢¿é µØÖ· #define APP_START_ADDR IROM1_START_ADDRESS extern int Region$$Table$$Limit; #define MAKE_VER(x,y) ((x<<8)|y) #define APP_VER MAKE_VER(1,15) const stAppInfoBlock AppInfoBlock __attribute__((at(APPINFOBLOCK_ADDR))) = { 0xAA55, // StartSign 0x0301, // BlockType sizeof(stAppInfoBlock), //BlockSize 0, // Pad, APP_VER, //AppVer (BOARD_TYPE<<8) + BOARD_VER, //AppDevice; 0x1000, //AppSize; 0x0C00, //AppDataSize; APP_ADDR, //nAppStartAddr (int)&Region$$Table$$Limit, //nBtldr_NewAppInfoAddr 0x08009000, //nBtldr_NewAppAddr 0xCCCC, //crc16; 0xAA55 //EndSign; }; const stKMInfoBlock KMInfoBlock __attribute__((at(INFOBLOCK_ADDR))) = { // sizeof(stKMInfoBlock), (BOARD_TYPE<<8) + BOARD_VER, //nDeviceType BOARD_VER, //nDevieVer APP_VER, //ProgVer 0x0102, //KLinkVer KBUS_VER, //KBusVer // 0x0100, //KNetVer // 0x0100, //KWLVer 4, //nCapacity1 ?K 1, //nCapacity2 ?k DINPUT, //nDInput; DOUTPUT, //nDOutput 0, //nAInput 0, //nAOutput 0, //nHInput 0, //nHOutput 0, //nExt1; 0, //nExt2; 0, //nLogSize; 3, //nPorts; 0, //nManSize; 0, //nAbility; 6, //nSwitchBits; }; const stDeviceInfo MyDeviceInfo={ (BOARD_TYPE<<8) + BOARD_VER, //nDeviceTypeVer // unsigned short ClientType; // ×Ó»úÀàÐÍ APP_VER, //ProgVer // unsigned short ClientVer; // ×Ó»ú°æ±¾ DINPUT, // unsigned char InBitCount; // ÊäÈ뿪¹ØÁ¿ÊýÁ¿ DOUTPUT, // unsigned char OutBitCount; // Êä³ö¿ª¹ØÁ¿ÊýÁ¿ EXDOUPUT, // unsigned char ExInBitCount; // À©Õ¹µÄÊäÈ뿪¹ØÁ¿ÊýÁ¿ EXDOUPUT, // unsigned char ExOutBitCount; // À©Õ¹µÄÊä³ö¿ª¹ØÁ¿ÊýÁ¿ 0, // unsigned char InDWCount; // ÊäÈëÊý¾Ý×ÖÊý 0, // unsigned char OutDWCount; // Êä³öÊý¾Ý×ÖÊý 0, // unsigned char AIWCount; // ÊäÈëÄ£ÄâÁ¿Í¨µÀ(×Ö)Êý // 16λΪһ¸ö×Ö(ͨµÀ) 0, // unsigned char AQWCount; // Êä³öÄ£ÄâÁ¿Í¨µÀ(×Ö)Êý // 16λΪһ¸ö×Ö(ͨµÀ) // 0, // unsigned char AIBits; // ÿͨµÀλÊý // 16λÒÔÏ // 0, // unsigned char AQbits; // ÿͨµÀλÊý // 16λÒÔÏ }; const stExDeviceInfo MyExDeviceInfo ={ (BOARD_TYPE<<8) + BOARD_VER, //nDeviceTypeVer // unsigned short ClientType; // ×Ó»úÀàÐÍ APP_VER, //ProgVer // unsigned short ClientVer; // ×Ó»ú°æ±¾ DINPUT, // unsigned char InBitCount; // ÊäÈ뿪¹ØÁ¿ÊýÁ¿ DOUTPUT, // unsigned char OutBitCount; // Êä³ö¿ª¹ØÁ¿ÊýÁ¿ EXDOUPUT, // unsigned char ExInBitCount; // À©Õ¹µÄÊäÈ뿪¹ØÁ¿ÊýÁ¿ EXDOUPUT, // unsigned char ExOutBitCount; // À©Õ¹µÄÊä³ö¿ª¹ØÁ¿ÊýÁ¿ 0, // unsigned char InDWCount; // ÊäÈëÊý¾Ý×ÖÊý 0, // unsigned char OutDWCount; // Êä³öÊý¾Ý×ÖÊý 0, // unsigned char AIWCount; // ÊäÈëÄ£ÄâÁ¿Í¨µÀ(×Ö)Êý // 16λΪһ¸ö×Ö(ͨµÀ) 0, // unsigned char AQWCount; // Êä³öÄ£ÄâÁ¿Í¨µÀ(×Ö)Êý // 16λΪһ¸ö×Ö(ͨµÀ) // 0, // unsigned char AIBits; // ÿͨµÀλÊý // 16λÒÔÏ // 0, // unsigned char AQbits; // ÿͨµÀλÊý // 16λÒÔÏ };