1 2 3 4
5
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
38
39 /*!
40 * ======== Settings ========
41 * Global configuration settings for all Framework Components packages
42 *
43 * This module provides high-level configuration settings for all
44 * Framework Components packages.
45 *
46 * @a(Linking with Framework Components Libraries)
47 *
48 * When linking an executable, this module's profile config param is
49 * used to select which libraries are used. See the {@link #profile}
50 * config param below. There are three typical use-cases.
51 *
52 * 1. Link with Framework Components libraries of a specific profile. Add the
53 * following to your application cfg script.
54 *
55 * @p(code)
56 * // set all framework component libraries to the given profile
57 * xdc.useModule('ti.sdo.fc.global.Settings').profile = "debug";
58 * @p
59 *
60 * 2. Link with Framework Component libraries using the program's profile. Add
61 * the following to your application cfg script.
62 *
63 * @p(code)
64 * // use the program's profile
65 * var Program = xdc.useModule('xdc.cfg.Program');
66 * xdc.useModule('ti.sdo.fc.global.Settings').profile = Program.build.profile;
67 * @p
68 *
69 * 3. Specify a profile on a per-package basis.
70 *
71 * @p(code)
72 * // specify the profile for some select packages
73 * xdc.loadPackage('ti.sdo.fc').profile = "debug";
74 * xdc.loadPackage('ti.sdo.fc.rman').profile = "debug";
75 * xdc.loadPackage('ti.sdo.fc.dman3').profile = "debug";
76 * xdc.loadPackage('ti.sdo.fc.edma3').profile = "debug";
77 * @p
78 *
79 * Note that the third method above does not actually use the `profile`
80 * config param. It sets the package's profile config param directly.
81 *
82 * The default value for the `profile` config param is `release`.
83 * Thus, even when building your executable using a debug profile, the
84 * Framework Component release libraries will be used. This helps to keep the
85 * executable size smaller when you want to debug the application code.
86 */
87
88 @Template("./Settings.xdt")
89
90 metaonly module Settings
91 {
92 /*!
93 * ======== multiProcess ========
94 * Add multi-process support for Framework Components libraries.
95 *
96 * This flag indicates whether an OSAL's multi-process support should
97 * be linked in.
98 */
99 config Bool multiProcess = true;
100
101 /*!
102 * ======== osalPackage ========
103 * Name of the package supplying osal libraries.
104 *
105 * Some FC packages (such as ti.sdo.fc.rman and
106 * ti.sdo.fc.ires.* on Linux) need implementation
107 * of some OSAL APIs (LockMP_acquire/release/create/delete
108 * and Sem_create/delete/pend/post).
109 *
110 * Assign this to a package name that implements these
111 * signatures of the Lock functions are available at
112 * ti/sdo/fc/utils/lock.h
113 */
114 config String osalPackage;
115
116 /*!
117 * ======== profile ========
118 * Name the library profile to use at link time
119 *
120 * If the Framework Component libraries have been built using the profile
121 * named by this config param, then these libraries will be used
122 * when linking the final executable. Otherwise, a substitute
123 * library will be used. For example, if this config param is set to
124 * debug but there are only release libraries available, then the
125 * release library is used.
126 */
127 config String profile = "release";
128
129 /*!
130 * ======== enableLogFC ========
131 * Globally enable or disable logging in Framework components.
132 *
133 * If enableLogFC is set to false, any Diags masks of a Framework
134 * Components module that have not been set in the application's
135 * configuration file, will be set to Diags.ALWAYS_OFF. However,
136 * the if the module's 'enableLog' configuration parameter has been
137 * set, it will override this.
138 *
139 * If enableLogFC has been set to true, or has not been set at all,
140 * the default value for unset FC Diags masks will be RUNTIME_OFF.
141 *
142 * @sa xdc.runtime.Diags
143 * @sa xdc.runtime.Log
144 */
145 config Bool enableLogFC;
146
147 /*!
148 * ======== useDNUM ========
149 * Use DNUM to convert internal memory addresses to core-specific
150 * addresses, that peripherals such as the EDMA3 can understand.
151 * This is automatically done for devices such as 6472, 6474, 6486, 6488
152 * Should be explicitly set for others, others FC will return un-modified
153 * internal memory addresses.
154 */
155 config Bool useDNUM;
156
157 config Bool useL3MemoryMap;
158 }
159 160 161 162
163