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

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

17 minutes ago, mantech said:

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

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

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

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


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

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

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

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

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

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


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

1 minute ago, jcxz said:

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

 

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


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

36 minutes ago, mantech said:

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

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

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


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

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

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

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

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


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

В телефонах есть usb хост. И софт для программирования любых популярных платформ. Добро пожаловать в будущее

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


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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

 

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

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

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


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

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

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


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

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

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

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

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

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

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

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

 

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

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

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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