ESP8266 не загружается после прошивки прошивки, последовательный выход Неустранимое исключение (28)

Я начал экспериментировать с ESP8266, который был куплен у AI-Thinker, и вики здесь, ESP8266 и еще одна для NodeMCU.

Я уже знаком с прошивкой Lua, поэтому прошил прошивку узла Lua и смог добиться успеха с этим, но я сталкиваюсь с проблемой памяти с прошивкой Lua. Тогда я подумал использовать программирование на C вместо Lua. Моя среда разработки - Ubuntu 14.0. Шаги, которые я выполнил отсюда: https://github.com/SuperHouse/esp-open-rtos.

Мне удалось собрать прошивку с gen_misc.sh в examples/project_template папка с генерацией нижеупомянутых бинов с параметрами сборки по умолчанию:

eagle.flash.bin
eagle.irom0text.bin

затем вспыхнул с esptool.py, используя команду ниже:

./esptool.py write_flash 0x00000 ESPWorkspace/esp-open-sdk/ESP8266_RTOS_SDK/esp8266_bin/eagle.flash.bin 0x20000 ESPWorkspace/esp-open-sdk/ESP8266_RTOS_SDK/esp8266_bin/eagle.irom0text.bin

И вывод после перепрошивки с платы такой:

  Fatal exception (28): epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00007ff0, depc=0x00000000

Это было просто печать на экране несколько раз, я использовал миником на Ubuntu с /dev/ttyUSB0 со скоростью 115200 бод для подключения устройства используется USB-кабель. и странная часть после цикла включения / выключения, я получаю ненужные данные на Minicom.

Некоторая статья в сети направлена ​​на отладку с eagle.dump файл и eagle.s, Я не решил проблему с этим либо.

Может кто-нибудь направить меня, чтобы решить вопрос?

2 ответа

Решение

Я нашел способ прошить esp-8266 с помощью esp-free-rtos, если кто-то воспользовался моим ответом, я рад. Я использовал NodeMcu WiFi Development Board - ESP8266(ESP-12E). Проблема, с которой я столкнулся, связана с фатальным исключением (28) из-за того, что соответствующее место в памяти недоступно (возможно, нет, я здесь только новичок).

Я ошибочно принял два разных проекта, но они идентичны ESP8266_RTOS_SDK и esp-open-rtos.

Поэтому после некоторого поиска я решил продолжить с esp-open-rtos, затем появилась ошибка, связанная с размером флэш-памяти, отсюда: https://nodemcu.readthedocs.io/en/master/en/flash/ Я получил ответ.

В отредактированной корневой папке esp-open-rtos файл параметров изменился на FLASH_SIZE?= 8, FLASH_MODE?= Dout, даже если я увеличил скорость передачи данных до ESPBAUD?= 1500000 .

Я прошился с прошивкой и получил мою программу на C в esp8266 .

Ниже я перечислю пошаговое руководство по прошивке C-программы на esp8266 . Моя система разработки - Ubuntu 14.04 LTS.

1. скачать esp-open-sdk и собрать

Убедитесь, что все требования и зависимости, доступные для вашей системы разработки, указаны на их странице GitHub.

$ git clone --recursive https://github.com/pfalcon/esp-open-sdk.git

$ make STANDALONE=n 

Установите путь экспорта:

$ export PATH=/path_to_Workspace/esp-open-sdk/xtensa-lx106-elf/bin:$PATH

2. скачать esp-open-rtos и сделать флеш

$ git clone --recursive https://github.com/Superhouse/esp-open-rtos.git

$ cd esp-open-rtos

$ make flash -j4 -C examples/http_get ESPPORT=/dev/ttyUSB0 

У @Glorfindel есть правильный ответ, но только чтобы уточнить.

Определите размер вспышки вашей платы:

с https://stackoverflow.com/questions/39631011/how-to-determine-flash-size-of-nodemcu

(У меня был HiLetGo nodemcu - 32Mb)

Отредактируйте файл: esp-open-rtos / parameters.mk

  • FLASH_SIZE ?= <N> (где N - мегабиты вашей вспышки)
  • FLASH_MODE ?= dio

(обратите внимание, я также нашел ссылку на дио здесь: https://groups.google.com/forum/)

Эти два изменения решили проблему для меня.

Другие вопросы по тегам