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 package ti.platforms.simCM3;
38
39 /*!
40 * ======== Platform ========
41 * Simulation-based Platform support for TI Cortex M3 platforms
42 *
43 * This module implements xdc.platform.IPlatform and defines configuration
44 * parameters that correspond to this platform's Cpu's, Board's, etc.
45 *
46 * The configuration parameters are initialized in this package's
47 * configuration script (package.cfg) and "bound" to the TCOM object
48 * model. Once they are part of the model, these parameters are
49 * queried by a program's configuration script.
50 *
51 * This particular platform has a single Cpu, and therefore, only
52 * declares a single CPU configuration object. Multi-CPU platforms
53 * would declare multiple Cpu configuration parameters (one per
54 * platform CPU).
55 */
56 metaonly module Platform inherits xdc.platform.IPlatform
57 {
58 /*!
59 * ======== BOARD ========
60 * This platform's board attributes
61 */
62 readonly config xdc.platform.IPlatform.Board BOARD = {
63 id: "0",
64 boardName: "simCM3",
65 boardFamily: "simCM3",
66 boardRevision: null
67 };
68
69 /*!
70 * ======== CPU ========
71 * The CPU simulated by this platform.
72 *
73 * The device simulated is determined by the platform instance name
74 * or if this does not name a ti.catalog.arm module, then we
75 * we simulate a TMS470.
76 */
77 readonly config xdc.platform.IExeContext.Cpu CPU = {
78 id: "0",
79 clockRate: 200.0,
80 catalogName: "ti.catalog.arm.cortexm3",
81 deviceName: "CortexM3",
82 revision: "1.0",
83 };
84
85 instance:
86
87 override readonly config xdc.platform.IPlatform.Memory
88 externalMemoryMap[string] = [
89
90 ["Code", {
91 comment: "Code Memory",
92 name: "Code",
93 base: 0x00000000,
94 len: 0x20000000,
95 space: "code",
96 access: "RWX"
97 }],
98
99 ["SRAM", {
100 comment: "Shared RAM",
101 name: "SRAM",
102 base: 0x20000000,
103 len: 0x20000000,
104 space: "data",
105 access: "RW"
106 }],
107 ];
108
109 override config string codeMemory = "Code";
110 override config string dataMemory = "SRAM";
111 override config string stackMemory = "SRAM";
112 };