Да, разные скрипты линкера для разных конфигураций сборки. Иногда
разные настройки оптимизации, чтобы легче отлаживать было, но чаще
одинаковые. Ещё предопределена константа препроцессора
__DEBUG_SRAM__, чтобы где надо код под выполнение из ОЗУ
адаптировать. Например, в стартапе при отладке из ОЗУ не надо
копировать секцию данных, она и так в RW области лежит. extern uint32_t _sidata[], _sdata[], _edata[], _sbss[], _ebss[];
#ifndef __DEBUG_SRAM__
for (volatile uint32_t* pSrc = _sidata, *pDst = _sdata; pDst != _edata; *pDst++ = *pSrc++);
#endif
for (volatile uint32_t* pDst = _sbss; pDst != _ebss; *pDst++ = 0); // Zero -> BSS