Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Вопрос Ещё раз об обноовлении по воздуху

Тема в разделе "SDK и создание собственных прошивок", создана пользователем Br.Misha, 11 янв 2016.

  1. Br.Misha

    Br.Misha Новичок

    Сообщения:
    50
    Симпатии:
    3
    Здравствуйте!
    Второй день пытаюсь сделать обновление по воздуху для своего девайса.

    Наверное, все знают о типичном методе, через boot, user1, user2. Самый первый интересующий меня вопрос: прошивка как-то шифруется или качается с облака не зашифрованной? Просто не хочу, чтобы её стырили.

    Вопрос 2: boot.bin (который по адресу 0x00) можно писать самому или обязательно нужно использовать тот, который идет с SDK?

    Вопрос 3: Если не использовать обновление по воздуху, тогда при компиляции получаем два файла - 0x00000.bin n 0x40000.bin, которые заливаются по соответствующим адресам. В случае с FOTA, это файлы user1.bin & user2.bin (адреса немножко другие)? Или тут компоновка другая?

    Вопрос 4: Целесообразно ли писать свой загрузчик? Раньше писал бутлоадеры для AVR и STM32, там было проще - при старте МК он загружается с адреса 0x00, там бутлоадер, он проверяет наличие новой версии прошивки, качает её и заливает во flash (иногда декодирует предварительно). Ну и затем делается переход по нужному адресу для старта основной прошивки. В случае с ESP алгоритм аналогичен? Может кто подскажет, как это сделать правильно? Основной проблемой, мне кажется, является то, что начиная с адреса 0x40000 во флеше лежит код библиотек, которые нужны чтобы загрузить прошивку. Или я ошибаюсь?

    Жду Ваших советов))). Спасибо!
     
  2. MikeK

    MikeK Новичок

    Сообщения:
    44
    Симпатии:
    0
    Здравствуйте,
    Вы не нашли ответ на свой вопрос? тема интересует
     
  3. Br.Misha

    Br.Misha Новичок

    Сообщения:
    50
    Симпатии:
    3
    Я использовал стандартный загрузчик, но прошивку качал "вручную", без использования system_upgrade_start(), а после окончания обновления вызывал system_upgrade_reboot(), модуль перезагружался и запускалась новая прошивка.
     
  4. MikeK

    MikeK Новичок

    Сообщения:
    44
    Симпатии:
    0
    Я правильно понял что вы в свою прошивку вставляете код, который умеет принимать новую прошивку от вашей программы, далее пишете ее куда либо на флеш (это тоже вопрос - сразу же нельзя портить рабочую прошивку, т.е. нужно класть копию куда либо, по окончании приема проверять целостность и только потом переписывать в нужную область? честно говоря я пока не понимаю как это все делается...
     
  5. Br.Misha

    Br.Misha Новичок

    Сообщения:
    50
    Симпатии:
    3
    Почитайте этот файл Espressif\docs\99C-ESP8266__OTA_Upgrade__EN_v1.5.pdf.
    Там делается 2 области памяти для двух прошивок (соответственно, максимальный размер прошивки уменьшается более чем в двое). Первая качает вторую, затем переключается на неё и при следующем обновлении наоборот
     
    MikeK нравится это.
  6. MikeK

    MikeK Новичок

    Сообщения:
    44
    Симпатии:
    0
  7. Br.Misha

    Br.Misha Новичок

    Сообщения:
    50
    Симпатии:
    3
    Да вот защитить прошивку никак не получится, читается элементарно.
     
    MikeK нравится это.
  8. MikeK

    MikeK Новичок

    Сообщения:
    44
    Симпатии:
    0
    а читается через что? так же по воздуху? или саму флешку читают напрямую? (извините я не особо в теме этого)
     
  9. Br.Misha

    Br.Misha Новичок

    Сообщения:
    50
    Симпатии:
    3
    Я качаю прошивку с сервера как обычный файл.
     
  10. MikeK

    MikeK Новичок

    Сообщения:
    44
    Симпатии:
    0
    я имел в виду вопрос защиты прошивки, т.е. ее любой желающий может как-то считать из памяти если она отдельной микрухой лежит?
     
  11. Br.Misha

    Br.Misha Новичок

    Сообщения:
    50
    Симпатии:
    3
    Да, именно
     
    MikeK нравится это.

Поделиться этой страницей