Форк программы stm32flash

Наверняка, многие, кто работает с STM32 (а в особенности, не под виндой), знают о существовании такой полезной программы — stm32flash (заливалка прошивки через встроенный бутлоадер), так что, думаю, в преставлении она не нуждается. Программа живёт в виде исходников на гуглокоде. Сама по себе она работает, но в багтрекере накопилась уже куча непринятых патчей и незакрытых репортов. В конце того года у меня проскакивала мысль форкнуть и по-накладывать патчи, но нашёлся другой добрый человек, который это сделал — Tormod Volden, спасибо ему большое за проделанную работу.

Но получилось у него не очень.
Во-первых он не делал форк, а просто скопировал сырцы на gitorious, соответственно вышла байда — сырцы в одном месте, а багрепорты к ним в другом, да ещё и управлять этими репортами нельзя.
Во-вторых времени и сил на тестирование у него, похоже не нашлось. Во всяком случае, то что у него получилось у меня работало с косяками.
В-третьих он и сам сейчас куда-то пропал, говорит, времени на работу над софтиной мало.
В общем, я пришёл к выводу, что если кто-нибудь не форкнет, развитие этой полезной программы будет полным гемором. А так как я и сам успел немного покопаться в сырцах, то я решил, что я вполне имею моральное право создать форк. И создал — developer.berlios.de/projects/stmflasher/.
Лично мой вклад не очень большой, список патчей можно глянуть тут (до оформления форка) и тут (после форка) плюс кое-какие изменения посередине, диф для которых сформировать уже проблематично =). В основном это переработки интерфейса, багфиксы и мелкие улучшения.
Это с одной стороны. С другой — лично я в этой программе сейчас не сильно заинтересован (только с точки зрения развития опенсорса), так как полностью переключился на EFM32. Я обещаю какое-то время стараться поддерживать проект в жизнеспособном состоянии, но буду рад, если присоединится кто-то более заинтересованный. Ну и патчи/багрепорты/фича-реквесты всегда желательны.

ЗЫ: Готовую сборку под винды можно скачать здесь — developer.berlios.de/project/showfiles.php?group_id=13118. Там же, рядом, можно скачать ебилд для Gentoo (или подключить мой оверлей). Ещё планирую сформировать порт и пакет для фряхи. Сборок под другие никсы пока нету, так что собирайте руками. Для сборки нужен cmake.

UPDATE 21.06.2014:
Приношу всем заинтересованным свои извинения — последние год-полтора безумно загружен на работе и на опенсоурс и сообщество тупо не хватает сил и энергии. В связи с этим многое из того, что хотел так и не доделал, плюс прощёлкал смерть берлиоса (в итоге не выкачал историю SVN`а).
Выкладываю то, что у меня осталось (правда не уверен, что это самая крайняя версия).
  • +12
  • 24 февраля 2013, 11:51
  • Alatar
  • 2
Файлы в топике: stmflasher.zip, stmflasher_0.6.2.zip

Комментарии (26)

RSS свернуть / развернуть
Всяческий респект и уважуха Alatar-у!

Взял у общества, улучшил в меру своих сил, вернул обратно в общество — и все от этого только выиграли. Доброе дело!
0
Количество форков безудержно растет, надо будет помержится с ними :)
0
Ну я бы не сказал, что безудержно, но да, на гитхабе уже штуки три есть. Но все они неактивные на данный момент. Проблема в том, что когда над программой работает только один человек, она рано или поздно становится ему не интересна. Я хочу попытаться привлечь побольше народу, хотя бы к тестированию и фидбеку. Правда, пока не знаю как.
По поводу помержиться — надо. Сейчас добавлю ещё немного функционала и гляну, что там у других нафоркано =).
Может список форков составим?
Я пока нашёл следующие:
code.google.com/p/stm32flash
gitorious.org/stm32flash
github.com/toxygen/stm32flash
github.com/strnadda/stm32flash
github.com/dlebed/stm32blctl
0
Ну я не ставил задачи, найти все форки, просто впечатление такое было когда интересовался, что форков много. Я взял один из и добавил загрузку кода в ram. Хотелось ещё как-то упростить cli интерфейс, но дело не дошло. Мой форк нигде не опубликован.

Планирую вернуться к stm32 а значит и сабжу. Но наверно я останусь при своем форке. Хотя если вы этим будете заниматься возможно проще будет предложить вам патч (если что-то нужно), чем поддерживать свой форк.
0
Посмотрел вашу версию, мне не нравиться только cmake, имхо того мэйк-файла что был до него хватало, и он был проще.

Остальные изменения на первый взгляд хороши, в логику работы -M сильно не лез, похоже это только указывает валидный диапазон адресов и возможность работать не по страницам.

Потестирую когда будет необходимость.
0
По поводу cmake — я тоже раньше считал все эти системы сборки излишними, пока не встала необходимость собирать свою серверную софтину на разных компах (а она тоже далеко не очень сложная). Cmake при достаточно простом и понятном программеру синтаксисе позволяет практически полностью абстрагироваться от платформы — я говорю что надо собрать и что установить, а как это сделать и где искать зависимости решает система. Бесплатным бонусом является генерация файла проекта для моей любимой IDE =).

По поводу -M можете и не смотреть особо — я как раз сейчас эту логику переписываю. Но основная идея да, в том, что бы максимально упростить и защитить от левых ошибок работу с разными областями памяти.
0
Впрочем, если будут ещё желающие, можно и старые мэйкфайлы вернуть — одно другому не мешает.
0
Закоммитил версию с переделанной работой с разными адресными пространствами — теперь можно смотреть =). Хотя, всё равно, далеко не идеально реализовано.
0
Вы бы хоть картинку с STM32 вставили )
Один только текст )
0
А я себе в неё добавлял управление reset/boot0 через rts/dtr. Никто такого не делал?
0
На трекере stm32flash лежит два патча сходной тематики, но оба Linux only. У меня тоже в планах есть добавление этой функции, так как очень нужно.
0

что я делаю не так?
0
Или неправильно вводишь имя программы, или ее нет ни в папке d:\develop, ни в папках, перечисленных в PATH.
0
0
Гм… Прошу прощения, кажется мой FTP-клиент не договорился с берлиозовским сервером. Перезалил, должно работать.
0
заработало, спасибо
0
А черт его знает. Хрень какая-то. Быть может, на самом деле одна из букв в названии не латиницей, а кириллицей. Или файл битый, не распознается как исполнимый.
0
Потестил запись в RAM на stm32f4, работает. Неожиданно, что смещения указывать не нужно, то есть они уже заданы.
0
Все куда-то делось, не могу сделать svn update.

$ svn update
Updating '.':
svn: E000111: Unable to connect to a repository at URL 'svn://svn.berlios.de/stmflasher/trunk'
svn: E000111: Can't connect to host 'svn.berlios.de': Connection refused
0
Чтобы не потерялось, bitbucket.org/amaora/stmflasher.
0
А бинарники почему не перезалил?
0
У меня их нет.
0
А что мешает собрать?
0
Прикрепил бинарник под винду к посту
+1
Упс, я вас с amaora спутал) Сорри)
0
А еще не работает через bluetooth (HC-05), но я уже нашел, что проблема в ядре. Пока обхожусь добавлением sleep(2) после open().
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.