• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Прошивка ESP8266 собственным проектом

Aeatronix

New member
Всем доброго времени суток. Знаю вопрос уже заезженный и 100500 раз разобранный, но тем не менее. У меня модуль esp-07 и если я все правильно понял то:
-SPI flash=512 Kb
-SPI mode=QIO
-SPI speed=40
Собираю прошивку и пытаюсь прошить модуль с помощью ECLIPSE, примеры скачены с habra.
Mikefile имеет следующий вид:
***********************
include ../settings.mk

MODULES = driver user
LIBS = c gcc hal phy pp net80211 lwip wpa main crypto

include ../common_nonos.mk

BOOT = none
APP = 0
SPI_SPEED = 40
SPI_MODE = QIO
SPI_SIZE_MAP = 0
ESPPORT = COM3
ESPBAUD = 115200
*****************************
После прошивки модуль начинает постоянно ресетится и выдавать:
upload_2019-3-20_7-27-59.png
Пытался зашить файлы из проекта другой программой следующим образом:
upload_2019-3-20_7-25-57.png
........не помогло.

Подскажите в чем может быть дело?
Модуль рабочий, прошиваю сторонней прошивкой, все работает!
 

Вложения

nikolz

Well-known member
Всем доброго времени суток. Знаю вопрос уже заезженный и 100500 раз разобранный, но тем не менее. У меня модуль esp-07 и если я все правильно понял то:
-SPI flash=512 Kb
-SPI mode=QIO
-SPI speed=40
Собираю прошивку и пытаюсь прошить модуль с помощью ECLIPSE, примеры скачены с habra.
Mikefile имеет следующий вид:
***********************
include ../settings.mk

MODULES = driver user
LIBS = c gcc hal phy pp net80211 lwip wpa main crypto

include ../common_nonos.mk

BOOT = none
APP = 0
SPI_SPEED = 40
SPI_MODE = QIO
SPI_SIZE_MAP = 0
ESPPORT = COM3
ESPBAUD = 115200
*****************************
После прошивки модуль начинает постоянно ресетится и выдавать:
Посмотреть вложение 7283
Пытался зашить файлы из проекта другой программой следующим образом:
Посмотреть вложение 7281
........не помогло.

Подскажите в чем может быть дело?
Модуль рабочий, прошиваю сторонней прошивкой, все работает!
для начала:
первую строку убрать нафиг
вторую и третью писать лишь один раз
 

nikolz

Well-known member
далее проверьте какой должен быть адрес у второй стрки для флеш 512 (как вы установили)
 

Aeatronix

New member
Ну основной аргумент то, что везде где я натыкался на вопрос о том сколько у esp-07 flash-память, у нее оказывалось 512 мбайт.
Кроме того по наитию попробовал вшыть в чистый модуль bootloader с адреса 0x00000 и при ресете выдавалась информация, что память также 512 кбайт
 

nikolz

Well-known member
поясняю подробнее
в CONFIG программы NODEMCU FIRMWARE PROGRAMMER
перепишите конфигурацию в порядке увеличения адреса загрузки.
оставьте лишь 4 , 5 и 2 строки поставив их 4 - первой строкой, 5 -второй, 2-третьей.
после первой успешной загрузки, флажок с 3 строки можете снять
и для загрузки новых прошивок менять лишь две строки 1 и 2.
 

Aeatronix

New member
поясняю подробнее
в CONFIG программы NODEMCU FIRMWARE PROGRAMMER
перепишите конфигурацию в порядке увеличения адреса загрузки.
оставьте лишь 4 , 5 и 2 строки поставив их 4 - первой строкой, 5 -второй, 2-третьей.
после первой успешной загрузки, флажок с 3 строки можете снять
и для загрузки новых прошивок менять лишь две строки 1 и 2.
Сделал все как вы сказали и для разных объемов памяти на всякий случай , теперь модуль циклически не ресетится, а просто выдает при перезагрузке......
upload_2019-3-21_20-54-57.png
 

Aeatronix

