firmwareopts.scons 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. ENV.SetDefault(
  49. LINKER_SCRIPT_PATH="firmware/targets/f${TARGET_HW}/${LINKER_SCRIPT}.ld",
  50. )
  51. if ENV["FIRMWARE_BUILD_CFG"] == "updater":
  52. ENV.Append(
  53. IMAGE_BASE_ADDRESS="0x20000000",
  54. LINKER_SCRIPT="stm32wb55xx_ram_fw",
  55. )
  56. else:
  57. ENV.Append(
  58. IMAGE_BASE_ADDRESS="0x8000000",
  59. LINKER_SCRIPT="stm32wb55xx_flash",
  60. APP_LINKER_SCRIPT="application_ext",
  61. )