Jump to content

    
Sign in to follow this  
murmur

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

Recommended Posts

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

Не было заботы, да купила баба порося (пардон, не порося, а 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

Share this post


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

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

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

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

Share this post


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

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

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

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

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

Share this post


Link to post
Share on other sites
Только что, murmur сказал:

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

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

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

Share this post


Link to post
Share on other sites
Just now, byRAM said:

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

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

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

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

Share this post


Link to post
Share on other sites

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

Варианта 3.

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
9 minutes ago, murmur said:

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

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

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

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

 

Share this post


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

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

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

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

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

5 minutes ago, yes said:

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

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

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

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

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

 

 

Share this post


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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this