74 lines
5.8 KiB
Python
74 lines
5.8 KiB
Python
|
# RT-Thread building script for component
|
||
|
import rtconfig
|
||
|
Import('RTT_ROOT')
|
||
|
from building import *
|
||
|
|
||
|
cwd = GetCurrentDir()
|
||
|
src = Split('''
|
||
|
Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c
|
||
|
''')
|
||
|
CPPPATH = [cwd + '/Device/ST/STM32F4xx/Include', cwd + '/Include']
|
||
|
|
||
|
if GetDepend(['SOC_STM32F405RG']) or GetDepend(['SOC_STM32F405VG']) or GetDepend(['SOC_STM32F405ZG']):
|
||
|
STM32_TYPE = 'STM32F405xx'
|
||
|
if GetDepend(['SOC_STM32F415RG']) or GetDepend(['SOC_STM32F415VG']) or GetDepend(['SOC_STM32F415ZG']):
|
||
|
STM32_TYPE = 'STM32F415xx'
|
||
|
if GetDepend(['SOC_STM32F407VG']) or GetDepend(['SOC_STM32F407VE']) or GetDepend(['SOC_STM32F407ZG']) or GetDepend(['SOC_STM32F407ZE']) or GetDepend(['SOC_STM32F407IG']) or GetDepend(['SOC_STM32F407IE']):
|
||
|
STM32_TYPE = 'STM32F407xx'
|
||
|
if GetDepend(['SOC_STM32F417VG']) or GetDepend(['SOC_STM32F417VE']) or GetDepend(['SOC_STM32F417ZG']) or GetDepend(['SOC_STM32F417ZE']) or GetDepend(['SOC_STM32F417IG']) or GetDepend(['SOC_STM32F417IE']):
|
||
|
STM32_TYPE = 'STM32F417xx'
|
||
|
if GetDepend(['SOC_STM32F427VG']) or GetDepend(['SOC_STM32F427VI']) or GetDepend(['SOC_STM32F427ZG']) or GetDepend(['SOC_STM32F427ZI']) or GetDepend(['SOC_STM32F427IG']) or GetDepend(['SOC_STM32F427II']):
|
||
|
STM32_TYPE = 'STM32F427xx'
|
||
|
if GetDepend(['SOC_STM32F437VG']) or GetDepend(['SOC_STM32F437VI']) or GetDepend(['SOC_STM32F437ZG']) or GetDepend(['SOC_STM32F437ZI']) or GetDepend(['SOC_STM32F437IG']) or GetDepend(['SOC_STM32F437II']):
|
||
|
STM32_TYPE = 'STM32F437xx'
|
||
|
if GetDepend(['SOC_STM32F429VG']) or GetDepend(['SOC_STM32F429VI']) or GetDepend(['SOC_STM32F429ZG']) or GetDepend(['SOC_STM32F429ZI']) or GetDepend(['SOC_STM32F429BG']) or GetDepend(['SOC_STM32F429BI']) or GetDepend(['SOC_STM32F429NG']) or GetDepend(['SOC_STM32F429NI']) or GetDepend(['SOC_STM32F429IG']) or GetDepend(['SOC_STM32F429II']):
|
||
|
STM32_TYPE = 'STM32F429xx'
|
||
|
if GetDepend(['SOC_STM32F439VG']) or GetDepend(['SOC_STM32F439VI']) or GetDepend(['SOC_STM32F439ZG']) or GetDepend(['SOC_STM32F439ZI']) or GetDepend(['SOC_STM32F439BG']) or GetDepend(['SOC_STM32F439BI']) or GetDepend(['SOC_STM32F439NG']) or GetDepend(['SOC_STM32F439NI']) or GetDepend(['SOC_STM32F439IG']) or GetDepend(['SOC_STM32F439II']):
|
||
|
STM32_TYPE = 'STM32F439xx'
|
||
|
if GetDepend(['SOC_STM32F401CB']) or GetDepend(['SOC_STM32F401CC']) or GetDepend(['SOC_STM32F401RB']) or GetDepend(['SOC_STM32F401RC']) or GetDepend(['SOC_STM32F401VB']) or GetDepend(['SOC_STM32F401VC']):
|
||
|
STM32_TYPE = 'STM32F401xC'
|
||
|
if GetDepend(['SOC_STM32F401CD']) or GetDepend(['SOC_STM32F401RD']) or GetDepend(['SOC_STM32F401VD']) or GetDepend(['SOC_STM32F401CE']) or GetDepend(['SOC_STM32F401RE']) or GetDepend(['SOC_STM32F401VE']):
|
||
|
STM32_TYPE = 'STM32F401xE'
|
||
|
if GetDepend(['SOC_STM32F410T8']) or GetDepend(['SOC_STM32F410TB']):
|
||
|
STM32_TYPE = 'STM32F410Tx'
|
||
|
if GetDepend(['SOC_STM32F410C8']) or GetDepend(['SOC_STM32F410CB']):
|
||
|
STM32_TYPE = 'STM32F410Cx'
|
||
|
if GetDepend(['SOC_STM32F410R8']) or GetDepend(['SOC_STM32F410RB']):
|
||
|
STM32_TYPE = 'STM32F410Rx'
|
||
|
if GetDepend(['SOC_STM32F411CC']) or GetDepend(['SOC_STM32F411RC']) or GetDepend(['SOC_STM32F411VC']) or GetDepend(['SOC_STM32F411CE']) or GetDepend(['SOC_STM32F411RE']) or GetDepend(['SOC_STM32F411VE']):
|
||
|
STM32_TYPE = 'STM32F411xE'
|
||
|
if GetDepend(['SOC_STM32F446MC']) or GetDepend(['SOC_STM32F446ME']) or GetDepend(['SOC_STM32F446RC']) or GetDepend(['SOC_STM32F446RE']) or GetDepend(['SOC_STM32F446VC']) or GetDepend(['SOC_STM32F446VE']) or GetDepend(['SOC_STM32F446ZC']) or GetDepend(['SOC_STM32F446ZE']):
|
||
|
STM32_TYPE = 'STM32F446xx'
|
||
|
if GetDepend(['SOC_STM32F469AI']) or GetDepend(['SOC_STM32F469II']) or GetDepend(['SOC_STM32F469BI']) or GetDepend(['SOC_STM32F469NI']) or GetDepend(['SOC_STM32F469AG']) or GetDepend(['SOC_STM32F469IG']) or GetDepend(['SOC_STM32F469BG']) or GetDepend(['SOC_STM32F469NG']) or GetDepend(['SOC_STM32F469AE']) or GetDepend(['SOC_STM32F469IE']) or GetDepend(['SOC_STM32F469BE']) or GetDepend(['SOC_STM32F469NE']):
|
||
|
STM32_TYPE = 'STM32F469xx'
|
||
|
if GetDepend(['SOC_STM32F479AI']) or GetDepend(['SOC_STM32F479II']) or GetDepend(['SOC_STM32F479BI']) or GetDepend(['SOC_STM32F479NI']) or GetDepend(['SOC_STM32F479AG']) or GetDepend(['SOC_STM32F479IG']) or GetDepend(['SOC_STM32F479BG']) or GetDepend(['SOC_STM32F479NG']):
|
||
|
STM32_TYPE = 'STM32F479xx'
|
||
|
if GetDepend(['SOC_STM32F412CEU']) or GetDepend(['SOC_STM32F412CGU']):
|
||
|
STM32_TYPE = 'STM32F412Cx'
|
||
|
if GetDepend(['SOC_STM32F412ZET']) or GetDepend(['SOC_STM32F412ZGT']) or GetDepend(['SOC_STM32F412ZEJ']) or GetDepend(['SOC_STM32F412ZGJ']):
|
||
|
STM32_TYPE = 'STM32F412Zx'
|
||
|
if GetDepend(['SOC_STM32F412VET']) or GetDepend(['SOC_STM32F412VGT']) or GetDepend(['SOC_STM32F412VEH']) or GetDepend(['SOC_STM32F412VGH']):
|
||
|
STM32_TYPE = 'STM32F412Vx'
|
||
|
if GetDepend(['SOC_STM32F412RET']) or GetDepend(['SOC_STM32F412RGT']) or GetDepend(['SOC_STM32F412REY']) or GetDepend(['SOC_STM32F412RGY']):
|
||
|
STM32_TYPE = 'STM32F412Rx'
|
||
|
if GetDepend(['SOC_STM32F413CH']) or GetDepend(['SOC_STM32F413MH']) or GetDepend(['SOC_STM32F413RH']) or GetDepend(['SOC_STM32F413VH']) or GetDepend(['SOC_STM32F413ZH']) or GetDepend(['SOC_STM32F413CG']) or GetDepend(['SOC_STM32F413MG']) or GetDepend(['SOC_STM32F413RG']) or GetDepend(['SOC_STM32F413VG']) or GetDepend(['SOC_STM32F413ZG']):
|
||
|
STM32_TYPE = 'STM32F413xx'
|
||
|
if GetDepend(['SOC_STM32F423CH']) or GetDepend(['SOC_STM32F423RH']) or GetDepend(['SOC_STM32F423VH']) or GetDepend(['SOC_STM32F423ZH']):
|
||
|
STM32_TYPE = 'STM32F423xx'
|
||
|
|
||
|
CPPDEFINES = [STM32_TYPE]
|
||
|
|
||
|
# add for startup script
|
||
|
if rtconfig.CROSS_TOOL == 'gcc':
|
||
|
folder = 'gcc'
|
||
|
elif rtconfig.CROSS_TOOL == 'keil':
|
||
|
folder = 'arm'
|
||
|
elif rtconfig.CROSS_TOOL == 'iar':
|
||
|
folder = 'iar'
|
||
|
#Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f411xe.s
|
||
|
src += ['Device/ST/STM32F4xx/Source/Templates/' + folder + '/startup_' + STM32_TYPE.lower() + '.s']
|
||
|
|
||
|
group = DefineGroup('CMSIS', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
|
||
|
|
||
|
Return('group')
|