me_edu
Микроконтроллеры и микропроцессоры: embedded-разработкаШаг 32 из 43 · 0% пройдено
Firmware: C, startup, DMA, RTOS и тестирование

Startup, vector table и linker script

Шаг 32 из 4320 минТеория
Цель

Понять основной механизм темы «Startup, vector table и linker script» без заучивания отдельных терминов.

Как работать

Прочитайте блок один раз целиком, затем вернитесь к схеме или примеру и перескажите идею своими словами.

Критерий

Сформулированное правило, пример применения и одно ограничение метода.

PROCESS DIAGRAM1Reset2vector3startup4.data/.bss5SystemInit6main
Путь запуска embedded-программы до main(): таблица векторов, память, clock и системная инициализация.
Опорная идея

До main() уже выполнена важная работа: reset vector передал управление startup-коду, выставлен stack pointer, скопирована секция .data из Flash в SRAM, очищена .bss, вызваны системная инициализация и конструкторы. Linker script описывает, какие секции попадают во Flash, RAM и специальные области памяти.

Без понимания startup невозможно уверенно работать с bootloader, relocation vector table, fault handler, low-level драйверами и анализом HardFault. Это граница между прикладным кодом и реальной архитектурой CPU.

Курс требует, чтобы ученик мог открыть map-файл сборки и объяснить, где лежат код, константы, стек, heap и буферы DMA.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.