Перейти к содержанию
    

Скорость программирования QSPI

Добрый вечер, друзья.

Не было заботы, да купила баба порося (пардон, не порося, а J-Link)

Ранее я заливала прошивку посредством китайского свистка ST-Link, работал он на частоте 1.8 МГц и не более.  Тот объем данных для QSPI, который накопился в процессе разработки, заливался минут 40.

Был приобретен китайский же J-Link v11.

На частоте 15 МГц он прекрасно заливает прошивку во внутреннюю флеш, без ошибок.

QSPI он программирует за 6 минут - причем неважно 15 МГц, 10Мгц или 2 Мгц. Скорость не меняется. В процессе программирования ошибок нет, но они выявляются при проверке (и они действительно есть, если запустить устройство и посмотреть на залитые картинки).

Если же поставить 1 МГц - то все без ошибок, программируется за 12-13 минут. По сравнению с ST-Link на меньшей частоте скорость получается больше.

Но все же....  никак нельзя шить QSPI на большей частоте? Может саму QSPI надо как-то настраивать по другому? У кого какой опыт, расскажите, с какой скоростью, на какой частоте удавалось прошивать QSPI?

Объясните мне, почему так получается - почему качество зависит от частоты J-Link? Насколько я понимаю, микросхеме дается команда на запись, а алгоритм и, тем более IDE, просто ждут отработки этой команды. В шею ведь микросхему никто не гонит?

Настройки QSPI в алгоритме у меня такие.

vURzdE3h.png?download=1&name=%D0%A1%D0%B

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 часов назад, murmur сказал:

Но все же....  никак нельзя шить QSPI на большей частоте?

Можно, если покупать не китайский мусор, а фирменный Link.

А так, пойти кофе себе заварить за это время или ещё что-либо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, byRAM said:

Можно, если покупать не китайский мусор, а фирменный Link.

С этого момента поподробнее. Если по вашему на сей процесс влияет качество JLink,то, как я уже спрашивала

почему качество зависит от частоты J-Link? Насколько я понимаю, микросхеме дается команда на запись, а алгоритм и, тем более IDE, просто ждут отработки этой команды. В шею ведь микросхему никто не гонит?

В задачу J-Link входит коммуникация. Будь проблема в J-link, то терялся бы коннект во время программирования. А так все на совести QSPI....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, murmur сказал:

С этого момента поподробнее. Если по вашему на сей процесс влияет качество JLink,то, как я уже спрашивала...

Конечно же влияет, но не только его качество, но и качество вашего таргета :acute:

Но в нём никаких сомнений быть не может, Вы же его в HyperLynx тестировали :angel:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, byRAM said:

Вы же его в HyperLynx тестировали

Зря смеетесь, было такое.

Но... разъем SWD у меня в сантиметре от чипа. Кабель неэкранированный 15 см длиной. Есть необходимость поработать над этим?

И насчет таргета - не забывайте - внутренняя флеш, как уже мной писалось, без ошибок пишется на максимально доступной частоте J-Link

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. При отключении DualFlash все записалось нормально на максимальной частоте.

Варианта 3.

1. Плохой экземпляр одной из микросхем.

2. Плохая разводка этой микросхемы.

3. Косяк в самом режиме DualFlash.

1 вариант исключен.

Значит вариант 2 или 3...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мда......перепааяла микросхемы, поменяла местами. Работает и в режиме SingleFlash и в режиме DualFlash.......

Переставила обратно в первоначальную позицию - не работает (в смысле - не программирует на высокой скорости) в режиме DualFlash

Вот как это понимать?

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

все не читал, но осуждаю  при программировании по QSPI время может определятся самой микросхемой FLASH - то есть стираться и программироваться (маленькими кадрами) она может долго

но при совсем уж замедлении скорости передачи, может оказаться медленнее передача - тогда будет зависимость от нее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 minutes ago, murmur said:

Все не надо. Последний мой пост почитайте.

надо три микросхемы 

почему вывод, что разводка плохая? может микросхема плохая - либо с завода брак, либо уже писали в нее часто

алгоритмы стирания и записи не детерменированы по времени - работают, пока не получится

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, yes said:

может микросхема плохая - либо с завода брак,

Брак должен сбоить независимо от того, к какой ячейке подсоединен. Писалось.... максимум 100 раз.

Хотя.... есть странный момент - сбой начинается всегда по одному и тому же адресу и всегда представляет собой байт заполненный нулями, независимо от того, что писалось.

От звона были бы хаотичные ошибки.

5 minutes ago, yes said:

очему вывод, что разводка плохая? 

Видите ли какая дилема....

Если не работает любая микросхема на конкретном посадочном месте, значит виновато посадочное место.

Если не работает конкретная микросхема на любом посадочном месте, то виновата микросхема.

А у меня не работает конкретная микросхема на конкретном посадочном месте.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, murmur сказал:

А у меня не работает конкретная микросхема на конкретном посадочном месте.

Так хотя-бы начните решать проблему последовательным исключением потенциальных мест багов: напишите тестовую программу, которая (сама программа, а не J-Link) проверила бы подозрительную микросхему чтением/записью.

 

PS: А вообще (если в QSPI-память записываете данные, а не код), то мне кажется крайне странным такой порядок работы, что грузите эти данные через J-Link. Это как вообще можно отлаживаться, если на каждый запуск отладки нужно ждать по полчаса и более??? :shok:

На месте вашего начальника у меня бы появились подозрения, что вы умышленно затягиваете срок разработки, действуя подобным образом. Потому что вам платят за саму деятельность, а не за результат. Уж извините, но складывается такое впечатление. :unknw::wink:

Имхо - само собой разумеющееся решение: Выделить данные QSPI-памяти в отдельный файл (файл ресурсов). Отделить его от исходников. И записать отдельно в QSPI-чип своей программой. Чтобы не переписывать/перечитывать QSPI-память при каждом старте отладки. А J-Link-ом прошивать только внутреннюю флешь/ОЗУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тему от флуда почистил. Напоминаю участникам о необходимости соблюдения Правил. В частности, п.2.1.г.  "не использовать в именах и сообщениях приемов, акцентирующих внимание на их авторе"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...