Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Скрипт линкера Xilinx EDK
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
misyachniy
Проект перестал помещатся в 64К пришлось создать дополнительный блок и углубиться в изучение распределения памяти Microblaze. В сгенерированом по умолчанию скрипте линкера был блок размером чуть больше 64К.
Часть памяти отведена под прерывания.

Но когда я посмотрел архитектуру процессора то увидел, что она "Гарвардская" и имеет два блока по 64К.
Один для инструкций другой для данных.
Базовый адрес один.

По наименованию некоторых секций можно догадатся какого они типа.

Но остается не понятно: как линкер распределяет коды и данные?
Самостоятельно пакует коды в BRAM кодов , а данные в BRAM данных?

Пытался поискать в Итернете, так все ссылки забиты инструкциями к Eclipse/Java :-(
atan2
Подозреваю, что вот это вам надо - GNU Linker
https://web.eecs.umich.edu/~prabal/teaching...inker.pdf\

Могу попробовать подкинуть линкер-скрипты для систем с DDR + BRAM
Golikov A.
где то на этот счет был хелп.

у него есть секция для маленьких данных и для больших, для маленьких и больших только на чтение
секция кода и прочей байды.
Вы максимум что можете без танцев и обманок, это попросить какие секции в каике куски памяти разложить, а далее все...


Более того есть соседняя тема про сколько памяти надо для микроблайз... там ближе к концу есть изыскания как микроблайз уговорить работать с более чем 1 брамом более 64 кБайт. Без бубна и танцев это невозможно... Легче сразу на ДДР переходить, а брамы на кеши потратить...
atan2
Непонятно причем тут упоминание о гарвардской архитектуре.

Больше 64 Кб, на сколько я понимаю, вам не позволит распределить по шинам ILMB/DLMB (если это не Virtex или Kintex). Если надо больше памяти за счет существующей bram, нужно подключать её через AXI/PLB, но программа, опять же как я понимаю, туда попадать не будет - это будут только данные.

И, может быть, стоит обратить внимание на оптимизацию кода программы. Вы действительно пользуетесь кучей - если нет - вот вам, к примеру, лишний килобайт.
Я тоже почти забил 64 Кб программой - но там ещё массивы данных хранятся + подхожу я к приделу только на Debug-версии.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.