TI Autonomous Driving Algorithms (TIADALG) Library User Guide
ti_mem_manager.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (c) 2009-2017 Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
62 
63 
76 #ifndef _TI_MEMMANAGER_H_
77 #define _TI_MEMMANAGER_H_
78 
79 /* #define _FILLMEM_ */
80 
81 #ifdef _FILLMEM_
82 #define MEMSET(a,b,c) memset(a,b,c)
83 #else
84 #define MEMSET(a,b,c)
85 #endif /* _FILLMEM_ */
86 
99 typedef struct _memory
100 {
101  unsigned char *ptrBase;
102  unsigned char *ptrCurr;
103  unsigned int u32Totalsize;
104  unsigned int u32AvailableSize;
105 
106 } sMemory_t ;
107 
108 typedef sMemory_t TIMemObject; /* !< Memory object */
109 typedef sMemory_t* TIMemHandle; /* !< Handle of the memory object */
110 
121  TIMemHandle memhandle,
122  unsigned char *baseAddr,
123  unsigned int size) ;
124 
131 void TI_ResetMemoryHandle(TIMemHandle memhandle);
132 
141 unsigned char* TI_GetMemoryChunk(
142  TIMemHandle memhandle,
143  unsigned int size,
144  unsigned int alignment) ;
145 
146 #endif /* _TI_MEMMANAGER_H */
unsigned char * ptrCurr
Definition: ti_mem_manager.h:102
void TI_CreateMemoryHandle(TIMemHandle memhandle, unsigned char *baseAddr, unsigned int size)
This function makes a memory handle live.
void TI_ResetMemoryHandle(TIMemHandle memhandle)
This function makes reset an existing memory object to its initial state, effectively removing all th...
unsigned int u32Totalsize
Definition: ti_mem_manager.h:103
unsigned char * TI_GetMemoryChunk(TIMemHandle memhandle, unsigned int size, unsigned int alignment)
This function provides the requested memory to user.
unsigned int u32AvailableSize
Definition: ti_mem_manager.h:104
sMemory_t * TIMemHandle
Definition: ti_mem_manager.h:109
unsigned char * ptrBase
Definition: ti_mem_manager.h:101
sMemory_t TIMemObject
Definition: ti_mem_manager.h:108
This structure is memory object structure,.
Definition: ti_mem_manager.h:99

© Copyright 2018 Texas Instruments Incorporated. All rights reserved.
Document generated by doxygen 1.8.6