SConscript 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import rtconfig
  2. from building import *
  3. import os
  4. # Import environment variables
  5. Import('env')
  6. # get current directory
  7. cwd = GetCurrentDir()
  8. # The set of source files associated with this SConscript file.
  9. src = Split('''
  10. GD/GD32F10x/Source/system_gd32f10x.c
  11. ''')
  12. path = [
  13. cwd + '/GD/GD32F10x/Include',
  14. cwd,]
  15. # Map microcontroller units (MCUs) to their corresponding startup files
  16. mcu_startup_files = {
  17. 'GD32F10X_MD': 'startup_gd32f10x_md.s',
  18. 'GD32F10X_HD': 'startup_gd32f10x_hd.s',
  19. 'GD32F10X_XD': 'startup_gd32f10x_xd.s',
  20. 'GD32F10X_CL': 'startup_gd32f10x_cl.s',
  21. }
  22. # Check each defined MCU, match the platform and append the appropriate startup file
  23. for mcu, startup_file in mcu_startup_files.items():
  24. if mcu in env.get('CPPDEFINES', []):
  25. if rtconfig.PLATFORM in ['gcc']:
  26. src += [os.path.join(cwd, 'GD', 'GD32F10x', 'Source', 'GCC', startup_file)]
  27. elif rtconfig.PLATFORM in ['armcc', 'armclang']:
  28. src += [os.path.join(cwd, 'GD', 'GD32F10x', 'Source', 'ARM', startup_file)]
  29. elif rtconfig.PLATFORM in ['iccarm']:
  30. src += [os.path.join(cwd, 'GD', 'GD32F10x', 'Source', 'IAR', startup_file)]
  31. break
  32. CPPDEFINES = ['USE_STDPERIPH_DRIVER']
  33. group = DefineGroup('Libraries', src, depend = ['SOC_SERIES_GD32F10x'], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  34. Return('group')