‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

worklog: вопрос покажется дебильным.. он такой и есть

правильно ли я понимаю, что в heap размещаются ТОЛЬКО динамически выделяемые объекты (после всяких там malloc и иже с ним), а локальные и глобальные переменные остаётся в секции .data (которая должна быть физически доступна на момент обращения по адресам этих переменных - т.е., фактически, СРАЗУ после подачи питания)?

т.е. динамически выделять память можно только после того, как проинициализировано железо, дающее доступ к тому диапазону адресов.

Ну, это логично.

Но гарантируется ли то, что компилер не выдаст код, который туда полезет сам ещё до полного запуска всех железяк? Вроде не должно такого быть, верно? Или остаётся лишь уповать на то, что никаких обращений к каким-то библиотекам, которые вдруг захотят динамически выделить память, а там Hardfault.

Т.е. эта инициализация должна быть на самом раннем этапе, когда только-только настроили тактовый генератор, но ещё даже не попали в main(), верно?
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 13 comments