Jump to content

    
stas00n

STM32 автономный программатор (flasher) - SWD

Recommended Posts

17 minutes ago, mantech said:

В телефонах появился интерфейс SWD? Однако)))

Конечно. Он всегда там был.

* ST-LINK v3
* ST-LINK v2
* ST-LINK v2.1 (платы Nucleo)
* DFU Bootloader

Share this post


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

Появилась необходимость в автономном программаторе для МК STM32F030, без участия компьютера. Попробовали готовое устройство из Питера - не устроило. Не умеет работать с нужным МК. Стал пробовать сделать своё, на базе проекта с гитхаба.

Зачем лепить свой лисапед, если существует готовое решение от Segger (J-Link)?  :unknw:

Собираетесь выпускать их серийно?

Share this post


Link to post
Share on other sites
36 minutes ago, mantech said:

В телефонах появился интерфейс SWD? Однако)))

почитайте описание (Программа поддерживает:
* ST-LINK v3
* ST-LINK v2
* ST-LINK v2.1 (платы Nucleo)
* DFU Bootloader)

Share this post


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

Конечно. Он всегда там был.

На сколь я понял вопрос, там про ст-линк ничего не говорилось, а упоминался SWD, т.е. программатор предполагается подключать напрямую к МК...

Share this post


Link to post
Share on other sites

Задал вполне конкретный вопрос - о стирании Option Bytes (чтобы снять защиту).

Нужен именно АВТОНОМНЫЙ программатор. Для записи ПО в один определённый МК.

"Зачем лепить свой лисапед?" - писал, что пробовали готовое решение. Не устроило, т.к. именно в нужный МК писать не может (хотя обещано). Писал, что стирание, запись и запуск ПО получилось сделать.

Устройств таких думаю, понадобится несколько штук. Выпускать серийно не предполагается.

Устройство предназначается для серийной прошивки МК в схеме изделия, на предприятии.

Share this post


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

"Зачем лепить свой лисапед?" - писал, что пробовали готовое решение. Не устроило, т.к. именно в нужный МК писать не может (хотя обещано).

J-Link не может писать в нужный МК??? Уверены?  :russian_ru:

PS: Точнее не J-Link, а JetLink:

http://otladka.com.ua/index.php?page=shop.product_details&flypage=vmj_naru.tpl&product_id=215&category_id=22&option=com_virtuemart&Itemid=71

http://otladka.com.ua/index.php?page=shop.product_details&flypage=vmj_naru.tpl&product_id=84&category_id=22&option=com_virtuemart&Itemid=71

Share this post


Link to post
Share on other sites

Нет, jcxz, не руки, а JetLink я не пробовал.

Пользовался ST-link, всё устраивало. Но понадобился автономный, чтобы без компьютера, поиск вывел на OffProg-1. Попробовали - в STM32F030 не пишет, выдаёт ошибку. Их специалисты попробовали STM32F030 и ответили, что МК с завода действительно, не прошивается - возможно только обновление после предварительной прошивки. Ну и как-бы расписались в своей беспомощности. Наверное, слямзили у китайцев (там, в программе-конфигураторе проскочили иероглифы), а не сами делали. И даже исходников, видать, не имеют... а то в отладке нашли бы причину и исправили.

Тогда стал искать другие варианты. Поиск вывел на демонстрационный проект такого программатора из blue pill. Попробовал (всего 10-20 минут заняло), подгрузил соответствующий алгоритм и нужный МК прошился...

В принципе, основной функционал (проверка чистоты, стирание по необходимости, программирование, верификация и запуск) уже сделан. Теперь, для полноты, хотелось понять, как работать с Option Bytes посредством SWD. А так... осталось обеспечить питание от сети, подобрать корпус и сделать платы. Прошивка вместе с управляющей программой отлично умещается в памяти STM32F103C8.

Share this post


Link to post
Share on other sites

Всякий раз, когда приходится "уповать" на чужой проект, случается какая-то дрянь (может только у меня так?). И, т.к. проект чужой, попадаешь в ситуацию, когда не получается оперативно что-то сделать, становишься заложником чужих косяков. Да, J-link - "фирма"... JetLink - не знаю. Но и с "фирмой" случались "трудности", причём не только у меня. Это всё относится к стремлению что-то сделать самому. Да и самому полезно разобраться, понять....

Share this post


Link to post
Share on other sites

