firmwareopts.scons 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. Import("ENV")
  2. if ENV["DEBUG"]:
  3. ENV.Append(
  4. CPPDEFINES=[
  5. "FURI_DEBUG",
  6. "NDEBUG",
  7. ],
  8. CCFLAGS=[
  9. "-Og",
  10. ],
  11. )
  12. elif ENV["COMPACT"]:
  13. ENV.Append(
  14. CPPDEFINES=[
  15. "FURI_NDEBUG",
  16. "NDEBUG",
  17. ],
  18. CCFLAGS=[
  19. "-Os",
  20. ],
  21. )
  22. else:
  23. ENV.Append(
  24. CPPDEFINES=[
  25. "FURI_NDEBUG",
  26. "NDEBUG",
  27. ],
  28. CCFLAGS=[
  29. "-Og",
  30. ],
  31. )
  32. ENV.AppendUnique(
  33. LINKFLAGS=[
  34. "-specs=nano.specs",
  35. "-specs=nosys.specs",
  36. "-Wl,--gc-sections",
  37. "-Wl,--undefined=uxTopUsedPriority",
  38. "-Wl,--wrap,_malloc_r",
  39. "-Wl,--wrap,_free_r",
  40. "-Wl,--wrap,_calloc_r",
  41. "-Wl,--wrap,_realloc_r",
  42. "-n",
  43. "-Xlinker",
  44. "-Map=${TARGET}.map",
  45. "-T${LINKER_SCRIPT_PATH}",
  46. ],
  47. )
  48. if ENV["FIRMWARE_BUILD_CFG"] == "updater":
  49. ENV.Append(
  50. IMAGE_BASE_ADDRESS="0x20000000",
  51. LINKER_SCRIPT_PATH=ENV["TARGET_CFG"].linker_script_ram,
  52. )
  53. else:
  54. ENV.Append(
  55. IMAGE_BASE_ADDRESS="0x8000000",
  56. LINKER_SCRIPT_PATH=ENV["TARGET_CFG"].linker_script_flash,
  57. APP_LINKER_SCRIPT_PATH=ENV["TARGET_CFG"].linker_script_app,
  58. )