Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: XPS SDK: Проблемы Debug / Release configuration
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
lim
Вообщем использую - Managed project.

При сборке проекта для Release получаем всё ОК:

Configuration - Release:


mb-size IModem.elf
text data bss dec hex filename
23996 1437 3216 28649 6fe9 IModem.elf

Build complete for project IModem

________________________________________________________

При сборке для Debug варианта - такая вот хреновина:

Configuration - Debug:

Validating ELF Section Addresses with Hardware Address Map...
elfcheck -noheader -mhs D:/Xilinx/EDK_Projects/TestModem/system.mhs -p xc5vsx35tff665-1 -xmpdir D:/Xilinx/EDK_Projects/TestModem -pe microblaze_0 IModem.elf
ERROR:MDT - Section .stack (0x7C38 - 0x3FF) does not fit completely into memory
dlmb_cntlr (0x0 - 0x7FFF).
ERROR:MDT - elfcheck failed!
INFO:MDT - Try using the linker script generation tools to generate an ELF that
maps well to your hardware design.
make: *** [IModem.elf] Error 2
Build complete for project IModem


Откуда такой размер стека появился. Я пробовал закоментировать одну лишь функцию,
тогда и в Debug варианте всё становится нормально. Но сама-то функция ни причём - ведь в Release
варианте с ней никаких проблем. Это что ж теперь начинать писать свой скрипт.
Посоветуйте, пожалуйста ...

С Уважением,
Игорь
tolik1
Цитата(lim @ Aug 6 2008, 21:17) *
Вообщем использую - Managed project.

При сборке проекта для Release получаем всё ОК:

Configuration - Release:
mb-size IModem.elf
text data bss dec hex filename
23996 1437 3216 28649 6fe9 IModem.elf

Build complete for project IModem

________________________________________________________

При сборке для Debug варианта - такая вот хреновина:

Configuration - Debug:

Validating ELF Section Addresses with Hardware Address Map...
elfcheck -noheader -mhs D:/Xilinx/EDK_Projects/TestModem/system.mhs -p xc5vsx35tff665-1 -xmpdir D:/Xilinx/EDK_Projects/TestModem -pe microblaze_0 IModem.elf
ERROR:MDT - Section .stack (0x7C38 - 0x3FF) does not fit completely into memory
dlmb_cntlr (0x0 - 0x7FFF).
ERROR:MDT - elfcheck failed!
INFO:MDT - Try using the linker script generation tools to generate an ELF that
maps well to your hardware design.
make: *** [IModem.elf] Error 2
Build complete for project IModem
Откуда такой размер стека появился. Я пробовал закоментировать одну лишь функцию,
тогда и в Debug варианте всё становится нормально. Но сама-то функция ни причём - ведь в Release
варианте с ней никаких проблем. Это что ж теперь начинать писать свой скрипт.
Посоветуйте, пожалуйста ...

С Уважением,
Игорь

Уважаемый Игорь. Объем исполняемого кода в сборках Release и Debug различный за счет включения дополнительной отладочной информации. В Вашем случае в Debug нехватка стека. Попрбуйте перераспределить память в LinkerScripte (Там можно поправить собственно только размер стека). Либо Вы должны увеличить объем физической памяти для Debug.
lim
То что для Debug варианта памяти требуется несколько больше - это понятно.
Дело в том, что до сих пор я проводил компиляцию именно в DEBUG.
И до последнего момента размер стека был примерно 5кБайт. Далее добавляем
небольшую функцию - и получаем стек под 30КБайт в конфигурации Debug,
а для конфигурации Release - всё нормально стек увеличился на мизерную величину.

А где конкретно задаётся этот размер стека ? Я пока нашёл в документации следующее:

Linker options are as follows:

-defsym _STACK_SIZE=value

С Уважением,
Игорь
Дмитрий Мазунин
Размер стека задается в Linker script.
В SDK правой кнопкой на проекте -> Generate Linker Script.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.