ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
452994 Топик полностью
_VVV (12.10.2013 07:43, просмотров: 1) ответил framer на коррелируйте с файлом описания сегментов и адресов в процессоре *.ld . точностей не знаю. Линкер подставляет переменные из этих файлов. "end" обозначает адрес конца heap. Почему именно такая запись не знаю. У меня просто вот так определяется :
Этот код из многих примеров FreeRTOS. В линкере объявляются много __end с различными подчёркиваниями. И это конец размещения данных в RAM, то есть начало heap. Вроде этот код работает так: выделяется память от конца даных до текущего указателя стека. Что есть говнокод, потому что метка "размер кучи" не определена, а метка "размер стека" не используется, вместо неё используется текущий получаемый на момент выполнения регистр стека. Надобно бы определиться с концом стека по-другому, может, в линкере завести соответствующие секции или константы.