Можно ли указать GCC Linker в файле сценария компоновщика, какую память должен использовать раздел?

Я использую среду разработки на основе GCC (версия 5.3.0). Можно ли сказать компоновщику, что конкретный раздел должен использовать память1 или память2 в зависимости от размера раздела?

Пример для лучшего понимания:

MEMORY
{
  ....
  ....
  SRAM (RWX)        : ORIGIN = 0x20000000, LENGTH = 112K
  SRAM2 (RWX)        : ORIGIN = 0x64000000, LENGTH = 2M
}

SECTIONS
{
  ...
  ...

  .bss :
  {
     ... 
     ...
  } > (if size of bss is bigger than SRAM use SRAM2 else SRAM)
}

person MarksSO    schedule 26.04.2016    source источник


Ответы (1)


Поскольку я использую FreeRTOS, я нашел это решение: STM32F4, работающий с FreeRTOS во внешней оперативной памяти

Я использую heap4.c, в этом случае можно переместить всю кучу в выделенную область памяти. Поскольку heap5.c доступен во FreeRTOS, этот файл также можно использовать для моего вопроса.

person MarksSO    schedule 04.05.2016