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