Свежие обсуждения
Микроконтроллеры

А существуют ли "в природе" MCU со встроенным счётчиком перепрошивок?

1 3 6

Блин, если есть ТЗ, значит договор у Вас - на разработку научно-технической продукции! Договора на разработку научно-технической продукции - единственный вид договоров, которые выполняются на риск заказчика, а не на риск исполнителя (если не вру, статья 777 ГК РФ - найдите, почитайте). Пошлите заказчика на х... с его идейками про ответственность. По этим договорам исполнитель несет ровно ту ответственность, что явно прописана в договоре, и ни миллиметром больше - никаких "упущенных выгод", невозможности использования и т.д. по ним нет и быть не может. Еще раз повторю - юрист вам нужен, а не счетчик. И не подписывайте никакой х..ни, что там Вам заказчик предлагает!

 

Патсаны! Решил остановиться на следующем варианте:

Буду давать заказчику комплект EXE-шников:
- генератор прошивки GenProg,exe;
- программа stk500.exe для управления программатором AVR ISP II

Генератор прошивки при своём запуске пытается законектится с помощью stk500.exe и AVR ISP II с программируемым микроконтроллером. Если сумел законектится НА ЛЕТУ генерит уникальную прошивку прошивку (загрузив в неё уникальный MAC и контрольные суммы). Затем её заливает. После заливки и установки LOCK-битов сохраняет MAC-девайса и тайм-штамп сгенерированной прошивки в шифрованном файле. После чего удаляет сгенерированный файл прошивки. Таким образом получаем запрограммированный моей прогой микроконтроллер с уникальным ключом и с недоступными для считывания EEPROM и FLASH.

Идём далее... У заказчика есть пока порядка 20 сетей. В каждой от 20 до 80-ти устройств, прошитых моей прошивкой. Заказчик прошивает все девайсы сети. И подключает их к сети. Менеджер сети тоже управляется моей прошивкой. Менеджер сети считывает MAC-и всех девайсов и сохраняет в своей энергонезависимой памяти в ЗАШИФРОВАННОМ файле. И сетка лочится пока я не пришлю код активации. После того как я получу зашифрованный файл списка MAC-ов зарегистрированных в сети девайсов и зашифрованный файл сформированный генератором прошивок если всё сходится я генерю код активации и посылаю его заказчику. Заказчик вводит код активации и сетка готова к работе.

Так что основная сложность - защитить от взлома прогу для компьютера GenProg,exe. Но это сделать проще чем маленькую прожку для MCU. И при этом получить на порядки бОльшую степень защиты.

 

Боинг749: как должна делать программа и порядок её приёмки Бред какой-то туамососный! Тут не юрист а доктор нужен!... Если описан порядок приемки, то проверяемое ПО должно ему 100% соответствовать. Если соответствует,- значит все ОК! и Заказчик получил то, что хотел. Если в жизни девайс делает не то, что хотел Заказчик, значит он (Заказчик) неправильно принимал работу (неправильно определил порядок приемки, т.е. критерии соответствия! ),- сам виноват!.
Если ПО не соответствует требуемому, что выяснилось при проведении программы приемки,- то работа не выполнена!.
ВСЕ!!
Даже Билл Гейтс ни за что не отвечает! Это прописано в соглашении, где все давят кнопку "согласен"....

 

А Вам знакомо такое понятие как "гарантии"? Я например подписался, что я гарантирую, что в течении 2-х лет не будет проблем по вине программы. А если будут я обязуюсь их устранять БЕСПЛАТНО.
И не надо хамить? Окей? Давайте спокойно общаться

 

Потому что Вы как умный человек должны понимать (также как и заказчик это понимает), что как бы хорошо программа не была написана в процессе ДОЛГОВРЕМЕННОЙ эксплуатации БОЛЬШОГО парка девайсов ВСЕГДА вылезают всякие траблы, которые невозможно было обнаружить в процессе крактовременной отладки и тестирования "на столе". Вот и заказчик и не хочет остаться с глюками программы "один на один", которые могут вылезти например через полгода от начала эксплуатации

 

Боинг749: Я например подписался, что я гарантирую, что в течении 2-х лет не будет проблем по вине программы. А на третий год?... Самому себе хочется жизнь усложнить?... Нужен договор на оснащение какой-то системы дополнительной, программно реализуемой функцией. С гарантией работы этой функции в течение двух лет (т.е. включая программное сопровождение). ГАРАНТИЯ ОСУЩЕСТВЛЯЕТСЯ ПУТЕМ ПРОГРАММНОГО СОПРОВОЖДЕНИЯ и никак иначе! Заказчик в течение этих двух лет ежемесячно приплачивает за сопровождение ПО. Договор составляется на срок два года. Это нормальная общепринятая практика! В таком общепринятом нормальном варианте заморачиваться на прятание чего-либо нет смысла..на ближайшие два года. И принимать работу Заказчик будет много легче, ибо человек ежемесячно в нем (Заказчике) заинтересован...не сбежит. А далее, нормальный Заказчик просто продлит договор, если эта функция ему еще нужна. И никогда не будет он других на это дело звать....от добра-добра не ищут!

 

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

 

"Заказчик в течение этих двух лет ежемесячно приплачивает за сопровождение ПО. Договор составляется на срок два года. Это нормальная общепринятая практика! "

Дык это и записано в договоре, только немного по-другому. Заказчик мне платит бапки за 2 года вперёд(на этом я настоял), за что я обязуюсь устранять все программные косяки и траблы, выявленные в течение 2-х лет за свой счёт.
Если же траблов не будет, то выплаченная вперёд сумма останется у меня как вознаграждение за столь качественно выполненную работу

 

Плюс заказчик обязуется выплачивать мне вознаграждение за каждый прошитый моей прогой микроконтроллер... Поэтому мне всё же нужно знать а сколько микроконтроллеров прошил заказчик

 

А потом мне не в кайф мотаться каждую неделю за 1000 км... Я вообще не люблю покидать пределы своей комнаты... Поэтому вариант что я всегда буду "под боком" может быть оптимален для заказчика, но ни каким боком не устраивает меня