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

Тема в разделе "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 Гуру

  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 Оракул