LINUX.ORG.RU

libusb и STLinkV2

 


1

2

Доброго всем времени суток. Помогите с такой проблемой: хочу прошить основное ПО в контроллер через stlinkv2 с помощью libusb, через функцию libusb_bulk_transfer. Но непонятным остаётся один вопрос: «Как указать адрес куда будут шиться данные?». В функции конечно есть указание endpoint-а, но как-то мне непонятно будет оно так работать или нет. Подскажите как сделать правильно

хочу прошить основное ПО в контроллер

А контроллер умеет такое, чтобы ему через SWD лили bulk?

yax123 ★★★★★
()
Ответ на: комментарий от seijuurou

среду разработки

Это утилита-прошивальщик во встроенную флеш. Консольная утилита. Размером 172Кб

yax123 ★★★★★
()
Последнее исправление: yax123 (всего исправлений: 1)

Если все равно нужно только прошить, без дебага, то я бы советовал бутлоадер встроенный (или свой — как хочется) использовать.

Сам вообще не юзаю st-link для STM32, только бутлодыря.

Да, нафига этот кейл голимый? Чем не нравятся обычные IDE вроде geany?

anonymous
()
Ответ на: комментарий от zudwa

Мне нужно сделать простую программу для производства, интерфейс которой будет понятен неспециалисту. По факту такое ПО уже есть, и мне надо добавить туда контроллеры ST. Использовать пример DfuSe не получится, т.к. он сильно зависит от библиотек msvs, а проект написан на Qt. Да и хотелось бы какое-то более общее решение которое подойдёт для других контроллеров с SWD

seijuurou
() автор топика
Ответ на: комментарий от seijuurou

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

Можете просто сделать фронтенд на Qt, который будет формировать командную строку для запуска консольной утилиты, запускать ее, парсить вывод и печатать результат выполнения.

На производстве для программирования обычно используется otp или custom загрузчик камня: uart, usb через dfu, а не jtag. jtag в продукции вообще может отключаться навсегда через какой-нибудь otp регистр, чтобы умельцы ничего не наотлаживали. Камень при старте загоняется в тех.режим, в котором стартует технологический загрузчик, а не штатный. Дальше идет его программирование.

zudwa
()
Ответ на: комментарий от seijuurou

Мне нужно сделать простую программу для производства, интерфейс которой будет понятен неспециалисту.

Для SWD+st-link:
Вариант 1. Делаете графтулзу для вызова st-flash.
Вариант 2. Делаете графтулзу в которую вкомпиливаете (после обработки напильником) исходники st-flash

Или используете возможности стандартного бутлоадера для выбранного МК.

/thread

yax123 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.