📄 utopia_util.c
字号:
/* ============================================================================
* Copyright (c) Texas Instruments Inc 2002, 2003, 2004, 2005, 2006
*
* Use of this software is controlled by the terms and conditions found in the
* license agreement under which this software has been supplied.
* ===========================================================================
*/
/** ============================================================================
* @file utopia_util.c
*
* @path $(CSLPATH)\example\c6486\utopia2\src
*
* @desc This file contains the utility function for utopia2 example
*
* =============================================================================
*/
#include <utopia_util.h>
#include <csl_psc.h>
#include <cslr_psc.h>
#include <csl_gpio.h>
#include <stdio.h>
#include <string.h>
#define PASS 1
#define FAIL 0
CSL_GpioHandle hGpio;
CSL_PscHandle hPsc;
CSL_PscObj pscObj;
CSL_Status psc_status;
/*
* =============================================================================
* @func Init_Mem
*
* @arg Uint32
Addr - Address
NoofArrays - Number of array
Count - count
IncrData - data value to increment
*
* @desc
* This function initialize the buffer
*
* @return
* NONE
*
* =============================================================================
*/
void Init_Mem (
Uint8 *Addr,
Uint32 NoofArrays,
Uint32 Count,
Uint8 IncrData
)
{
Uint32 i;
Uint32 Data = 0x1;
for (i=0; i < Count * NoofArrays; i++) {
*(Uint8*)(Addr + i) = Data;
Data += IncrData;
}
}
/*
* =============================================================================
* @func Verify_Result
*
* @arg Uint32
src_addr - Source buffer
dst_addr - Destination buffer
Cell_Num - cell number
Pad_Cell_Size - pad cell size
ATM_Cell_Size - atm cell size
Udc - user defined cell
UtopiaBitMode - utopia2 bit mode ie., 8 bit/16 bit
*
* @desc
* This function is to verify the data transfer from UTOPIA and received
* data from the UTOPIA master (test bench acts as master.) by comparing
* source buffer and destination buffer i.e., src_addr, dst_addr.
*
* @return
* NONE
*
* =============================================================================
*/
Uint32 Verify_Result (
Uint32 src_addr,
Uint32 dst_addr,
Uint32 Cell_Num,
Uint32 Pad_Cell_Size,
Uint32 ATM_Cell_Size,
Uint32 Udc,
Uint32 UtopiaBitMode
)
{
Uint8* srcArrayPtr = (Uint8*)src_addr;
Uint8* dstArrayPtr = (Uint8*)dst_addr;
Uint32 i, j;
Uint32 dummy_bytes;
dummy_bytes = (Pad_Cell_Size -(Udc +(UtopiaBitMode?54:53)));
for (i = 0; i < Cell_Num; i++)
{
for (j= dummy_bytes ; j < Pad_Cell_Size; j++)
{
if (srcArrayPtr[(i*Pad_Cell_Size) + j] !=
dstArrayPtr[(i*Pad_Cell_Size) + j])
{
return (1);
}
}
}
return(0);
}
/*
* =============================================================================
* @func setup_PSC
*
* @arg
* NONE
*
* @desc
* This function opens the PSC handle.
*
* @return
* NONE
*
* =============================================================================
*/
void setup_PSC (
void
)
{
hPsc = CSL_pscOpen(&pscObj, CSL_PSC, NULL, &psc_status);
}
/*
* =============================================================================
* @func Close_PSC_handle
*
* @arg
* NONE
*
* @desc
* This function closes the PSC handle.
*
* @return
* NONE
*
* =============================================================================
*/
void Close_PSC_handle (
void
)
{
CSL_pscClose(hPsc);
}
/*
* =============================================================================
* @func UTOPIA_Domain_Enable
*
* @arg
* NONE
*
* @desc
* This function enables the utopia2 domain.
*
* @return
* NONE
*
* =============================================================================
*/
void UTOPIA_Domain_Enable (
)
{
CSL_PscPeripherals module;
CSL_PscPowerDomain pwrDmn;
setup_PSC();
/* Enabling UTOPIA Clock */
module = CSL_PSC_MODULE_UTOPIA;
CSL_pscHwControl (hPsc, CSL_PSC_CMD_ENABLE_MODULE, &module);
/* set Go for Power domain transition*/
pwrDmn = CSL_PSC_PWRDMN_ALWAYSON;
CSL_pscHwControl (hPsc, CSL_PSC_CMD_PWRDMN_TRNS, &pwrDmn);
Close_PSC_handle();
}
/* End of utopia_util.c */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -