Приветики!
Специально для криворуких типа меня, я попробовал сделать загрузчик программ в РК через Интернет.
Это когда очень хочется дописать игру, но девайс для загрузки с SD-карты собрать не получается, программаторы не подходят, да и ещё последний в доме мультиметр сдох... Магнитофонный вход конечно выручает, но меееедленно...
Мой вариант максимально простой. На основе ESP32C3. Состоит он из куска макетной платы, разъёма, ESP32C3 и 10-ти резисторов, но можно и без них, если очень хочется. Да и разъём можно заменить пучком проводов
Устройство работает через параллельный порт по команде "R". Слушаем младший бит адреса (PB0), и старший (PC7) бит адреса. Если старший низкий, значит началась передача данных. Если младший изменился, значит в порт ESP32C3 (выводы 0-7) надо выдать очередной байт загруженной программы.
Чтобы не было проблем с хитрыми компиляторами, всё написано в Arduino IDE. А так же есть один PHP файл, если вы хотите разместить загрузчик у себя на сервере, а если не хотите, то можно использовать для тестов временный. После загрузки файла на сайте, вы увидите, с какими параметрами использовать команду "R". Затем включаете РК, девайс присасывается к WiFi. Если светодиод на ESP32C3 перестал мигать, значит можно вводить команду "R". Бац, программа загружена!
Вариантов развития такого картриджа много. Можно его и без интернета использовать, как RAM диск. На данный момент к нему пишется программная оболочка с красивостями и использованием файловой системы МК. Но! В одно лицо очень тяжело отлавливать баги. Поэтому предлагаю желающим повторить схему. Она простая:
0 через резистор 1к PA0
1 через резистор 1к PA1
2 через резистор 1к PA2
3 через резистор 1к PA3
4 через резистор 1к PA4
5 через резистор 1к PA5
6 через резистор 1к PA6
7 через резистор 1к PA7
10 через резистор 1к PB0
20 через резистор 1к PC6
21 через резистор 1к PC7
Питание подавать через диод, чтобы во время прошивки РК не пытался запуститься.
Резисторы - это мой колхозный вариант защиты, чтобы ничего не выгорело, если подвиснет РК или ESP32C3. Они могут оба сработать на вывод данных, тогда будет нехорошо. Но я несколько дней работал без резисторов и диода, и ничего не сгорело.
В настройках ESP32C3 надо выставить 160 мГц. Работает и на 80 мГц, но проскакивают ошибки.
Если кто-то озаботится отрисовкой платы, будет вообще хорошо т.к. меня такой способ загрузки вполне устраивает. Купил бы несколько плат. Пожелания: ESP32C3 должна быть повёрнута мордой к юзеру, USB шнур для прошивки втыкать с правой стороны. Выход с питанием на i2c для подключения экрана или джойстиков. Очень хочется wii nunchuk задействовать.
Код и фотки: ESP32_86RK_Simple.zip