1 2 3 4 5 6 7 8 9 10 11
12
13 14 15 16
17
18 package ti.catalog.msp430.init;
19
20 import xdc.rov.ViewInfo;
21
22 @Template("./Boot.xdt")
23
24 metaonly module Boot
25 {
26 metaonly struct ModuleView {
27 Bool disableWatchdog;
28 UInt watchdogAddress;
29 Bool configureDCO;
30 }
31
32 @Facet
33 metaonly config ViewInfo.Instance rovViewInfo =
34 ViewInfo.create({
35 viewMap: [
36 [
37 'Module',
38 {
39 type: ViewInfo.MODULE,
40 viewInitFxn: 'viewInitModule',
41 structName: 'ModuleView'
42 }
43 ],
44 ]
45 });
46
47 /*!
48 * Watchdog disable flag; default is true.
49 *
50 * Set to false to not automatically disable the watchdog timer.
51 */
52 config Bool disableWatchdog = true;
53
54 /*!
55 * Watchdog control register address; default for MSP430F54xx.
56 *
57 * Change for other (non-F54xx) devices.
58 */
59 config UInt watchdogAddress = 0x15c;
60
61 /*!
62 * Configure DCO flag; default is false.
63 *
64 * Set to true to initialize DCO at boot.
65 */
66 config Bool configureDCO = false;
67
68 /*!
69 * Code section that Boot module code is in.
70 *
71 * To place this section into a memory segment yourself, add the
72 * following to your configuration file:
73 *
74 * @p(code)
75 * Program.sectMap[Boot.bootCodeSection] = new Program.SectionSpec();
76 * Program.sectMap[Boot.bootCodeSection].loadSegment = "yourBootCodeMemorySegment";
77 * @p
78 *
79 * or to place the code at a specific address:
80 *
81 * @p(code)
82 * Program.sectMap[Boot.bootCodeSection] = new Program.SectionSpec();
83 * Program.sectMap[Boot.bootCodeSection].loadAdress = yourBootCodeAddress;
84 * @p
85 *
86 */
87 readonly config String bootCodeSection = ".bootCodeSection";
88
89 };
90 91 92
93