Заливка прошивки с флешки?

Тема в разделе "Arduino & Shields", создана пользователем ДмитрийД, 11 мар 2018.

  1. Airbus

    Airbus Радиохулиган Модератор

    Улыбнуло.То есть пойти вставить флэшку это проще а USB шнурок уже сложно?Ну да ладно все равно не пойму зачем эти исскуственные роды с Ардуино?esp8266 наше все!Умеет все то что умеет Ардуино да и по вайфаю шьется дистанционно.И не надо никаких дырок под картридеры.
     
  2. AlexU

    AlexU Гуру

    Полная чушь.
    Секция памяти под бутлоадер присутствует всегда, при этом сам бутлоадер может быть, а может нет. Размер секции зависит от фьюзов (BOOTSZ0, BOOTSZ1) и имеет чётко определённые значения (для меги это 1К, 2К, 4К, 8К) и располагается в четко определённом месте (конец флеш-памяти). Сам бутлоадер не может занимать флеш-память вне секции, т.к. за пределами этой секции бутлоадер потеряет свою основную функцию -- возможность перепрошивать остальную флеш-память МК. Загрузка МК -- стартовать с секции бутлоадера или с основной прошивки -- так же настраивается фьзом (BOOTRST).
     
  3. AlexU

    AlexU Гуру

    Исходя из условий, описанных автором, то вставить флешку мажет оказаться не только проще, но и дешевле. Устройство которое будет прошивать Меги должно иметь хорошую защиту от пыли, снега, дождя и т.п. природных подарков. А такое устройство может обойтись в копеечку.
     
  4. AlexU

    AlexU Гуру

    Конкретного совета скорее не получите, т.к. такую задачу мало кто (если вообще кто) решал.
    Если хотите решить задачу, то нужно взять исходники бутлоадера (например родного Ардуиновского), внести в него правки для поддержки чтения прошивки с SD-флешки и попробовать собрать новый бутлоадер. Если уложитесь в 8К, то задача можно сказать решена...
    Ещё раз -- в теории задача решаема и сложного почти ни чего нет. Но есть проблема с ограничением размера кода -- нет полной уверенности в том, что поддержка чтения прошивки с SD-карты уместится в 8К -- надо на практике проверять.
     
  5. DetSimen

    DetSimen Guest

  6. ELITE

    ELITE Гик

    ага, еще мать поискать надо с портом для дисковода....

    вообще мне недавно попадалось как сделать прошивку с флешки
    хотя тут даже не полностью прошивка, а замена части прошивки по сути, при это из под основной программы

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

    Airbus Радиохулиган Модератор

    Я бы эту задачу решал физической заменой блока.И никаких картридеров так как блок герметичный.А уже потом принеся домой перепрошивал его традиционным способом.А идею подсмотрел на работе.На современных самолетах ничего не делается на коленке только замена блоков целиком.Полагаю что для ТС это вопрос скорее теоретический.
     
  8. parovoZZ

    parovoZZ Гуру

    В тинях нет никаких бутлоадеров. Однако народ их успешно пишет.
     
  9. Airbus

    Airbus Радиохулиган Модератор

    Секция то есть всегда.А смысла Лодыря нет.Даже в Тини 4313.Ее лучше писать через ISP.
     
  10. AlexU

    AlexU Гуру

    В данной теме речь идёт о конкретном виде МК -- ATmega2560. При чём тут тиньки?
    В тиньках нет. Там память не много по другому устроена. Но только эта информация к этой теме ни как не относится. Зачем автора вводить в заблуждение рассуждениями, не относящимися к теме вопроса?
     
  11. Airbus

    Airbus Радиохулиган Модератор

    И в 2313/4313 тоже нет?
     
  12. parovoZZ

    parovoZZ Гуру

    Ну так процедуру записи размести в секции бута, а всё остальное - где хочешь. CALL -ом потом прыгнешь в процедуру и колдуй оттуда.
     
  13. parovoZZ

    parovoZZ Гуру

    дудкой фьюзы глянь и узнаешь.
     
  14. Airbus

    Airbus Радиохулиган Модератор

  15. save.l

    save.l Гик

    Добрый день.
    Есть интересное решение: автономный программатор
    Понятно, что автор не приводит исходники (скетчи). Полагаю довольно сложная тема с прошивкой hex и фьюзов из SD карты. Но интересно бы разобраться.
    Может кто подскажет где почитать, может готовые примеры есть или кто то делал похожее. Спасибо.
     
  16. Airbus

    Airbus Радиохулиган Модератор

    А что там сложного? Обычное низковольтное программирование (даже не высоковольтное!) arduino as ISP+дисплей+чтение с sd карты.Неплнятно зачем это нужно с нетбука по любому удобнее. Чтоб вкурить—читайте даташиты AVR. Я сам курил долго когда писал скетч под фьюзбит Доктора для Ардуино. Файлы там вроде прилагаются? Так что можно делать шильд для УНО. Если хотите сами и с ноля то Протокол ISP описан в даташите и более подробно разжеван в книге Шпака «программирование микроконтроллеров»
     
    Последнее редактирование: 10 ноя 2024
    save.l нравится это.
  17. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Эта тема была популярна лет 5 назад. Вероятно и на Амперке тоже. Есть бутлоадер который проверяет наличие SD карты (FAT16/FAT32). Если присутствует - может загрузиться с нее, если отсутствует - перейдет к стандартной загрузке с USB и тд. Как поступает бутлоадер при наличии SD - есть несколько вариантов с довольно навороченными сценариями вплоть до меню. И все четко помещается в пространство загрузчика. Тема известная - надо просто правильно задать Гуглу запрос для поиска. Вернусь домой - если найду в хламе - выложу один из таких загрузчиков.
    Вот нашел навскидку
    https://github.com/wrightflyer/sdbootloader
     
    Последнее редактирование: 10 ноя 2024
    save.l нравится это.
  18. save.l

    save.l Гик

  19. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Не надо там ниче вкуривать. Это не то. ВТОРАЯ (!!!) Ардуина в роли программатора Ардуины - то же самое что "масло масляное".
     
  20. Airbus

    Airbus Радиохулиган Модератор

    Ну я так и сказал
    А вкуривать можно и даже нужно для осознания что и как там происходит.