Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Загрузка FPGA из SPI Flash и Parallel NOR Flash
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
shumerok
Добрый день. Имеется стартовый набор Spartan-3e Starter Kit. На плате имеется кристалл XC3S500E, Platform Flash, SPI Flash, Parallel NOR Flash, DDR SDRAM. Работаю с Microblaze. Шина PLB (AXI не поддерживается). Хочу хранить конфигурационные данные + программу во внешней памяти с последующей загрузкой программы в DDR. Зашел в тупик. Общий алгоритм, как я понял, следующий: прошивка состоит из bit-файла аппаратной платформы, bmm-файла блочной памяти и elf-файла загрузчика (bootloader), srec-файла основной программы (располагается по определенному адресу, указываемому в blconfig.h). Проблемы в следующем:
1. Попытка использовать SPI Flash. Используется контроллер XPS SPI. При данном подходе SDK автоматически не формирует файл загрузчика.
2. Попытка использовать Parallel Flash. С помощью SDK автоматом формируется файл загрузчика, в blconfig.h правится начальный адрес расположения SREC-файла. С помощью data2mem формирую новый bit-файл из старого bit, bmm и elf загрузчика (команда data2mem -bm my.bmm -bd code.elf -bt my.bit -o b new.bit). Далее в IMPACT генерирую PROM файл и добавляю в него SREC. Получаю mcs-файл, включающий в себя все, что нужно. Дальше тупик. Как прошить Parallel Flash? Ни по JTAG ни через кристалл она не доступна.
3. Можно ли использовать сформированный для Parallel Flash загрузчик для извлечения данных из SPI Flash? Надо ли в нем что-то менять?
4. И еще вопрос по Linker Script. Что должно стоять в разделе Section to Memory Region Mapping? Начальный адрес локальной шины, flash или DDR?
Благодарю за любую помощь.
Alexey_Rostov
Цитата(shumerok @ Feb 20 2018, 13:29) *
Добрый день. Имеется стартовый набор Spartan-3e Starter Kit. На плате имеется кристалл XC3S500E, Platform Flash, SPI Flash, Parallel NOR Flash, DDR SDRAM. Работаю с Microblaze. Шина PLB (AXI не поддерживается). Хочу хранить конфигурационные данные + программу во внешней памяти с последующей загрузкой программы в DDR. Зашел в тупик. Общий алгоритм, как я понял, следующий: прошивка состоит из bit-файла аппаратной платформы, bmm-файла блочной памяти и elf-файла загрузчика (bootloader), srec-файла основной программы (располагается по определенному адресу, указываемому в blconfig.h). Проблемы в следующем:
1. Попытка использовать SPI Flash. Используется контроллер XPS SPI. При данном подходе SDK автоматически не формирует файл загрузчика.
2. Попытка использовать Parallel Flash. С помощью SDK автоматом формируется файл загрузчика, в blconfig.h правится начальный адрес расположения SREC-файла. С помощью data2mem формирую новый bit-файл из старого bit, bmm и elf загрузчика (команда data2mem -bm my.bmm -bd code.elf -bt my.bit -o b new.bit). Далее в IMPACT генерирую PROM файл и добавляю в него SREC. Получаю mcs-файл, включающий в себя все, что нужно. Дальше тупик. Как прошить Parallel Flash? Ни по JTAG ни через кристалл она не доступна.
3. Можно ли использовать сформированный для Parallel Flash загрузчик для извлечения данных из SPI Flash? Надо ли в нем что-то менять?
4. И еще вопрос по Linker Script. Что должно стоять в разделе Section to Memory Region Mapping? Начальный адрес локальной шины, flash или DDR?
Благодарю за любую помощь.


2. На Spartan-6 Nexus 3 отладочной плате была перемычка, с помощью которой можно выбирать память под загрузку. На вашей плате посмотрите вот тут описано
https://www.xilinx.com/support/documentatio..._kits/ug230.pdf
4. Должен стоять тот регион памяти, в который вы желаете использовать для работы процессора (stack and heap). При этом процессор должен быть подключен к используемой памяти.
shumerok
Благодарю. Кстати, нашел описание от avnet. Там написано, что можно использовать bootloader от parallel flash. Для итого подключается библиотека xilif и команды работы с памятью в bootloadere заменяются на spi-ные.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.