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

📄 timebase.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.   
//
// This program is the Body of Time base block Library in GSM 
//
// Author : Pingyuan ( Jeff) Lei            plei@ti.com      (858)4046420
//
// =====================================================================  

#include "timebase.h"
#include "global_types.h"
#include "mapping.h"
#include "result.h"

/*INC_FRAC_REG*/

// Function : TIMB_SetIncFracReg
// Write in a value to INC_FRAC_REG
         
void TIMB_SetIncFracReg( UWORD16 value)
{
INC_FRAC_REG = value;
}

// Function : TIMB_ReadIncFracReg
// Read a value from INC_FRAC_REG

UWORD16 TIMB_ReadIncFracReg(void)
{
return (INC_FRAC_REG);
}

/*INC_SIXTEENTH_REG*/

// Function :          TIMB_SetIncSixteenthReg
// Write in a value to INC_SIXTEENTH_REG
void TIMB_SetIncSixteenthReg( UWORD16 value)
{
INC_SIXTEENTH_REG=(value & INC_SIXTEENTH_MASK);
}

// Function :         TIMB_ReadIncSixteenthReg
// READ  a value from INC_SIXTEENTH_REG

UWORD16 TIMB_ReadIncSixteenthReg(void)
{
return (INC_SIXTEENTH_REG & INC_SIXTEENTH_MASK );
}

/*GSM_TIMER_CTRL_REG*/
// Function :          TIMB_ReadGsmTimerCtr
// READ  a value from  GSM_TIMER_CTR for bit 2 and 1 ( Freeze bit and load bit)
UWORD16 TIMB_ReadGsmTimerCtr(void)
{
return( GSM_TIMER_CTRL_REG & GSM_TIMER_CTRL_MASK  );
}

/*GSM_TIMER_INIT_REG*/
// Function :          TIMB_SetGsmTimerInitReg
// Write in a value to GSM_TIMER_INIT_REG

void TIMB_SetGsmTimerInitReg( UWORD16 value)
{
GSM_TIMER_INIT_REG = value;
}

// Function :          TIMB_ReadGsmTimerInitReg
// READ  a value from  GSM_TIMER_INIT_REG 
UWORD16 TIMB_ReadGsmTimerInitReg ( void)
{
return(GSM_TIMER_INIT_REG);
}

/*GSM_TIMER_VALUE_REG*/
// Function :          READ_TIMER_VALUE_REG
// READ  a value from  GSM_TIMER_VALUE_REG 
UWORD16 TIMB_ReadGsmTimerValueReg ( void)
{
return(GSM_TIMER_VALUE_REG);
}

/*GSM_TIMER_IT_REG*/
// Function :           TIMB_ReadGsmTimerItReg
// READ  a value  from  GSM_TIMER_IT_REG 
UWORD16 TIMB_ReadGsmTimerItReg ( void)
{
return (GSM_TIMER_IT_REG & GSM_TIMER_IT_MASK);
}

/*SETUP_FRAME_REG*/
// Function :           TIMB_SetSetupFrameReg
// SET  a value  to     SETUP_FRAME_REG
void TIMB_SetSetupFrameReg( UWORD16 value)
{
SETUP_FRAME_REG = ( value & SETUP_FRAME_MASK );
}
// Function :         TIMB_ReadSetupFrameReg
// READ  a value  to  SETUP_FRAME_REG
UWORD16 TIMB_ReadSetupFrameReg( void )
{
return ( SETUP_FRAME_REG & SETUP_FRAME_MASK);
}

/*LTCHD_TIME_CTRL_REG*/

// Function :        TIMB_ReadLtchdTimeCtrlReg
// SET  a value  to  LTCHD_TIME_CTRL_REG
UWORD16 TIMB_ReadLtchdTimeCtrlReg(void)
{
return ( LTCHD_TIME_CTRL_REG & LTCHD_TIME_CTRL_MASK);
}

/*LTCHD_TIME_VALUE_REG*/

// Function :         SET_LTCHD_TIME_VAL_REG
// SET  a value  to   LTCHD_TIME_VAL_REG
void  TIMB_SetLtchdTimeValueReg(UWORD16 value)
{
LTCHD_TIME_VALUE_REG = ( value & LTCHD_TIME_VALUE_MASK);
}

// Function :         READ_LTCHD_TIME_VAL_REG
// SET  a value  to   LTCHD_TIME_VAL_REG
UWORD16 TIMB_ReadLtchdTimeValueReg(void)
{
return (LTCHD_TIME_VALUE_REG &  LTCHD_TIME_VALUE_MASK);
}



//*********Function to test reset value in this GHSM block


UWORD16 TIMB_GsmTimebaseTestReset(void)
{
UWORD16 val;
UWORD16 err=RES_OK;

//INC_FRAC_RESET
val = INC_FRAC_REG;
if ( val != INC_FRAC_RESET ) 
{
RES_Set(0xAA0);    // Index :AA0
RES_Set(val);
err=RES_BAD;
}
//INC_SIXTEENTH_RESET
val = INC_SIXTEENTH_REG & INC_SIXTEENTH_MASK  ;
if (  val != INC_SIXTEENTH_RESET ) 
{
RES_Set(0xAA1);    // Index :AA1
RES_Set(val);
err=RES_BAD;
}

//GSM_TIMER_CTRL_RESET
val = GSM_TIMER_CTRL_REG & GSM_TIMER_CTRL_MASK;
if (  val  != GSM_TIMER_CTRL_RESET  )
{
RES_Set(0xAA2);    // Index :AA2
RES_Set(val);
err=RES_BAD;
}

//GSM_TIMER_INIT_RESET
val = GSM_TIMER_INIT_REG;
if (  val  != GSM_TIMER_INIT_RESET  )
{
RES_Set(0xAA3);    // Index :AA3
RES_Set(val);
err=RES_BAD;
}


//GSM_TIMER_VALUE_RESET
val = GSM_TIMER_VALUE_REG;
if (  val  != GSM_TIMER_VALUE_RESET  )
{
RES_Set(0xAA4);    // Index :AA4
RES_Set(val);
err=RES_BAD;
}


//GSM_TIMER_IT_RESET
val = GSM_TIMER_IT_REG & GSM_TIMER_IT_MASK;
if (   val  != GSM_TIMER_IT_RESET  )
{
RES_Set(0xAA5);    // Index :AA5
RES_Set(val);
err=RES_BAD;
}

//SETUP_FRAME_RESET
val = SETUP_FRAME_REG & SETUP_FRAME_MASK;
if (   val != SETUP_FRAME_RESET ) 
{
RES_Set(0xAA6);    // Index :AA6
RES_Set(val);
err=RES_BAD;
}

//LTCHD_TIME_CTRL_RESET 
val = LTCHD_TIME_CTRL_REG & LTCHD_TIME_CTRL_MASK;
if (   val != LTCHD_TIME_CTRL_RESET ) 
{
RES_Set(0xAA7);    // Index :AA7
RES_Set(val);
err=RES_BAD;
}

//LTCHD_TIME_VALUE_RESET 
val = LTCHD_TIME_VALUE_REG & LTCHD_TIME_VALUE_MASK;
if (   val !=LTCHD_TIME_VALUE_RESET ) 
{
RES_Set(0xA8);    // Index :A8
RES_Set(val);
err=RES_BAD;
}

return (err);

}































 


 











⌨️ 快捷键说明

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