Jump to content
    

Стратегия присвоения версий ПО и аппаратуры

9 минут назад, adnega сказал:

У каждой прошивки есть как имя, так и версия...

Аналогично. От вашей системы отличается только способ генерации номера версии - по дате/времени.

11 минут назад, adnega сказал:

... однозначно показывающая совместимость прошивок, функциональные варианты прошивок и версию билда...

Кому показывающая? И зачем? Конечному пользователю эта информация не нужна. А вы можете зайти по идентификатору "имя+версия" в свою базу и получить там всю информацию.

Share this post


Link to post
Share on other sites

Например, рассылаю обновление buim_gd_bpg.v5.2.83.20250311.img.bin с сопровождением:

Цитата
Во вложенном файле Обновление прошивки БПГ (v5.2.83 от 11.03.2025г.)
Добавил:
- исправность датчика ВР3.х-3 контролируется только от момента «включения В3.х» до момента «включение Аг3.х».
в остальное время датчик исправен.
- первые 3 секунды после «включения В3.х» не формируется «отказВ3.х».

Прошу проверить.

Тут есть все необходимые атрибуты для заполнения списка изменений: и версия, и дата, а между "добавил" и "прошу проверить" - суть доработки.

В чем минусы такой системы?

Share this post


Link to post
Share on other sites

15 минут назад, adnega сказал:

В чем минусы такой системы?

В том, что цифры 5.2.83 - лишние.  Номер версии V20250311 в сочетании с именем уже дает уникальный идентификатор. Лишние цифры пользователю ничего не дают, а вы и без них все знаете по идентификатору. Лишняя работа по зашифровке-расшифровке, потенциальный источник ошибок и лишний геморрой...

Edited by quаrk

Share this post


Link to post
Share on other sites

1 минуту назад, quаrk сказал:

В том, что цифры 5.2.83 - лишние

Понял вас. Но вторая цифра (MINOR) вовсе не лишняя, т.к. есть прошивки:

buim_gd_test.v5.1.82.20241218.img.bin

buim_gd_bpg.v5.2.84.20250320.img.bin

buim_gd_uptg.v5.3.82.20241018.img.bin

Все они могут быть залиты в это железо и будут совершено изменять его функционал.

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

Еще есть:

bl_up_buim_gd.v5.0.5.20231206.img.bin - для процедуры обновления загрузчика

и buim_gd_bpg_fail15.v5.2.64.20230915.img.bin - экспериментальная версия с временной заменой выходов.

И зоопарк buim_st_xxx.v4.xxx - немножко на другом железе, но с тем же исходником, прошивки не совместимы с gd-версией v5

Share this post


Link to post
Share on other sites

2 минуты назад, adnega сказал:

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

Лишние цифры, конечно, можно рассматривать как часть имени программы, а не часть номера версии.

Настораживает другое - вы используете идентификатор не по назначению - передаете через него информацию драйверу. Других способов не нашлось?

Share this post


Link to post
Share on other sites

1 минуту назад, quаrk сказал:

а не часть номера версии.

Вот как обычно выглядят обращения от техподдержки:

image.thumb.png.3409b8c63dfc2ee24673f9ea3b7bb8b0.png

Называют только билд "201" - и все про все понимают. С датой даже я (разработчик) не осилю понять о чем идет речь.

Share this post


Link to post
Share on other sites

5 минут назад, adnega сказал:

С датой даже я (разработчик) не осилю понять о чем идет речь.

Если ваша система работает и вас устраивает, то ломать ее не нужно. Как известно, лучшее - враг хорошего. "Работает - не трогай". )))

Share this post


Link to post
Share on other sites

10 минут назад, quаrk сказал:

"Работает - не трогай". )))

100%

Можно сказать про любую (в том числе и вашу) систему, поэтому тема себя исчерпала, но зацепила смежную тему контроля версий. Это гораздо интереснее. Может, ТСу тоже? Я, например, системами контроля версий не пользуюсь. Настроил rsync, чтобы после каждого удачного билда исходники проекта копировались в папку с бэкапами. Там же rsync размещает в папочке с датой все поменявшиеся за день файлы.

Share this post


