Невозможно изменить пример для ESP8266, предоставляемый espressif

Моя настройка состоит из SDK Espressif с использованием eclipse и nodemcu, которые я хочу запрограммировать на C.

Я следил за всеми его шагами, и я могу скомпилировать и выпустить плагин из среды eclipse. Я не нажимаю ни одной кнопки для загрузки вспышки, потому что плата может обрабатывать ее сама по себе (по крайней мере, то, что я читаю). В соответствии с этим, по-видимому, у меня есть nodemcu 0,9, но плата у меня не похожа на ту, что на картинке (микрополосковая антенна выглядит странно.. и на на задней части платы сказано: www.doit.am ESP12E devkit V2... антенна на моем не похожа на ту, что была на сайте, указанном за доской).

Я просмотрел все и продолжал идти. Я собрал мигающий пример на espressif и высветил его. Я видел, что он создал eagle.flash.bin и eagle.irom0text.bin и загружает их в 0x00000 и 0x10000 соответственно (согласно документам, которые я прочитал, это нормально). Когда я reset на плате, я вижу, что он действительно вспыхнул, и в нем есть программа, так как светодиод мигает. Затем я попробовал пример hello_world. Все прошло соответственно, и после я reset платы я вижу, что светодиод продолжает мигать с той же частотой, и когда я подключаюсь к плате через терминал .exe, предоставляемый espressif, я могу видеть только мусор в выходе, хотя бод корректен в соответствии с кодом (даже в этом случае я попытался использовать все возможные бои в файле terminal.exe).

Хорошо... тогда я снова вернулся к мигающему примеру и увеличил задержку между миганиями. Вспыхнул его, и частота осталась прежней. Я знаю, что он создал новые .bin файлы, но все равно ничего не изменилось. Это привело меня к созданию нового проекта. Я сделал это, следуя инструкциям Михаила Григорьева. Я просто положил бесконечный цикл, ожидая получить ничего, но после прошивки недавно скомпилированной прошивки я все еще вижу, что светодиод мигает на той же частоте, даже если в коде нет ничего, я даже вытер вспышку раньше (да, я проверьте, была ли пустая вспышка).

Итак, это привело меня к проверке каждого отдельного примера, который я мог бы скомпилировать. Я заметил, что кто-то не моргнул, а другие сделали, как будто ничего не произошло. После этого я загрузил прошивку nodemcu, а после загрузки я заметил, что она работает правильно, и я даже вижу ESP в доступных Wi-Fi-сетях.

Я действительно не понимаю, что происходит. Почему некоторые примеры работают, а другие нет? Почему я не могу изменить исходный код простого blinky и увидеть изменение? Я действительно предпочитаю использовать модуль esp таким образом, так как мне не нравится интерфейс arduino или способ, которым он использует статические настройки и функции цикла, и я не хочу программировать его в LUA.

Я даже проверил make файлы, предоставленные espressif, и единственная разница, которую я вижу, это переменные BOOT и APP. Я даже пытался их модифицировать, но все же.. никаких изменений.

Может кто-нибудь мне помочь?

Ответ 1

Хорошо, наконец, нашел свою проблему. Дело в том, что SDK espressif требует некоторых программных бит на определенных адресах вспышки. То, что изначально произошло, это то, что я удалил флеш, как только я получил доску, предполагая, что все эти двоичные файлы уже были сохранены во флеше.

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

Наконец, после многих часов чтения форумов и документации для чтения, я нашел правильные адреса, и это сработало.

Адреса:

0x00000  - boot_v1.6.bin

0x01000  - firmware application (I set the makefile to BOOT=new, APP=1, SIZE_MAP=6)

0x3fc000 - esp_init_data_default.bin

0xfe000  - blank.bin 

0x3fe000 - blank.bin