OpenCores
URL https://opencores.org/ocsvn/1g_ethernet_dpi/1g_ethernet_dpi/trunk

Subversion Repositories 1g_ethernet_dpi

[/] [1g_ethernet_dpi/] [trunk/] [sw/] [dev/] [test_main/] [src/] [_hdl/] [bsp/] [libsrc/] [standalone_v5_3/] [src/] [xil_assert.c] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 kuzmi4
/******************************************************************************
2
*
3
* Copyright (C) 2009 - 2015 Xilinx, Inc. All rights reserved.
4
*
5
* Permission is hereby granted, free of charge, to any person obtaining a copy
6
* of this software and associated documentation files (the "Software"), to deal
7
* in the Software without restriction, including without limitation the rights
8
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
* copies of the Software, and to permit persons to whom the Software is
10
* furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be included in
13
* all copies or substantial portions of the Software.
14
*
15
* Use of the Software is limited solely to applications:
16
* (a) running on a Xilinx device, or
17
* (b) that interact with a Xilinx device through a bus or interconnect.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22
* XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
24
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
* SOFTWARE.
26
*
27
* Except as contained in this notice, the name of the Xilinx shall not be used
28
* in advertising or otherwise to promote the sale, use or other dealings in
29
* this Software without prior written authorization from Xilinx.
30
*
31
******************************************************************************/
32
/*****************************************************************************/
33
/**
34
*
35
* @file xil_assert.c
36
*
37
* This file contains basic assert related functions for Xilinx software IP.
38
*
39
* <pre>
40
* MODIFICATION HISTORY:
41
*
42
* Ver   Who    Date   Changes
43
* ----- ---- -------- -------------------------------------------------------
44
* 1.00a hbm  07/14/09 Initial release
45
* </pre>
46
*
47
******************************************************************************/
48
 
49
/***************************** Include Files *********************************/
50
 
51
#include "xil_types.h"
52
#include "xil_assert.h"
53
 
54
#include <stdio.h>
55
#include "simple.h" // ublaze_final
56
 
57
/************************** Constant Definitions *****************************/
58
 
59
/**************************** Type Definitions *******************************/
60
 
61
/***************** Macros (Inline Functions) Definitions *********************/
62
 
63
/************************** Variable Definitions *****************************/
64
 
65
/**
66
 * This variable allows testing to be done easier with asserts. An assert
67
 * sets this variable such that a driver can evaluate this variable
68
 * to determine if an assert occurred.
69
 */
70
u32 Xil_AssertStatus;
71
 
72
/**
73
 * This variable allows the assert functionality to be changed for testing
74
 * such that it does not wait infinitely. Use the debugger to disable the
75
 * waiting during testing of asserts.
76
 */
77
/*s32 Xil_AssertWait = 1*/
78
 
79
/* The callback function to be invoked when an assert is taken */
80
static Xil_AssertCallback Xil_AssertCallbackRoutine = NULL;
81
 
82
/************************** Function Prototypes ******************************/
83
 
84
/*****************************************************************************/
85
/**
86
*
87
* Implement assert. Currently, it calls a user-defined callback function
88
* if one has been set.  Then, it potentially enters an infinite loop depending
89
* on the value of the Xil_AssertWait variable.
90
*
91
* @param    file is the name of the filename of the source
92
* @param    line is the linenumber within File
93
*
94
* @return   None.
95
*
96
* @note     None.
97
*
98
******************************************************************************/
99
void Xil_Assert(const char8 *File, s32 Line)
100
{
101
        //s32 Xil_AssertWait = 1;
102
        /* if the callback has been set then invoke it */
103
        /*if (Xil_AssertCallbackRoutine != 0) {
104
                (*Xil_AssertCallbackRoutine)(File, Line);
105
        }*/
106
 
107
        /* if specified, wait indefinitely such that the assert will show up
108
         * in testing
109
         */
110
        /*while (Xil_AssertWait != 0) {
111
        }*/
112
printf("Xil_Assert: %i: ", Line); printf(File);
113
ublaze_final();
114
}
115
 
116
/*****************************************************************************/
117
/**
118
*
119
* Set up a callback function to be invoked when an assert occurs. If there
120
* was already a callback installed, then it is replaced.
121
*
122
* @param    routine is the callback to be invoked when an assert is taken
123
*
124
* @return   None.
125
*
126
* @note     This function has no effect if NDEBUG is set
127
*
128
******************************************************************************/
129
void Xil_AssertSetCallback(Xil_AssertCallback Routine)
130
{
131
        Xil_AssertCallbackRoutine = Routine;
132
}
133
 
134
/*****************************************************************************/
135
/**
136
*
137
* Null handler function. This follows the XInterruptHandler signature for
138
* interrupt handlers. It can be used to assign a null handler (a stub) to an
139
* interrupt controller vector table.
140
*
141
* @param    NullParameter is an arbitrary void pointer and not used.
142
*
143
* @return   None.
144
*
145
* @note     None.
146
*
147
******************************************************************************/
148
void XNullHandler(void *NullParameter)
149
{
150
 (void *) NullParameter;
151
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.