memory.ld 931 B

123456789101112131415161718192021222324
  1. /* Flash layout: softdevice | application | filesystem */
  2. /* RAM layout: softdevice RAM | application RAM */
  3. _sd_size = DEFINED(_sd_size) ? _sd_size : 0;
  4. _sd_ram = DEFINED(_sd_ram) ? _sd_ram : 0;
  5. _fs_size = DEFINED(_fs_size) ? _fs_size : 64K; /* TODO: set to 0 if not using the filesystem */
  6. _app_size = _flash_size - _sd_size - _fs_size;
  7. _app_start = _sd_size;
  8. _fs_start = _sd_size + _app_size;
  9. _fs_end = _fs_start + _fs_size;
  10. _app_ram_start = 0x20000000 + _sd_ram;
  11. _app_ram_size = _ram_size - _sd_ram;
  12. _heap_start = _ebss;
  13. _heap_end = _ram_end - _stack_size;
  14. _heap_size = _heap_end - _heap_start;
  15. ASSERT(_heap_size >= _minimum_heap_size, "not enough RAM left for heap")
  16. /* Specify the memory areas */
  17. MEMORY
  18. {
  19. FLASH_TEXT (rx) : ORIGIN = _app_start, LENGTH = _app_size /* app */
  20. RAM (xrw) : ORIGIN = _app_ram_start, LENGTH = _app_ram_size
  21. }