1 2 3 4 5 6 7 8 9 10 11
12
13 14 15 16
17
18 package ti.catalog.c2800.concertoInit;
19
20 /*!
21 * ======== Boot ========
22 * Concerto C28 Boot Support.
23 *
24 * This Boot module can be used to generate a small section that supports
25 * booting the C28 processor from Flash. It consists of a single
26 * "LB _c_int00" instruction.
27 *
28 * When `{@link #bootFromFlash}` is true, the instruction will be placed
29 * at "BEGIN", as defined in the linker command file.
30 *
31 * Boot also supports initializing Flash controller wait states, enabling
32 * program prefetches, and data caching within the Flash controller.
33 */
34 @Template("./Boot.xdt")
35 @NoRuntime
36 module Boot
37 {
38 /*!
39 * Boot from Flash flag. Default is true.
40 *
41 * Set to true to enable booting the C28 from Flash.
42 */
43 metaonly config Bool bootFromFlash = true;
44
45 /*!
46 * Flash controller configuration flag, default is true.
47 *
48 * Set to true to enable the configuration of the Flash controller
49 * wait states, program and data cache.
50 */
51 metaonly config Bool configureFlashController = true;
52
53 /*!
54 * Flash controller wait states configuration flag, default is true.
55 *
56 * Set to true to configure the Flash controller wait states. The number
57 * of wait states is computed based upon the CPU frequency.
58 */
59 metaonly config Bool configureFlashWaitStates = true;
60
61 /*!
62 * Flash controller program prefetch enable flag, default is false.
63 *
64 * Set to true to enable the Flash controller's program prefetch.
65 *
66 * WARNING: Program prefetch must not be enabled on pre Revision A devices
67 * if there are any fast branch instructions in the program image. See
68 * the device errata for more information.
69 */
70 metaonly config Bool enableFlashProgramPrefetch = false;
71
72 /*!
73 * Flash controller data cache enable flag, default is true.
74 *
75 * Set to true to enable the Flash controller's data cache.
76 */
77 metaonly config Bool enableFlashDataCache = true;
78
79 /*!
80 * ======== loadSegment ========
81 * Specifies where to load the flash function (include the 'PAGE' number)
82 *
83 * If 'configureFlashWaitStates' is true, then this parameter
84 * determines where the ".ti_catalog_c2800_initF2837x_flashfuncs"
85 * section gets loaded.
86 */
87 metaonly config String loadSegment;
88
89 /*!
90 * ======== runSegment ========
91 * Specifies where to run the flash function (include the 'PAGE' number)
92 *
93 * If 'configureFlashWaitStates' is true then this parameter
94 * determines where the ".ti_catalog_c2800_initF2837x_flashfuncs"
95 * section gets executed at runtime.
96 */
97 metaonly config String runSegment;
98
99 internal:
100
101
102 metaonly config UInt flashWaitStates = 3;
103 };
104 105 106
107