New member
Я все починил!!!:):):) Только сам не понял как? Наткнулся тут на одну статью https://esp8266.ru/esp8266-2014-12-02-firmware/ и там была вот эта замечательная картинка
upload_2019-3-21_23-52-57.png
Ну значит думаю нужно тоже в "ECLIPSE" скомпилирывать файл "user1.bin". Меняю параметры в файле setting.mk на:
# BOOT = none
# BOOT = old - boot_v1.1
# BOOT = new - boot_v1.2+
BOOT ?= old
# APP = 0 - eagle.flash.bin + eagle.irom0text.bin
# APP = 1 - user1.bin
# APP = 2 - user2.bin
APP ?= 1
А он мне выдает ошибку.......
build/app.out section `.irom0.text' will not fit in region `irom0_0_seg'
.....что мол создаваемый файл "user1.bin" больше по объему чем размер памяти, указанной мной:(
Я то знаю, что у меня 512 Кбайт, ну и хрен с ним думаю. Написал, что у меня как бы ее больше.
# SPI_SIZE_MAP
# 0 : 512 KB (256 KB + 256 KB)
# 1 : 256 KB
# 2 : 1024 KB (512 KB + 512 KB)
# 3 : 2048 KB (512 KB + 512 KB)
# 4 : 4096 KB (512 KB + 512 KB)
# 5 : 2048 KB (1024 KB + 1024 KB)
# 6 : 4096 KB (1024 KB + 1024 KB)
SPI_SIZE_MAP ?= 4
Скомпилировал файл "user1.bin", скачал недостающие файлы, что на картинке выше и вставил их все в программу NODEMCU......
upload_2019-3-22_0-7-46.png

.........и знаете что??? Заработало!!!

Если кому-то не лень поделитесь своими мыслями. Потому что я более или менее только понял суть прошивки файлами "eagle.flash.bin" и "eagle.irom0text.bin", которые шьются по адресам 0х00000 и 0х40000 соответственно.
 

nikolz

Well-known member
Я все починил!!!:):):) Только сам не понял как? Наткнулся тут на одну статью https://esp8266.ru/esp8266-2014-12-02-firmware/ и там была вот эта замечательная картинка
Посмотреть вложение 7285
Ну значит думаю нужно тоже в "ECLIPSE" скомпилирывать файл "user1.bin". Меняю параметры в файле setting.mk на:
# BOOT = none
# BOOT = old - boot_v1.1
# BOOT = new - boot_v1.2+
BOOT ?= old
# APP = 0 - eagle.flash.bin + eagle.irom0text.bin
# APP = 1 - user1.bin
# APP = 2 - user2.bin
APP ?= 1
А он мне выдает ошибку.......
build/app.out section `.irom0.text' will not fit in region `irom0_0_seg'
.....что мол создаваемый файл "user1.bin" больше по объему чем размер памяти, указанной мной:(
Я то знаю, что у меня 512 Кбайт, ну и хрен с ним думаю. Написал, что у меня как бы ее больше.
# SPI_SIZE_MAP
# 0 : 512 KB (256 KB + 256 KB)
# 1 : 256 KB
# 2 : 1024 KB (512 KB + 512 KB)
# 3 : 2048 KB (512 KB + 512 KB)
# 4 : 4096 KB (512 KB + 512 KB)
# 5 : 2048 KB (1024 KB + 1024 KB)
# 6 : 4096 KB (1024 KB + 1024 KB)
SPI_SIZE_MAP ?= 4
Скомпилировал файл "user1.bin", скачал недостающие файлы, что на картинке выше и вставил их все в программу NODEMCU......
Посмотреть вложение 7286

.........и знаете что??? Заработало!!!

Если кому-то не лень поделитесь своими мыслями. Потому что я более или менее только понял суть прошивки файлами "eagle.flash.bin" и "eagle.irom0text.bin", которые шьются по адресам 0х00000 и 0х40000 соответственно.
На картинке красная линия не смущает и не стыдно выкладывать такое ?
Проще было бы сначала документацию почитать.
У китайцев все выложено и для чайников тоже все разжевано,
но частое употребление халявы отключает мозги.
-----------------
 
Сверху Снизу