diff --git a/Labs/13. Programming/linker_script.ld b/Labs/13. Programming/linker_script.ld index d77583f..139afe0 100644 --- a/Labs/13. Programming/linker_script.ld +++ b/Labs/13. Programming/linker_script.ld @@ -5,10 +5,18 @@ ENTRY(_start) /* мы сообщаем компоно находится у метки "start" */ -_text_size = 0x4000; /* Размер памяти инстр.: 16KiB */ -_data_base_addr = _text_size; /* Стартовый адрес секции данных */ +_text_size = 0x1000; /* Размер памяти инстр.: 4KiB */ _data_size = 0x4000; /* Размер памяти данных: 16KiB */ +ASSERT(!(_text_size & (_text_size-1)), /* Проверка что размеры памяти */ +"Instr mem size is not power of 2") /* являются степенью двойки */ +ASSERT(!(_data_size & (_data_size-1)), +"Data mem size is not power of 2") + +_data_base_addr = _text_size >= _data_size ? /* Стартовый адрес секции данных */ + _text_size : _data_size; /* указан как больший из размеров*/ + /* секции инструкций/данных */ + _data_end = _data_base_addr + _data_size; _trap_stack_size = 2560; /* Размер стека обработчика перехватов.