⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scutest.h

📁 这是单板上DPRAM的驱动程序
💻 H
字号:
#ifndef _SCU_TEST_H
#define _SCU_TEST_H

#include <types.h>

#define SDB_SCUTEST                   800000

#define SCUTEST_TASK_SSTACK_SIZE      4096
#define SCUTEST_TASK_USTACK_SIZE      4096

#define MAX_TEST_BUF_LEN              256
#define MAX_SEND_TIMES                3
#define MAX_ERRINFO_LEN               8

#define MT8980_BASE                   CS5_BASE
#define BT8370_BASE                   CS6_BASE
#define FLASH0_SIZE                   0x400000
#define INLOOP                        0
#define EXLOOP                        1

/*  cmd  */
#define SDC_MT8980_TEST                 SDB_SCUTEST + 1
#define SDC_NIU_TEST                    SDB_SCUTEST + 2
#define SDC_SPI_TEST                    SDB_SCUTEST + 3
#define SDC_HPI_TEST                    SDB_SCUTEST + 4
#define SDC_FLASH_TEST                  SDB_SCUTEST + 5
#define SDC_DS1620_TEST                 SDB_SCUTEST + 6
#define SDC_POWER_TEST                  SDB_SCUTEST + 7
#define SDC_ALARMS_TEST                 SDB_SCUTEST + 8
#define SDC_FN_TEST                     SDB_SCUTEST + 9

/*  ErrInfo  */
#define SDE_FAIL                       -SDB_SCUTEST - 1
#define SDE_CREATE_TASK_FAIL           -SDB_SCUTEST - 2
#define SDE_CREATE_QUEUE_FAIL          -SDB_SCUTEST - 3
#define SDE_BPU2_UNINSTALLED           -SDB_SCUTEST - 4

#define SDE_FLASH0_ERASE_SECTOR_FAIL   -SDB_SCUTEST - 5     /* Flash */
#define SDE_FLASH1_ERASE_SECTOR_FAIL   -SDB_SCUTEST - 6
#define SDE_FLASH0_WRITE_FAIL          -SDB_SCUTEST - 7
#define SDE_FLASH1_WRITE_FAIL          -SDB_SCUTEST - 8
#define SDE_FLASH0_READ_FAIL           -SDB_SCUTEST - 9
#define SDE_FLASH1_READ_FAIL           -SDB_SCUTEST - 10

#define SDE_RFIU0_FAIL                 -SDB_SCUTEST - 11    /* SPI    */
#define SDE_RFIU1_FAIL                 -SDB_SCUTEST - 12

#define SDE_FCLK_FAIL                  -SDB_SCUTEST - 13    /* Alarms */
#define SDE_OBCLK_FAIL                 -SDB_SCUTEST - 14

#define SDE_DSP0_FAIL                  -SDB_SCUTEST - 15    /* HPI    */
#define SDE_DSP1_FAIL                  -SDB_SCUTEST - 16
#define SDE_DSP2_FAIL                  -SDB_SCUTEST - 17
#define SDE_DSP3_FAIL                  -SDB_SCUTEST - 18

#define SDE_DS1620A_FAIL               -SDB_SCUTEST - 19    /* DS1620 */
#define SDE_DS1620B_FAIL               -SDB_SCUTEST - 20
#define SDE_DS1620C_FAIL               -SDB_SCUTEST - 21
#define SDE_DS1620D_FAIL               -SDB_SCUTEST - 22

#define SDE_NIU0_WR_FAIL               -SDB_SCUTEST - 24    /* NIU    */
#define SDE_NIU1_WR_FAIL               -SDB_SCUTEST - 25
#define SDE_NIU0_ONLINE_TEST_FAIL      -SDB_SCUTEST - 26
#define SDE_NIU1_ONLINE_TEST_FAIL      -SDB_SCUTEST - 27
#define SDE_NIU0_FAC_TEST_FAIL         -SDB_SCUTEST - 28
#define SDE_NIU1_FAC_TEST_FAIL         -SDB_SCUTEST - 29
#define SDE_NIU_MODE_ERROR             -SDB_SCUTEST - 35    /* 当前传输模式错误:ABIS和NEXT
                                                               并非同时处于E1或HDSL模式 */

typedef struct{
    int  cmd;
    void *param;
    int  len;
    }TestStruct;

typedef struct{
    int TestRslt;
    int ErrInfo[MAX_ERRINFO_LEN];
    }TestRsltStruct;

typedef struct{
    int WrTest;                /* 芯片读写测试:                   0(不测试) / 1(测试)*/
    int OnLineTest;            /* 系统运行时测试,不影响ABIS通道 , 0(不测试) / 1(测试)*/
    int FacTest;               /* 生产线测试,                     0(不测试) / 1(测试)*/
    }CommTestStruct;           /* 通信模块测试结构*/

typedef struct{
    int WrTest;                /* 芯片读写测试结果:  SDE_OK / SDE_FAIL */
    int OnLineTest;            /* 系统运行时测试结果, SDE_OK / SDE_FAIL */
    int FacTest;               /* 生产线测试结果,    SDE_OK / SDE_FAIL */
    int ErrInfo[MAX_ERRINFO_LEN]; /* 错误信息 */
    }CommTestRsltStruct;

typedef struct{
    int ts0;                        /*  输入:0/1    输出:SDE_OK / SDE_FAIL  */
    int ts1;
    int ts2;
    int ParamLen;
    }TSTestStruct;

typedef struct{
    int Niu0;                       /*  输入:0/1    输出:SDE_OK / SDE_FAIL  */
    int Niu1;
    int ParamLen;
    }NiuTestStruct;

int  TestTaskInit(int priority, void (*callback)(int cmd, void *param, int len));
void TestTaskCmd(int cmd, void *param, int len);

static void TestTask(void);
static int  CreateTask(char *name,void (*task)(void), ULONG *tid, int priority, ULONG *p);

static void FNTest(TestRsltStruct *ptr);
static void AlarmsTest(TestRsltStruct *ptr);
static void SpiTest(TestRsltStruct *ptr);
static void FlashTest(TestRsltStruct *ptr);
static void HpiTest(TestRsltStruct *ptr);
static void DS1620Test(TestRsltStruct *ptr);
static void MT8980Test(CommTestStruct *pct, CommTestRsltStruct *pctr);
static void NiuTest(CommTestStruct *pct, CommTestRsltStruct *pctr);

static int  MT8980ChipWRTest(void);
static int  MT8980LoopTest(TSTestStruct *ptt, TSTestStruct *pttr);
static int  NiuChipWRTest(NiuTestStruct *pnt, NiuTestStruct *pntr);
static int  NiuLoopTest(NiuTestStruct *pnt, NiuTestStruct *pntr, int LoopMode);
static void QMCTest(TSTestStruct *ptt, TSTestStruct *pttr);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -