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

868
sijok_00

Я начал экспериментировать с 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-кабеля. и странная часть после цикла включения / выключения, я получаю ненужные данные на миником.

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

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

1

2 ответа на вопрос

0
sijok_00

Я нашел способ прошить 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  
0
user2108373

У @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/#!topic/esp-open-rtos/-MNCe1NyVKA )

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

Похожие вопросы