1 /******************************************************************************
2 	TORNADO AMC modules Software Development Kit (SDK). Rev 4A.
3 	Definitions, macros and API functions for DSP Environment.
4 	(C) MicroLAB Systems, 2014-2017
5 
6 
7 	http://www.mlabsys.com
8 	ftp://ftp.mlabsys.com
9 	email: techsupport@mlabsys.com
10 
11 
12 	Description:
13 	------------
14 	This file contains definitions, macros and API functions for TORNADO AMC
15 	modules on-board DSP environment and must be included in the user
16 	C-application for TORNADO AMC modules.
17 
18 
19 	Revision history:
20 	-----------------
21 	rev.1A		- 2014, initial release for TORNADO-A6678 board rev.1A.
22 	rev.1B		- 2015, fixed some bugs.
23 	rev.1C		- 2015, added support for TORNADO-A6678 board rev.1B:
24 							- updated DSP external control registers area;
25 							- updated TA66XX_init_dsp() DSP initialization
26 								function;
27 							- added MMC-to-DSP communication functions in DSP
28 								I2C functions.
29 	rev.2A		- 2015, totally redesigned SDK for TORNADO-A6678 board rev.1B;
30 	rev.3A		- 2016, added support for TORNADO-A6678/FMC board rev.1A;
31 	rev.3B		- 2017:
32 						- added support for TORNADO-A6678/FMC board rev.1B;
33 	rev.4A		- 2017:
34 					- added support for TORNADO-AZ/FMC board rev.1A;
35 
36 
37 	Notes:
38 	------
39 	1.	This C-header file is an include file for TI C6xxx C/C++ Code
40 		Generation Tools, which must be invoked to compile for C66xx DSP
41 		platform.
42 
43 	2.	This file is best viewed with the TAB setting set to '4'.
44 
45 	3.	This library uses dynamic memory allocation in erase FLASH functions,
46 		so user should provide enough memory area for dynamic memory allocation
47 		(-heap parameter) and place the section (.sysmem) in the corresponding
48 		memory area in linker command file.
49 		The max requested memory allocation block length is up to FLASH memory
50 		sector length in bytes (128 KB).
51 
52 	4.	This header file is externally controlled from user C-code by run-time
53 		compiler keys definitions in order to apply board-type specific
54 		definitions to refer to particular definitions included for different
55 		board type:
56 
57 			__TA66XX_BC_USE_BIOS__
58 				- if defined in user code prior inclusion of this header file,
59 				  then TI SYS/BIOS modules(HWI (Hardware Interrupt) and ECM
60 				  (Event Combiner Manager)), will be used to support
61 				  C66xx CorePac interrupt controller (INTC).
62 				  TI INTC Chip Support Library (CSL) should be used in case
63 				  NO embedded operating system is used in user application.
64 					DEFAULT is NOT DEFINED, so CSL INTC library will be used
65 					to support C66xx CorePac interrupt controller.
66 
67 	Copyright:
68 	----------
69 	This utility is supplied free of charge as it is without any obligation
70 	from MicroLAB Systems. No responsibility is assumed for any use or misuse
71 	of these utilities.
72 
73 ******************************************************************************/
74 
75 
76 /**
77  * @file  TA66XX_DSP_BC.h
78  *
79  * @brief  Main include file
80  *
81  * This file contains definitions, macros and API functions for TORNADO
82  * AMC modules on-board DSP environment
83  *
84  */
85 
86 
87 #ifndef __TA66XX_DSP_BC_H__									// check for this file has been already included
88 #define __TA66XX_DSP_BC_H__									1
89 
90 
91 #if defined __TA66XX_BC_USE_BIOS__
92 // Include this file to prevent compiler errors
93 // when using SYS/BIOS
94 #include <xdc/std.h>
95 #endif /* __TA66XX_BC_USE_BIOS__ */
96 
97 
98 // Include general TORNADO AMC SDK defs
99 #include "TA66XX_DSP.h"
100 
101 
102 //=============================================================================
103 //------------ board-type specific run-time compiler keys processing ----------
104 // (this is required in order to exclude key confusions)
105 
106 // Default setting is C6678 DSP definitions
107 #define __C66XX_SELECT_C6678_DSP__							1
108 
109 // Finally we must define C-code data type for accessing I/O areas
110 typedef volatile uint16_t									__TA66XX_BC_DSP_XCR_RG_DATA_TYPE__;
111 typedef volatile uint16_t									__TA66XX_BC_FLASH_DATA_TYPE__;
112 //=============================================================================
113 
114 
115 // Include TORNADO AMC SDK functions
116 #include "TA66XX_DSP_BC_FUNCTIONS.hxx"
117 
118 
119 //=============================================================================
120 #endif /* __TA66XX_DSP_BC_H__ */
121 
122