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

📄 syren_spi.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
字号:
//===============================================================================
//            TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION          
//
//   Property of Texas Instruments 
//   For  Unrestricted  Internal  Use  Only
//   Unauthorized reproduction and/or distribution is strictly prohibited.
//   This product is protected under copyright law and trade secret law 
//   as an unpublished work. 
//   Created 2000, (C) Copyright 2000 Texas Instruments.  All rights reserved.
//
//   Filename             : perseus2_syren_spi.c
//   Date of Module Modification:6/21/02
//   Date of Generation :8/8/02
//
//===============================================================================
#include "global_types.h"
#include "syren_spi.h"
#include "test.h"
#include "testaccess.h"
#include "errorcodes.h"
#include "result.h"


//---------------------------------------------------------------------
// NAME        : SYREN_SPI_TestResetValue
//
// DESCRIPTION : Test the reset values of SYREN_SPI registers
//
// PARAMETERS  : None
//
// RETURN VALUE: None
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void SYREN_SpiTestResetValue(void)
{
  BEGIN_RESET_MODULE();

    BEGIN_RESET_TEST(SYREN_SPI_SPI_SET1,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET1,NOT_DEFINED,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET1,MSK1,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET1,MSK0,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET1,PTV,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET1,EN_CLK,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(SYREN_SPI_SPI_SET2,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET2,NOT_DEFINED,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET2,L,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET2,P,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_SET2,C,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(SYREN_SPI_SPI_CTRL,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_CTRL,NOT_DEFINED,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_CTRL,SPI_EN,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_CTRL,AD,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_CTRL,NB,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_CTRL,WR,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_CTRL,RD,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(SYREN_SPI_SPI_STATUS,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_STATUS,NOT_DEFINED,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_STATUS,SPI_MAS_ERR,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_STATUS,WE,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_STATUS,RD,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(SYREN_SPI_SPI_TX_LSB,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_TX_LSB,DATA_TX,16);
    END_RESET_TEST();

    //BEGIN_RESET_TEST(SYREN_SPI_SPI_TX_MSB,16);
    //TEST_FIELD_RESET(SYREN_SPI_SPI_TX_MSB,DATA_TX,16);
    //END_RESET_TEST();

    BEGIN_RESET_TEST(SYREN_SPI_SPI_RX_LSB,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_RX_LSB,DATA_RX,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(SYREN_SPI_SPI_RX_MSB,16);
    TEST_FIELD_RESET(SYREN_SPI_SPI_RX_MSB,DATA_RX,16);
    END_RESET_TEST();

  END_RESET_MODULE();

}

//---------------------------------------------------------------------
// NAME        : SYREN_SpiTestRegistersAccess
//
// DESCRIPTION : Test the access to SYREN_SPI registers
//
// PARAMETERS  : None
//
// RETURN VALUE: None
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void SYREN_SpiTestRegistersAccess(void)
{
  BEGIN_ACCESS_MODULE();

    BEGIN_RW_TEST(SYREN_SPI_SPI_SET1,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET1,NOT_DEFINED,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET1,MSK1,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET1,MSK0,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET1,PTV,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET1,EN_CLK,16);
    RW_WRITE(SYREN_SPI_SPI_SET1);
    RW_TEST_READ(SYREN_SPI_SPI_SET1,NOT_DEFINED,16);
    RW_TEST_READ(SYREN_SPI_SPI_SET1,MSK1,16);
    RW_TEST_READ(SYREN_SPI_SPI_SET1,MSK0,16);
    RW_TEST_READ(SYREN_SPI_SPI_SET1,PTV,16);
    RW_TEST_READ(SYREN_SPI_SPI_SET1,EN_CLK,16);
    RW_WRITE_PREVIOUS_VALUE(SYREN_SPI_SPI_SET1);
    END_RW_TEST();

    BEGIN_RW_TEST(SYREN_SPI_SPI_SET2,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET2,NOT_DEFINED,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET2,L,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET2,P,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_SET2,C,16);
    RW_WRITE(SYREN_SPI_SPI_SET2);
    RW_TEST_READ(SYREN_SPI_SPI_SET2,NOT_DEFINED,16);
    RW_TEST_READ(SYREN_SPI_SPI_SET2,L,16);
    RW_TEST_READ(SYREN_SPI_SPI_SET2,P,16);
    RW_TEST_READ(SYREN_SPI_SPI_SET2,C,16);
    RW_WRITE_PREVIOUS_VALUE(SYREN_SPI_SPI_SET2);
    END_RW_TEST();

    BEGIN_RW_TEST(SYREN_SPI_SPI_CTRL,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_CTRL,NOT_DEFINED,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_CTRL,SPI_EN,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_CTRL,AD,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_CTRL,NB,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_CTRL,WR,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_CTRL,RD,16);
    RW_WRITE(SYREN_SPI_SPI_CTRL);
    RW_TEST_READ(SYREN_SPI_SPI_CTRL,NOT_DEFINED,16);
    RW_TEST_READ(SYREN_SPI_SPI_CTRL,SPI_EN,16);
    RW_TEST_READ(SYREN_SPI_SPI_CTRL,AD,16);
    RW_TEST_READ(SYREN_SPI_SPI_CTRL,NB,16);
    RW_TEST_READ(SYREN_SPI_SPI_CTRL,WR,16);
    RW_TEST_READ(SYREN_SPI_SPI_CTRL,RD,16);
    RW_WRITE_PREVIOUS_VALUE(SYREN_SPI_SPI_CTRL);
    END_RW_TEST();

    BEGIN_RW_TEST(SYREN_SPI_SPI_STATUS,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_STATUS,NOT_DEFINED,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_STATUS,SPI_MAS_ERR,16);
    //SYREN_SPI_SPI_STATUS,WE is Read Only
    //SYREN_SPI_SPI_STATUS,RD is Read Only
    RW_WRITE(SYREN_SPI_SPI_STATUS);
    RW_TEST_READ(SYREN_SPI_SPI_STATUS,NOT_DEFINED,16);
    RW_TEST_READ(SYREN_SPI_SPI_STATUS,SPI_MAS_ERR,16);
    //SYREN_SPI_SPI_STATUS,WE is Read Only
    //SYREN_SPI_SPI_STATUS,RD is Read Only
    RW_WRITE_PREVIOUS_VALUE(SYREN_SPI_SPI_STATUS);
    END_RW_TEST();

    BEGIN_RW_TEST(SYREN_SPI_SPI_TX_LSB,16);
    RW_PREPARE_WRITE(SYREN_SPI_SPI_TX_LSB,DATA_TX,16);
    RW_WRITE(SYREN_SPI_SPI_TX_LSB);
    RW_TEST_READ(SYREN_SPI_SPI_TX_LSB,DATA_TX,16);
    RW_WRITE_PREVIOUS_VALUE(SYREN_SPI_SPI_TX_LSB);
    END_RW_TEST();

  END_ACCESS_MODULE();

}



⌨️ 快捷键说明

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