Link to post
Share on other sites

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

Ну да, конечно) Вам хороший пример ранее привели с часовыми поясами - и это не вымысел, это реальный кейс из моей практики.

Точно. В начале 2010-хх, проживая ещё в Омске, я несколько лет работал на одну канадскую контору. Разница во времени у нас была насколько помню = ~11 часов. Также в команде были сотрудники в Томске, Ижевске и в Венгрии. Я писал firmware. И выкладывал для пользования всеми. Обычное дело - надо что-то срочно реализовать в прошивке -> пашу часто до ночи и ночью. Сразу как готово -> инкремент версии и выкладываю. И народ тут же брал и пользовался. Так как ждали и там было ещё вполне рабочее время.

Вот было бы весело сотрудникам в Европе, а тем более - в Канаде, если бы номера версий я генерил бы из текущей даты/времени. И они бы получали прошивки из будущего!  :biggrin:

А бывало что эти же самые сотрудники могли взять исходники с сервера, сами что-то поправить и скомпилить. Поставив специальный, отладочный номер версии. И версии при разработке менялись часто. Чуть не каждый день. Знатный был бы бардак, если бы использовали дату/время!  :yes3:

Впрочем - объяснять тут бесполезно. Кто работает в распределённой команде - сами всё понимают. А кто работает только в пределах своей деревни - всё равно не поймут. До тех пор, пока в люди не выйдут и самих жареный петух не клюнет.

Share this post


Link to post
Share on other sites

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

Вот было бы весело сотрудникам в Европе, а тем более - в Канаде, если бы номера версий я генерил бы из текущей даты/времени. И они бы получали прошивки из будущего!  :biggrin:

Что за бред Вы несете... Вы когда письма своим сотрудникам отправляете, тоже из будущего их пишите?

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

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

Вот это и есть натуральный бардак.

Отвечать за результат потом кто будет, после таких правок? Автор исходника или тот, который что-то поправил? Автор резонно скажет - это программа уже не моя, после меня ее правили. За новую версию я не отвечаю. А тот, кто правил, скажет - я в исходной версии ничего не менял, только добавил MODBUS. Он работает как надо, а ошибка в исходной версии. Всё - крайних не найти.

Впрочем, объяснять все это тем, кто работает в своей "распределённой деревне", обычно, бесполезно. Пока жареный петух не клюнет...

Share this post


Link to post
Share on other sites

8 часов назад, jcxz сказал:

И они бы получали прошивки из будущего

Понятно, что дата выбрана для уникальности версии. Если работаешь в разных часовых поясах, то необходимо указывать пояс, чтобы соблюсти принцип. Никогда не работал в команде, но, думаю, у группы разработчиков должен быть руководитель, который принимает результат работы и назначает версию. Если же каждый из разработчиков будет назначать версии ПО, то любая система перегрузится. Разве нет?

Share this post


Link to post
Share on other sites

23 минуты назад, adnega сказал:

Если же каждый из разработчиков будет назначать версии ПО, то любая система перегрузится. Разве нет?

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

Share this post


Link to post
Share on other sites

On 4/11/2025 at 10:55 AM, quаrk said:

В десятером писать одну программу нельзя.

OS Linux, OS Windows пишут сотни тысяч программистов:

Quote

Штат сотрудников корпорации Microsoft по состоянию на 30 июня 2022 года составлял 221 тыс. человек..

Хотя соглашусь, OS Windows 10 "в десятером" написать невозможно.. ))

Share this post


Link to post
Share on other sites

2 минуты назад, blackfin сказал:

Штат сотрудников корпорации Microsoft по состоянию на 30 июня 2022 года составлял 221 тыс. человек..

Ага, и все дружно пишут одну и ту же программу, по вашему предположению... )))

Share this post


Link to post
Share on other sites

On 4/11/2025 at 11:08 AM, quаrk said:

Ага, и все дружно пишут одну и ту же программу, по вашему предположению... )))

Бла-бла-бла, это все на что вы способны?

Работали когда-нить в команде из 10 программистов или больше?

Или только слышали о таких командах?

Может, и про Gitlab ничего не слышали?

 

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.

×
×
  • Create New...