@Ioann_II, мои мысли вслух.
1. После именно стирания Option Bytes уровень защиты будет Level 1, а не Level 0.
2. Из Ваших постов не ясно, зачем вам стирать Option Bytes. Пишете, что хотите снять защиту, тогда:
    - каким образом у Вас МК оказались залоченными, если с завода они поставляются с Level 0?
    - каким образом Вы (автономной железкой) можете прошивать заведомо залоченный МК?
3. Если же Вам после прошивки ПО нужно защититься от чтения, то пусть это сделает само прошиваемое ПО.

Я, например, так и делаю. Клацаю в ST-Link Utility прошивающую кнопку и наблюдаю автоокукливание до Level 1 по завершении процесса.

Share this post


Link to post
Share on other sites

ArLLeex, я написал, что "основной функционал сделан". Option Bytes - для полноты. Представьте себе, что МК с завода прошили и запустили прошивку. Прошивка сама устанавливает Level 1. Тогда, после прошивки МК в плате и, соответственно, запуска прошивки, записать в МК что-либо можно только в том случае, если снять защиту (перейти из Level 1 в Level 0).

А теперь практически:

1. Работник прошил МК в блоке.

2. Работник (по какой-то причине) не уверен, что этот блок прошит и пытается его прошить повторно. При этом, это может быть другой работник, не тот, что его прошивал в первый раз. И может думать, что этот блок ещё не прошит. Если не заложить возможность снятия защиты, то... Этот работник, при попытке прошить повторно, получит ошибку.

3. Получив ошибку при попытке прошить блок, работник несёт этот блок ко мне со словами: "... не шьётся... посмотрите...". А у меня, как Вы понимаете, дел по горло, уже давно не до этих блоков... я ведь их уже давно отдал в производство.... И, как Вы понимаете, этих блоков может быть целая коробка (большая)....

А если автономный программатор сам, без всяких дополнительных телодвижений этого работника, сначала снимает защиту (попутно стирая ПО), а потом программирует МК, то... Этот самый работник, при попытке прошить любой блок, получает успешный результат, если, конечно, МК прошивается. И меня никто не беспокоит по пустякам. Так понятно?

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

 

У меня есть компьютер, и с помощью ST-link могу сделать всё, что нужно. Но это, должен быть скорее исключительный случай, нежели правило. Да и эти работники, которые прошивают блоки, могут находиться достаточно далеко от меня.

Как-то так...

Share this post


Link to post
Share on other sites

В целом, ситуация ясна. Причины головных болей, в общем-то, тоже. Хотя она одна, на самом деле. Рекомендую следующий раз, все-таки, закладывать время на разработку какого-никакого загрузчика. Тогда никакие Level-ы защиты при самообновлении будут не страшны. Мы на завод-изготовитель вовсе отдаем либо только загрузчик, либо загрузчик + первая версия ПО (тупо совмещенные бинарные прошивки в одном файле). В Вашем случае напишите мелкую pdf-методику прошивки из под ST-Link Utility на компе и поручите работу по прошивке "...не шьется, посмотрите"-блоков менее квалифицированным сотрудникам, раз Ваше время сильно дороже. Автоматизировать процессы тоже ведь нужно, иначе так и будете за все ответственным в конторе, где "дел по горло"...

Share this post


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

Всякий раз, когда приходится "уповать" на чужой проект, случается какая-то дрянь (может только у меня так?). И, т.к. проект чужой, попадаешь в ситуацию, когда не получается оперативно что-то сделать, становишься заложником чужих косяков. Да, J-link - "фирма"... JetLink - не знаю. Но и с "фирмой" случались "трудности", причём не только у меня. Это всё относится к стремлению что-то сделать самому. Да и самому полезно разобраться, понять....

Как-то у вас странно получается: J-Link не хорош потому что он "проект чужой". И при этом нарыли где-то в инете нечто:

4 часа назад, Ioann_II сказал:

Тогда стал искать другие варианты. Поиск вывел на демонстрационный проект такого программатора из blue pill. Попробовал (всего 10-20 минут заняло), подгрузил соответствующий алгоритм и нужный МК прошился...

неизвестного качества, не пойми кем и как сделанное. И уповаете на него. Где логика?  :unknw:

Сегодня работает, завтра (с новой партией МК) - перестанет. Не опасаетесь?

 

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

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

....и мог на сторону, без вашего ведома, плодить леваки.   :sarcastic:

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.