Jump to content

    

Zynq 7000, программирование QSPI через vivado или SDK

3 часа назад, fguy сказал:

Для проверки прошивки флэшки возьмите старую виваду - типа 2014.3 - на 7мых цинках в отличии от более поздних вивад ей наплевать на ваши ошибки в проектах плис и процессора - сдк от нее шьет флэшку своим кодом без использования вашего фсбл-а.

 

Спасибо,тоже вариант. Попробую.

 

Share this post


Link to post
Share on other sites
2 minutes ago, alexPec said:

Спасибо,тоже вариант. Попробую.

Возможно флэшка залочена - бывает и такое - нужно программно снять бит защиты - см даташит на флэшку.

Неработающая и глючная ддр на проце так же не позволяет провести загрузку через фсбл - рекомендую потестить и ее.

Share this post


Link to post
Share on other sites
1 час назад, fguy сказал:

Возможно флэшка залочена - бывает и такое - нужно программно снять бит защиты - см даташит на флэшку.

Неработающая и глючная ддр на проце так же не позволяет провести загрузку через фсбл - рекомендую потестить и ее.

ДДР memory test проходит, проект при загрузке с SD карты тоже нормально работает. Флешка с завода я думаю - в ленте, вряд ли там биты защиты ставят

Share this post


Link to post
Share on other sites

Соберите FSBL с флагом FSBL_DEBUG_DETAILED, плату в режим загрузки с QSPI, fsbl загрузите вручную через xsct и посмотрите, определяет ли fsbl тип QSPI флешки.

Share this post


Link to post
Share on other sites
В 24.08.2019 в 19:52, alexPec сказал:

2017.4.1

ИМНИП, с Vivado 2017.4 были проблемы с шитьем, но нормально шилось 2017.2.

Цинки 10, 20 и 45, флешки разные - от N25Q128A (1.8 и 3.3 В) до S25FL512SAGMFIR.

С 2018.х проблем не наблюдал (но требует JTAG-режим).

Скрипт для генерации fsbl:

#!/bin/sh

if [ $# -ne 1 ]; then
    echo "Usage: gen_fsbl.sh <file.tcl>"
    exit 1
fi

hsi18 -mode batch -nolog -nojournal -source $@
rm -rf .Xil
# для некоторых версий надо переименовать для порядка - генерят executable.elf
# mv ../fsbl/executable.elf ../fsbl/fsbl.elf
cp -f ../fsbl/fsbl.elf ../soft/boot/

tcl:

set hwdsgn [open_hw_design ../hw/top_d3.hdf]
generate_app -hw $hwdsgn -os standalone -proc ps7_cortexa9_0 -app zynq_fsbl -compile -sw fsbl -dir ../fsbl

 

Скрипт для генерации образа и шитья:

#!/bin/bash

btg18 -image boot.bif -o boot-new.bin -w
vpf18 -f boot-new.bin -fsbl fsbl.elf -flash_type qspi_single -blank_check -verify

На первый экземпляр проделываем все, потом только шьем

vpf18 -f boot-new.bin -fsbl fsbl.elf -flash_type qspi_single -blank_check -verify

 

Share this post


Link to post
Share on other sites
On 8/24/2019 at 7:52 PM, alexPec said:

2017.4.1

Тоже не получилось зашить флеш в данной версии Вивадо. Решение: пересобрал проект и SDK в другой версии.

Share this post


Link to post
Share on other sites
8 часов назад, Alexey_Rostov сказал:

Тоже не получилось зашить флеш в данной версии Вивадо. Решение: пересобрал проект и SDK в другой версии.

Беда... У меня IP сторонние только под 2017.4. Генерить бинарник в 2017.4, а шить в например в 2018?

Share this post


Link to post
Share on other sites
25 минут назад, alexPec сказал:

Беда... У меня IP сторонние только под 2017.4. Генерить бинарник в 2017.4, а шить в например в 2018?

После перехода на 2017.4 готовили  в ней, а шили в 17.2.

Потом перешли на 2018.х. Там тоже были некоторые бубны, но это немного другая история (с шитьем не связано).

Share this post


Link to post
Share on other sites
On 8/25/2019 at 9:00 PM, gosha-z said:

Соберите FSBL с флагом FSBL_DEBUG_DETAILED

+1 сразу будет понятно где зависает.

Стандартным способом у меня в режиме загрузки QSPI не прошивался, только в режиме JTAG. Перепаивать резисторы не хотелось. Я сделал так:  https://www.xilinx.com/support/answers/70548.html

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now