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

Нужно написать загрузчик

Краткое ТЗ на систему удаленного обновления встроенного программного обеспечения для ARM Cortex M3

 

Цель: создать загрузчик для ARM Cortex (STM32) способный получать прошивку через GPRS, обновлять ее в памяти контроллера с защитами от сбоев.

Этапы:

1 Создание схемы электрической принципиальной, состоящей из следующих узлов:

a. ARM Cortex M3 (stm32F103)

b. Память 32 мегабита (AT45DB)

c. Модем GPRS

d. Узлы питания.

2 Написание загрузчика с нужной логикой работы.

 

Функционал загрузчика:

1 Способность принять прошивку для обновления через GPRS и прописать ее в контроллер. Возможно использование памяти для временного хранения прошивки. Протокол работы сервера уточним, либо использовать стандартный протокол FTP.

2 Способность определить все настройки для установки соединения с сервером через GPRS.

3 Проверка корректности прошивки и правильности прошивки в память.

4 Передача управления основной программе.

 

Предполагаемая логика работы загрузчика.

Каждый запуск изделия сопровождается запуском загрузчика. Загрузчик смотрит на признак в памяти, нужно ли ему обновляться или нет. Если обновление не требуется – передает управление основной программе. Если требуется обновление – включает работу с модемом, отправляет на определенный номер СМС о готовности перепрошиваться и ждет управляющей СМС. В этой СМС будут прописаны нужные настройки для установки соединения GPRS, адрес и порт сервера обновлений, нужная версия прошивки. Получив такую СМС – загрузчик получает прошивку по заданному протоколу с сервера и прописывает ее в контроллер. По окончании процесса прошивки, проверяет на сбои (контрольная сумма прошивки) и передает управление основной программе. Перед этим сбрасывает флаг необходимости прошивки.

 

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

 

Варианты могут быть разные. Все можно обсудить. Интересует Цена и срок реализации. Возможно дальнейшее написание прошивки.

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


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

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

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


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

Добрый день.

Готов сделать эту работу за 100 тыс.руб. и 2 месяца времени: 1 месяц на создание аппаратуры и 1 месяц на написание и отладку ПО. Если интересно, пишите на мэйл [email protected]

 

Алексей.

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


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

Добрый день.

Готов сделать эту работу за 100 тыс.руб. и 2 месяца времени: 1 месяц на создание аппаратуры и 1 месяц на написание и отладку ПО. Если интересно, пишите на мэйл [email protected]

 

Алексей.

Я извиняюсь что не в тему: это правда столько стоит (в деньгах и времени) по средне-российским меркам? Без задней мысли вопрос, просто себе для информации.

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


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

это правда столько стоит (в деньгах и времени) по средне-российским меркам?

Я бы сказал, что это даже достаточно скромно (за качественную реализацию, разумеется).

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


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

Ну не знаю господа. По результатам общения и ответам в теме, начинаю думать что я не там где-то работаю. Уж очень как то дорого. Плату делать не нужно. От схемы нужно только понимание куда прицепить память чтобы загрузчик работал. Загрузчик должен при запуске изделия проверять в памяти флаг необходимости перешиваться. Брать прошивку из памяти AT45DB и после успешной прошивки стартовать программу основную. Сколько стоит такой вариант? И вариант когда плюс к описанному варианту еще и УСБ фигурирует. Т.е. при включении видим усб, делаем вид что мы флешка, нам кидают прошивку, мы ее прописываем.

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


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

Ну не знаю господа. По результатам общения и ответам в теме, начинаю думать что я не там где-то работаю. Уж очень как то дорого.

snowboy предложил вполне адекватную цену и сроки за описанный Вами объем работ. Полагаю, если были еще предложения - то того же порядка. Лично я если бы взялся - сумма была бы та же, а сроки вдвое больше (по оценке моих сил). 25тыс в месяц - скромная зарплата скромного инженера-разработчика.

Плату делать не нужно. От схемы нужно только понимание куда прицепить память чтобы загрузчик работал.

А отлаживать как? Или Вам будет достаточно понимания того что загрузчик, вероятно, должен работать? Поймите, отладка таких проектов всегда делается на реальном, работоспособном железе. Без него с вероятностью >100% получится абсолютно неработоспособная фигня. У Вас железа нет, поскольку первым этапом обозначена разработка схемы. За разработкой схемы неизбежно следует разработка печатной платы (хотя бы макета) и сборка прототипа. Без этого нет никакого смысла даже начинать писать ПО. После написания софта (когда он хоть как-то заработал), начинается его отладка, испытания девайса в целом, отлов багов. Если делать совсем по-взрослому, - делается тестовая партия устройств и подвергается разного рода испытаниям/проверкам (типа бета-тестирование); но в этом случае и бюджет будет совсем "взрослый". В какой-то статье попадалась информация, что этап отладки отнимает до 80% времени и, соответственно, бюджета. Интересно было бы узнать, какую сумму Вы рассчитывали вложить в проект?

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


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

Ага, и с вероятностью в 100% snowboy за два месяца не успеет, и будет пыхтеть 4 месяца каждый день. Вот на эти среднероссийские 25 штук в месяц он и будет жить. А иначе как, да никак.

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


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

Зачем плату делать? Схема -> макет на проводках. ТС больше не нужно. Никаких эксклюзивных вещей вроде СВЧ тут и близко нет, 3 проводка к флешке, модему и кренка, грубо говоря. Интерфейсы все стандартные. Разработка и сборка такой схемы на макете - 3 дня максимум при наличии всех деталей. Такая схема будет работать даже на самой не правильно разведённой ПП. Софт - месяц при отсутствии параллельно других проектов с учётом отладки схемы. Ну убей меня нет тут ничего сверхъестественного. Нет и кем-то когда-то изобретённых протоколов, на которые не потрудились сделать описания т.е. не придётся долго и муторно заниматься реверс-инженирингом. Кайф да и только. Отладка в условиях заказчика - гемор, ага, но это отдельно оговаривается под пунктом "поддержка" в договоре и уж простите, но за исправление своих косяков требовать кучу денег с заказчика - это не профессионально. А то что он не может объяснить толком что ему нужно - это риск исполнителя и его нужно учитывать. Но это лишь ИМХО, я не работал девелопером по найму в конторе за оклад, возможно такой опыт меняет отношение к делу.

SiNS, напишите плз в личку Ваше пожелание о сроках и бюджете

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


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

Ага, и с вероятностью в 100% snowboy за два месяца не успеет, и будет пыхтеть 4 месяца каждый день. Вот на эти среднероссийские 25 штук в месяц он и будет жить. А иначе как, да никак.

 

100 тыс это дешево. а по срокам - я вот тоже бы за 2 месяца успел, работая только по вечерам. надо только доработать то, что уже есть для lpc2148

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


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

Всем спасибо за отзыв. Исполнитель найден. Тема закрыта.

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


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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...