1
0

SConscript 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # RT-Thread building script for component
  2. import rtconfig
  3. Import('RTT_ROOT')
  4. from building import *
  5. cwd = GetCurrentDir()
  6. src = Split('''
  7. Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c
  8. ''')
  9. CPPPATH = [cwd + '/Device/ST/STM32F4xx/Include', cwd + '/Include']
  10. if GetDepend(['SOC_STM32F405RG']) or GetDepend(['SOC_STM32F405VG']) or GetDepend(['SOC_STM32F405ZG']):
  11. STM32_TYPE = 'STM32F405xx'
  12. if GetDepend(['SOC_STM32F415RG']) or GetDepend(['SOC_STM32F415VG']) or GetDepend(['SOC_STM32F415ZG']):
  13. STM32_TYPE = 'STM32F415xx'
  14. if GetDepend(['SOC_STM32F407VG']) or GetDepend(['SOC_STM32F407VE']) or GetDepend(['SOC_STM32F407ZG']) or GetDepend(['SOC_STM32F407ZE']) or GetDepend(['SOC_STM32F407IG']) or GetDepend(['SOC_STM32F407IE']):
  15. STM32_TYPE = 'STM32F407xx'
  16. if GetDepend(['SOC_STM32F417VG']) or GetDepend(['SOC_STM32F417VE']) or GetDepend(['SOC_STM32F417ZG']) or GetDepend(['SOC_STM32F417ZE']) or GetDepend(['SOC_STM32F417IG']) or GetDepend(['SOC_STM32F417IE']):
  17. STM32_TYPE = 'STM32F417xx'
  18. if GetDepend(['SOC_STM32F427VG']) or GetDepend(['SOC_STM32F427VI']) or GetDepend(['SOC_STM32F427ZG']) or GetDepend(['SOC_STM32F427ZI']) or GetDepend(['SOC_STM32F427IG']) or GetDepend(['SOC_STM32F427II']):
  19. STM32_TYPE = 'STM32F427xx'
  20. if GetDepend(['SOC_STM32F437VG']) or GetDepend(['SOC_STM32F437VI']) or GetDepend(['SOC_STM32F437ZG']) or GetDepend(['SOC_STM32F437ZI']) or GetDepend(['SOC_STM32F437IG']) or GetDepend(['SOC_STM32F437II']):
  21. STM32_TYPE = 'STM32F437xx'
  22. 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']):
  23. STM32_TYPE = 'STM32F429xx'
  24. 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']):
  25. STM32_TYPE = 'STM32F439xx'
  26. if GetDepend(['SOC_STM32F401CB']) or GetDepend(['SOC_STM32F401CC']) or GetDepend(['SOC_STM32F401RB']) or GetDepend(['SOC_STM32F401RC']) or GetDepend(['SOC_STM32F401VB']) or GetDepend(['SOC_STM32F401VC']):
  27. STM32_TYPE = 'STM32F401xC'
  28. if GetDepend(['SOC_STM32F401CD']) or GetDepend(['SOC_STM32F401RD']) or GetDepend(['SOC_STM32F401VD']) or GetDepend(['SOC_STM32F401CE']) or GetDepend(['SOC_STM32F401RE']) or GetDepend(['SOC_STM32F401VE']):
  29. STM32_TYPE = 'STM32F401xE'
  30. if GetDepend(['SOC_STM32F410T8']) or GetDepend(['SOC_STM32F410TB']):
  31. STM32_TYPE = 'STM32F410Tx'
  32. if GetDepend(['SOC_STM32F410C8']) or GetDepend(['SOC_STM32F410CB']):
  33. STM32_TYPE = 'STM32F410Cx'
  34. if GetDepend(['SOC_STM32F410R8']) or GetDepend(['SOC_STM32F410RB']):
  35. STM32_TYPE = 'STM32F410Rx'
  36. if GetDepend(['SOC_STM32F411CC']) or GetDepend(['SOC_STM32F411RC']) or GetDepend(['SOC_STM32F411VC']) or GetDepend(['SOC_STM32F411CE']) or GetDepend(['SOC_STM32F411RE']) or GetDepend(['SOC_STM32F411VE']):
  37. STM32_TYPE = 'STM32F411xE'
  38. 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']):
  39. STM32_TYPE = 'STM32F446xx'
  40. 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']):
  41. STM32_TYPE = 'STM32F469xx'
  42. 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']):
  43. STM32_TYPE = 'STM32F479xx'
  44. if GetDepend(['SOC_STM32F412CEU']) or GetDepend(['SOC_STM32F412CGU']):
  45. STM32_TYPE = 'STM32F412Cx'
  46. if GetDepend(['SOC_STM32F412ZET']) or GetDepend(['SOC_STM32F412ZGT']) or GetDepend(['SOC_STM32F412ZEJ']) or GetDepend(['SOC_STM32F412ZGJ']):
  47. STM32_TYPE = 'STM32F412Zx'
  48. if GetDepend(['SOC_STM32F412VET']) or GetDepend(['SOC_STM32F412VGT']) or GetDepend(['SOC_STM32F412VEH']) or GetDepend(['SOC_STM32F412VGH']):
  49. STM32_TYPE = 'STM32F412Vx'
  50. if GetDepend(['SOC_STM32F412RET']) or GetDepend(['SOC_STM32F412RGT']) or GetDepend(['SOC_STM32F412REY']) or GetDepend(['SOC_STM32F412RGY']):
  51. STM32_TYPE = 'STM32F412Rx'
  52. 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']):
  53. STM32_TYPE = 'STM32F413xx'
  54. if GetDepend(['SOC_STM32F423CH']) or GetDepend(['SOC_STM32F423RH']) or GetDepend(['SOC_STM32F423VH']) or GetDepend(['SOC_STM32F423ZH']):
  55. STM32_TYPE = 'STM32F423xx'
  56. CPPDEFINES = [STM32_TYPE]
  57. # add for startup script
  58. if rtconfig.CROSS_TOOL == 'gcc':
  59. folder = 'gcc'
  60. src += ['Device/ST/STM32F4xx/Source/Templates/gcc/gcc_startup.s']
  61. elif rtconfig.CROSS_TOOL == 'keil':
  62. folder = 'arm'
  63. elif rtconfig.CROSS_TOOL == 'iar':
  64. folder = 'iar'
  65. #Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f411xe.s
  66. src += ['Device/ST/STM32F4xx/Source/Templates/' + folder + '/startup_' + STM32_TYPE.lower() + '.s']
  67. group = DefineGroup('CMSIS', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
  68. Return('group')