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

📄 cipher_a9.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 2001,(C) Copyright 2001 Texas Instruments.
   All rights reserved.                                                  
        
                                                           
   Filename       	: cipher.c

*******************************************************************************/

#include  "global_types.h"
#include  "cipher.h" 
#include  "testaccess.h"

/******************************************************************************

  CIPH_Cfg : Configure the CIPHER module and enable clock

******************************************************************************/

void CIPH_Cfg(UWORD16 mode, UWORD16 type)
{
  UWORD16 reg;

  /* reset mode, cipher_only and clk_en bit */

  reg  =  CIPHER_A5_CNTL_REG & 0xffc3 ;
  reg |= (CIPHER_A5_CNTL_RESET_SW | CIPHER_A5_CNTL_CLK_EN);
  reg |= (mode << 2 | type << 5);

  CIPHER_A5_CNTL_REG = reg ;
  
}

//---------------------------------------------------------------------
// NAME        : CIPHER_A5_TestResetValue
//
// DESCRIPTION : Test the reset values of CIPHER_A5 registers
//
// PARAMETERS  : None
//
// RETURN VALUE: None
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void CIPH_Test_ResetValue(void)
{
  BEGIN_RESET_MODULE();

    BEGIN_RESET_TEST(CIPHER_A5_CNTL_REG,16);
    TEST_FIELD_RESET(CIPHER_A5_CNTL_REG,TYPE,16);
    TEST_FIELD_RESET(CIPHER_A5_CNTL_REG,CLK_EN,16);
    TEST_FIELD_RESET(CIPHER_A5_CNTL_REG,MODE,16);
    TEST_FIELD_RESET(CIPHER_A5_CNTL_REG,RESET_SW,16);
//    TEST_FIELD_RESET(CIPHER_A5_CNTL_REG,START,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_STATUS_IRQ_REG,16);
    TEST_FIELD_RESET(CIPHER_A5_STATUS_IRQ_REG,IT_FIN,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_STATUS_WORK_REG,16);
    TEST_FIELD_RESET(CIPHER_A5_STATUS_WORK_REG,WORKING,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG1,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG1,KC_REG1_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG2,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG2,KC_REG2_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG3,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG3,KC_REG3_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG4,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG4,KC_REG4_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG5,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG5,KC_REG5_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG6,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG6,KC_REG6_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG7,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG7,KC_REG7_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_KC_REG8,16);
    TEST_FIELD_RESET(CIPHER_A5_KC_REG8,KC_REG8_VAL,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_COUNT_REG1,16);
    TEST_FIELD_RESET(CIPHER_A5_COUNT_REG1,COUNT1,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_COUNT_REG2,16);
    TEST_FIELD_RESET(CIPHER_A5_COUNT_REG2,COUNT2,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG1,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG1,DECIWORD1,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG2,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG2,DECIWORD2,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG3,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG3,DECIWORD3,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG4,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG4,DECIWORD4,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG5,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG5,DECIWORD5,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG6,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG6,DECIWORD6,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG7,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG7,DECIWORD7,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG8,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG8,DECIWORD8,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG9,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG9,DECIWORD9,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG10,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG10,DECIWORD10,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG11,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG11,DECIWORD11,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG12,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG12,DECIWORD12,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG13,16);
    TEST_FIELD_RESET(CIPHER_A5_DECI_REG13,DECIWORD13,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG14,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG15,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG16,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG17,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG18,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG19,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG20,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG21,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_DECI_REG22,32);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG1,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG2,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG3,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG4,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG5,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG6,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG7,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG8,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG9,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG10,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG11,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG12,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG13,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG14,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG15,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG16,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG17,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG18,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG19,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG20,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG21,16);
    END_RESET_TEST();

    BEGIN_RESET_TEST(CIPHER_A5_ENCI_REG22,16);
    END_RESET_TEST();

  END_RESET_MODULE();

}

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

    BEGIN_RW_TEST(CIPHER_A5_CNTL_REG,16);
    RW_PREPARE_WRITE(CIPHER_A5_CNTL_REG,TYPE,16);
    RW_PREPARE_WRITE(CIPHER_A5_CNTL_REG,CLK_EN,16);
    RW_PREPARE_WRITE(CIPHER_A5_CNTL_REG,MODE,16);
    RW_PREPARE_WRITE(CIPHER_A5_CNTL_REG,RESET_SW,16);
//    RW_PREPARE_WRITE(CIPHER_A5_CNTL_REG,START,16);
    RW_WRITE(CIPHER_A5_CNTL_REG);
    RW_TEST_READ(CIPHER_A5_CNTL_REG,TYPE,16);
    RW_TEST_READ(CIPHER_A5_CNTL_REG,CLK_EN,16);
    RW_TEST_READ(CIPHER_A5_CNTL_REG,MODE,16);
    RW_TEST_READ(CIPHER_A5_CNTL_REG,RESET_SW,16);
//    RW_TEST_READ(CIPHER_A5_CNTL_REG,START,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_CNTL_REG);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG1,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG1,KC_REG1_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG1);
    RW_TEST_READ(CIPHER_A5_KC_REG1,KC_REG1_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG1);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG2,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG2,KC_REG2_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG2);
    RW_TEST_READ(CIPHER_A5_KC_REG2,KC_REG2_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG2);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG3,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG3,KC_REG3_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG3);
    RW_TEST_READ(CIPHER_A5_KC_REG3,KC_REG3_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG3);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG4,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG4,KC_REG4_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG4);
    RW_TEST_READ(CIPHER_A5_KC_REG4,KC_REG4_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG4);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG5,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG5,KC_REG5_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG5);
    RW_TEST_READ(CIPHER_A5_KC_REG5,KC_REG5_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG5);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG6,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG6,KC_REG6_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG6);
    RW_TEST_READ(CIPHER_A5_KC_REG6,KC_REG6_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG6);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG7,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG7,KC_REG7_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG7);
    RW_TEST_READ(CIPHER_A5_KC_REG7,KC_REG7_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG7);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_KC_REG8,16);
    RW_PREPARE_WRITE(CIPHER_A5_KC_REG8,KC_REG8_VAL,16);
    RW_WRITE(CIPHER_A5_KC_REG8);
    RW_TEST_READ(CIPHER_A5_KC_REG8,KC_REG8_VAL,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_KC_REG8);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_COUNT_REG1,16);
    RW_PREPARE_WRITE(CIPHER_A5_COUNT_REG1,COUNT1,16);
    RW_WRITE(CIPHER_A5_COUNT_REG1);
    RW_TEST_READ(CIPHER_A5_COUNT_REG1,COUNT1,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_COUNT_REG1);
    END_RW_TEST();

    BEGIN_RW_TEST(CIPHER_A5_COUNT_REG2,16);
    RW_PREPARE_WRITE(CIPHER_A5_COUNT_REG2,COUNT2,16);
    RW_WRITE(CIPHER_A5_COUNT_REG2);
    RW_TEST_READ(CIPHER_A5_COUNT_REG2,COUNT2,16);
    RW_WRITE_PREVIOUS_VALUE(CIPHER_A5_COUNT_REG2);
    END_RW_TEST();

  END_ACCESS_MODULE();

}

⌨️ 快捷键说明

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