Mcucpp

Форк
0
/
devices.py 
273 строки · 9.8 Кб
1

2
commInc = ['%(MCUCPP_HOME)s/mcucpp']
3
avrInc = commInc + ['%(MCUCPP_HOME)s/mcucpp/AVR', '%(MCUCPP_HOME)s/3rdparty/avr-libstdcpp/include']
4

5
atmega = {
6
    'name': 'AtMega',
7
    'tools': ['avr-gcc'],
8
    'REG_WIDTH': 8,
9
    'HAS_HW_MUL': 8,
10
    'HAS_HW_DIV': 0,
11
    'HAS_FPU': 0
12
}
13

14
attiny = {
15
    'name': 'AtTiny',
16
    'tools': ['avr-gcc'],
17
    'REG_WIDTH': 8,
18
    'HAS_HW_MUL': 0,
19
    'HAS_HW_DIV': 0,
20
    'HAS_FPU': 0
21
}
22

23
msp430 = {
24
    'name': 'Msp430',
25
    'tools': ['msp-gcc'],
26
    'REG_WIDTH': 16,
27
    'HAS_HW_MUL': 16,
28
    'HAS_HW_DIV': 0,
29
    'HAS_FPU': 0
30
}
31

32
stm32 = {
33
    'name': 'Arm-CortexM3',
34
    'tools': ['stm32'],
35
    'REG_WIDTH': 32,
36
    'HAS_HW_MUL': 32,
37
    'HAS_HW_DIV': 32,
38
    'HAS_FPU': 0
39
}
40

41
stm32m4 = {
42
    'name': 'Arm-CortexM4',
43
    'tools': ['stm32'],
44
    'REG_WIDTH': 32,
45
    'HAS_HW_MUL': 32,
46
    'HAS_HW_DIV': 32,
47
    'HAS_FPU': 32
48
}
49

50

51
extensa = {
52
    'name' : 'extensa',
53
    'tools' : ['esp8266'],
54
    'REG_WIDTH'  : 32,
55
    'HAS_HW_MUL' : 32,
56
    'HAS_HW_DIV' : 32,
57
    'HAS_FPU'    : 0
58
}
59

60

