Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Объединение физических памятей в один блок в программе
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
spectr
Добил-таки ddr-контроллер, однако теперь возник вот какой вопрос.

Имеется два банка ddr-памяти, каждый из которых сидит на своем edge плисины.
SOPC-билдер, будучи достаточно умным, дал им адреса таким образом, что оба банка идут друг за другом без "дырок" в адресах.
Все вроде бы замечательно.
Однако, при работе с NIOS получается так, что линкер не может объединить два банка в один (это видно в BSP-едиторе, на вкладке Linker). В отчете компиляции он говорит что, мол, под программу выделено столько-то и под heap+stack столько-то. Так вот, размер heap равен (чуть меньше) объему одного ddr-контроллера.
Получается что вторая половина памяти (которая обслуживается вторым ddr-контроллером) под программу не используется, давая мне просто тупо адресное пространство или я что-то не так понимаю? К чему я клоню - хотелось бы, чтобы линкер выделял под это дело полный объем памяти. Как бы сделать что-нибудь вроде такого: .heap=ddr1.size+ddr2.size. Может быть как-то в SOPC-билдере можно объединить оба банка в один, который потом увидится тоже как один в НИОСе?
vadimuzzz
посмотрите Nios II Software Developer's Handbook, глава 4 (Nios II Software Build Tools), разделы Modifying Linker Memory Regions, Creating a Custom Linker Section, Changing the Default Linker Memory Region, Changing a Linker Section Mapping
spectr
Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.