Приветствую уважаемые! Нужно esp32 научить прошивать китайский клон ардуино причем без компьютера. Инфы скудно, возможно плохо искал, не пинайте. Смысл примерно такой - esp качает прошивку с сервера, помещает ее в свою память. С этого момента, нужны готовые решения, потому что по даташитам я не осилю. Через какой канал прошивать тоже вопрос, конечно желательно что бы можно было прошить совсем пустой голый чип без бута, но если это невозможно то и через serial тоже приемлемо. Если решений в паблике нет готов обсудить в лс платные варианты.
Буквально заголовок темы вставил в поиск
Вот через uart - вторая ссылка
Вот через isp
Кто хочет - ищет способы, кто не хочет - ищет причины (с)
насколько я правильно понял TC -
То-есть ESP32 должна заменить дудку?
А что такого? Есть два совершенно точно установленных факта:
- ESP умеет прошивать сама себя по воздуху, даже скачивая прошивку из интернета.
- ESP умеет прошивать авр-ки, кучу ссылок на это я привел постом выше.
Не вижу принципиальных проблем в совмещении этих двух способностей.
Насколько я понял, ТС интересует уже готовый вариант, сам искать он не хочет, непонятно только, что эта тема делает в Программировании
А щас как?
Таки я думаю, что ей место в Ищу исполнителя. Но это если ТС согласится. А пока пусть так. Может реально кто знающий найдется
Уважаемые благодарю за поддержку, возможно меня не правильно поняли, мне не надо прошивать avr через esp, мне надо что бы esp сама прошила avr без наворотов, мостов, браузеров, линуксов, vpn, компов, вайфаев и тд. Прошивка в виде hex уже в памяти esp32. Все что мне скинули я уже находил. Самое близкое это ардина прошивает ардуину https://baldwisdom.com/bootdrive/. Хотел просто вместо карты памяти подсунуть spiffs, но дело до этого не дошло прошивка не собирается под esp. Поправил одну строчку, залил и краш сразу.
Ошибка
Guru Meditation Error: Core 1 panic’ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x40081291 PS : 0x00060530 A0 : 0x800d172f A1 : 0x3ffb1f60
A2 : 0x0000000a A3 : 0x00000002 A4 : 0x0800001c A5 : 0x00000003
A6 : 0x00000003 A7 : 0x00000000 A8 : 0x3f400910 A9 : 0xffffffff
A10 : 0xffffffff A11 : 0x00000058 A12 : 0x08000000 A13 : 0x00000003
A14 : 0xffffffff A15 : 0x00000000 SAR : 0x0000001a EXCCAUSE: 0x0000001c
EXCVADDR: 0xffffffff LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x40081291:0x3ffb1f60 0x400d172c:0x3ffb1f80 0x400d5852:0x3ffb1fb0 0x400865cd:0x3ffb1fd0
Rebooting…
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
Краш исправил, он был от неверной нумерации выводов, библиотеку поставил из поста выше. Теперь шлет в порт крякозябры, вне зависимости от настроек скорости в мониторе и в прошивке
а лодырь на какую скорость? по нормальному надо снижать до 19200
Это полностью готовый проект именно того, что хочет ТС. Прошивка файла, заранее загруженного в SPIFFS. То есть реализация протокола stk500 на ESP.
Можно управлять коллекцией прошивок в файловой системе ЕСПшки, подгружать, удалять и прошивать в Ардуинку.
Аффтор пишет, что: “For the AVR MCU, you can use an Arduino UNO, Leonardo or MEGA.”
Я даже собрался сам написать stk500 для ЕСП, но подумал, что точно кто-то до меня уже сделал это. А еще одно важное правило не только DIY, но вообще любого вида деятельности: “Не трать, млеать, время на изобретение лисапедофф!”
Так и оказалось! Натравив Гугля на строку “stk500 for esp32” я получил то, что нужно.
С ТС пыво, тут 100% должен! Не отвертеться! Реально нужно было просто хорошо поискать в Гугле!!!