QuakeGod
2024-07-27 842bb64195f958b050867c50db66fc0aa413dafb
KMini_CCT6/Src/BoardType.c
@@ -0,0 +1,92 @@
#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;
const stAppInfoBlock AppInfoBlock __attribute__((at(APPINFOBLOCK_ADDR))) =
{
   0xAA55,         // StartSign
   0x0301,         // BlockType
   sizeof(stAppInfoBlock),      //BlockSize
   0,                                       // Pad,
   0x0109,                        //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
   0x0109,         //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;
   0,               //nPorts;
   0,               //nManSize;
   0,               //nAbility;
   6,               //nSwitchBits;
};
const stDeviceInfo MyDeviceInfo={
      (BOARD_TYPE<<8) + BOARD_VER,         //nDeviceTypeVer //   unsigned short ClientType;      // 子机类型
      0x0109,         //ProgVer               //   unsigned short ClientVer;         // 子机版本
      DINPUT,                                    //   unsigned char InBitCount;         // 输入开关量数量
      DOUTPUT,                                 //   unsigned char OutBitCount;      // 输出开关量数量
      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;      // 子机类型
      0x0109,         //ProgVer               //   unsigned short ClientVer;         // 子机版本
      DINPUT,                                    //   unsigned char InBitCount;         // 输入开关量数量
      DOUTPUT,                                 //   unsigned char OutBitCount;      // 输出开关量数量
      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位以下
};