61
SupportedDevices = {
62
    'atmega8':
63
        {
64
            'name' : 'atmega8',
65
            'manufacturer': 'Atmel',
66
            'arch': atmega,
67
            'flash': 8*1024, 'ram': 1024, 'eeprom': 512,
68
            'includes': avrInc + ['%(MCUCPP_HOME)s/mcucpp/AVR/atmega8'],
69
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/AVR/src/usart.cpp'],
70
            'linkerScript': None,
71
            'clock': 8000000,
72
            'defines': [],
73
            'cpu': 'atmega8'
74
        },
75
    'atmega16':
76
        {
77
            'name' : 'atmega16',
78
            'manufacturer': 'Atmel',
79
            'arch': atmega,
80
            'flash': 16*1024, 'ram': 1024, 'eeprom': 1024,
81
            'includes': avrInc + ['%(MCUCPP_HOME)s/mcucpp/AVR/atmega16'],
82
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/AVR/src/usart.cpp'],
83
            'linkerScript': None,
84
            'clock': 16000000,
85
            'defines': [],
86
            'cpu': 'atmega16'
87
        },
88
    'atmega128':
89
        {
90
            'name' : 'atmega128',
91
            'manufacturer': 'Atmel',
92
            'arch': atmega,
93
            'flash': 128*1024, 'ram': 4*1024, 'eeprom': 1024,
94
            'includes': avrInc + ['%(MCUCPP_HOME)s/mcucpp/AVR/atmega128'],
95
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/AVR/src/usart.cpp'],
96
            'linkerScript': None,
97
            'clock': 16000000,
98
            'defines': [],
99
            'cpu': 'atmega128'
100
        },
101
    'atmega168':
102
        {
103
            'name' : 'atmega168',
104
            'manufacturer': 'Atmel',
105
            'arch': atmega,
106
            'flash': 16*1024, 'ram': 1*1024, 'eeprom': 512,
107
            'includes': avrInc + ['%(MCUCPP_HOME)s/mcucpp/AVR/atmega168'],
108
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/AVR/src/usart.cpp'],
109
            'linkerScript': None,
110
            'clock': 16000000,
111
            'defines': [],
112
            'cpu': 'atmega168'
113
        },
114
    'atmega1284p':
115
        {
116
            'name' : 'atmega1284p',
117
            'manufacturer': 'Atmel',
118
            'arch': atmega,
119
            'flash': 128*1024, 'ram': 16*1024, 'eeprom': 4*1024,
120
            'includes': avrInc + ['%(MCUCPP_HOME)s/mcucpp/AVR/atmega1284p'],
121
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/AVR/src/usart.cpp'],
122
            'linkerScript': None,
123
            'clock': 20000000,
124
            'defines': [],
125
            'cpu': 'atmega1284p'
126
        },
127
    'attiny2313':
128
        {
129
            'name' : 'attiny2313',
130
            'manufacturer': 'Atmel',
131
            'arch': attiny,
132
            'flash': 2*1024, 'ram': 128, 'eeprom': 128,
133
            'includes': avrInc + ['%(MCUCPP_HOME)s/mcucpp/AVR/attiny2313'],
134
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/AVR/src/usart.cpp'],
135
            'linkerScript': None,
136
            'clock': 8000000,
137
            'defines': [],
138
            'cpu': 'attiny2313'
139
        },
140
        'attiny26':
141
        {
142
            'name' : 'attiny26',
143
            'manufacturer': 'Atmel',
144
            'arch': attiny,
145
            'flash': 2*1024, 'ram': 128, 'eeprom': 128,
146
            'includes': avrInc + ['%(MCUCPP_HOME)s/mcucpp/AVR/attiny26'],
147
            'linkerScript': None,
148
            'clock': 8000000,
149
            'defines': [],
150
            'cpu': 'attiny26'
151
        },
152

153
        # 'msp430g2231':
154
        # {
155
    # 'manufacturer' : 'TI',
156
    # 'arch' : msp430,
157
    # 'flash' : 2*1024, 'ram' : 128, 'eeprom' : 0,
158
    # 'includes' : commInc + ['%(MCUCPP_HOME)s/mcucpp/MSP430'],
159
    # 'libSources' : [],
160
    # 'linkerScript' : None,
161
    # 'clock' : 16000000,
162
    # 'defines' : ['__MSP430_2011__'],
163
    # 'cpu' : 'msp430x2231'
164
        # },
165

166
        'stm32f100':
167
        {
168
            'name' : 'stm32f100',
169
            'manufacturer': 'ST',
170
            'arch': stm32,
171
            'flash': 128*1024, 'ram': 8*1024, 'eeprom': 0,
172
            'includes': commInc + ['%(MCUCPP_HOME)s/mcucpp/ARM/Stm32f100', '%(MCUCPP_HOME)s/mcucpp/ARM/CortexM3', '%(MCUCPP_HOME)s/startup', '%(MCUCPP_HOME)s/3rdparty/CMSIS/Device/ST/STM32F1xx/Include'],
173
            'linkerScript': '%(MCUCPP_HOME)s/linker_scripts/stm32_100xB.ld',
174
            'clock': 24000000,
175
            'defines': ['STM32F100xB', 'STM32F100XB', 'STM32F10X_MD_VL', 'F_OSC=8000000u'],
176
            'cpu': 'cortex-m3',
177
            'startup': ['%(MCUCPP_HOME)s/startups/startup_stm32_100xB.c'],
178
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/src/memory_management.cpp']
179
        },
180

181
        'stm32f103':
182
        {
183
            'name' : 'stm32f103',
184
            'manufacturer': 'ST',
185
            'arch': stm32,
186
            'flash': 64*1024, 'ram': 20*1024, 'eeprom': 0,
187
            'includes': commInc + ['%(MCUCPP_HOME)s/mcucpp/ARM/Stm32f100', 
188
					'%(MCUCPP_HOME)s/mcucpp/ARM/CortexM3', 
189
					'%(MCUCPP_HOME)s/startup', 
190
					'%(MCUCPP_HOME)s/3rdparty/CMSIS/Device/ST/STM32F1xx/Include', 
191
					'%(MCUCPP_HOME)s/3rdparty/STM32_USB-FS-Device_Driver/inc'],
192
            'linkerScript': '%(MCUCPP_HOME)s/linker_scripts/stm32_103xB.ld',
193
            'clock': 72000000,
194
            'defines': ['F_OSC=8000000u', 'STM32F103xB', 'STM32F103XB', 'STM32F10X_MD'],
195
            'cpu': 'cortex-m3',
196
            'startup': ['%(MCUCPP_HOME)s/startups/startup_stm32_103.c'],
197
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/src/memory_management.cpp']
198
        },
199

200
        'stm32f407':
201
        {
202
            'name' : 'stm32f407',
203
            'manufacturer': 'ST',
204
            'arch': stm32m4,
205
            'flash': 1024*1024, 'ram': 112*1024, 'eeprom': 0,
206
            'includes': commInc + ['%(MCUCPP_HOME)s/mcucpp/ARM/Stm32F40x', '%(MCUCPP_HOME)s/mcucpp/ARM/CortexM4',  '%(MCUCPP_HOME)s/startup', '%(MCUCPP_HOME)s/3rdparty/CMSIS/Include'],
207
            'linkerScript': '%(MCUCPP_HOME)s/linker_scripts/stm32_40x.ld',
208
            'clock': 168000000,
209
            'defines': ['STM32F40_41xxx', 'F_OSC=8000000u', '__FPU_PRESENT=1'],
210
            'cpu': 'cortex-m4',
211
            'startup': ['%(MCUCPP_HOME)s/startups/startup_stm32_40x.c'],
212
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/src/memory_management.cpp']
213
        },
214

215
        'stm32f429':
216
        {
217
            'name' : 'stm32f429',
218
            'manufacturer': 'ST',
219
            'arch': stm32m4,
220
            'flash': 2*1024*1024, 'ram': 256*1024, 'eeprom': 0,
221
            'includes': commInc + ['%(MCUCPP_HOME)s/mcucpp/ARM/Stm32F40x', '%(MCUCPP_HOME)s/mcucpp/ARM/CortexM4', '%(MCUCPP_HOME)s/3rdparty/CMSIS/Include', '%(MCUCPP_HOME)s/startup'],
222
            'linkerScript': '%(MCUCPP_HOME)s/linker_scripts/stm32_40x.ld',
223
            'clock': 180000000,
224
            'defines': ['STM32F429_439xx', 'F_OSC=8000000u', '__FPU_PRESENT=1'],
225
            'cpu': 'cortex-m4',
226
            'startup': ['%(MCUCPP_HOME)s/startups/startup_stm32_40x.c'],
227
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/src/memory_management.cpp']
228
        },
229
        'stm32l471':
230
        {
231
            'name' : 'stm32l471',
232
            'manufacturer': 'ST',
233
            'arch': stm32m4,
234
            'flash': 1*1024*1024, 'ram': 128*1024, 'eeprom': 0,
235
            'includes': commInc + ['%(MCUCPP_HOME)s/mcucpp/ARM/Stm32L4x1', '%(MCUCPP_HOME)s/mcucpp/ARM/CortexM4', '%(MCUCPP_HOME)s/3rdparty/CMSIS/Include', '%(MCUCPP_HOME)s/startup', '%(MCUCPP_HOME)s/3rdparty/CMSIS/Device/ST/STM32L4xx/Include'],
236
            'linkerScript': '%(MCUCPP_HOME)s/linker_scripts/stm32_471.ld',
237
            'clock': 80000000,
238
            'defines': ['STM32L471xx', 'F_OSC=8000000u', '__FPU_PRESENT=1'],
239
            'cpu': 'cortex-m4',
240
            'startup': ['%(MCUCPP_HOME)s/startups/startup_stm32l471.c'],
241
            'libSources': ['%(MCUCPP_HOME)s/mcucpp/src/memory_management.cpp']
242
        },
243
        'esp8266' : 
244
        {
245
            'manufacturer' : 'Espressif',
246
            'arch' : extensa, 
247
            'flash' : 1024*1024, 'ram' : 80*1024,
248
            'includes' : ['%(IDF_PATH)s/components/esp8266/include', 
249
                    '%(IDF_PATH)s/components/lwip/include'],
250
            'libSources' : [],
251
            'linkerScript' : '%(IDF_PATH)s/components/esp8266/ld/esp8266.common.ld',
252
            'clock' : 80000000,
253
            'defines' : [ \
254
                #'LWIP_OPEN_SRC', 
255
                'PBUF_RSV_FOR_WLAN', 
256
                'EBUF_LWIP', 
257
                #'ICACHE_FLASH', 
258
                '__ets__'],
259
            'cpu' : 'extensa',
260
            'packages' : [{
261
                'name': 'ESP8266_RTOS_SDK',
262
                'searchUrl' : 'https://github.com/espressif/ESP8266_RTOS_SDK/releases/latest',
263
                'searchPattern' : r'.*espressif/ESP8266_RTOS_SDK/archive/.*\.zip',
264
                'verifyPath' : 'ESP8266_RTOS_SDK-3.1.2/components/esp8266/include/esp_wifi.h',
265
                'type' : 'lib'
266
                },
267
                {
268
                'name': 'ESP8266_TOOLCHAIN',
269
                'dpwnloadUrl' : 'https://dl.espressif.com/dl/xtensa-lx106-elf-win32-1.22.0-100-ge567ec7-5.2.0.zip',
270
                'verifyPath' : 'xtensa-lx106-elf-win32-1.22.0-100-ge567ec7-5.2.0/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc.exe',
271
                'type' : 'tool'
272
                }]
273
        }
274
}
275

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.