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

Решено Makefile для esp-12e?

de1m

New member
Всем ку,
Есть небольшая проблема, не пойму куда надо копать, подозреваю, что как-то прошивка неправильно пишется.
На данный момент прошивка выглядит вот так:
Код:
void user_init(void)
{
    uart_init(BIT_RATE_115200, BIT_RATE_115200);
   
    os_printf("Tessssettas");
}
Но на выходе приходит это:
\0x8c\0xe2r\0x92l\0x8cl2\0x8c\0x1f\0x00\0x0cTessssettasmode : softAP(5e:cf:7f:1f:11:ba)

add if1

dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)

bcn 100
Тоесть у меня работает "SOFTAP_MODE" и я могу к точке подключиться. Данная функия была на этом чипе раньше, мне не понятно почему она всё ещё там.
И ко всему этому чип переодически перезагружается с ошибкой
Fatal exception 9(LoadStoreAlignmentCause):

epc1=0x4024035f, epc2=0x00000000, epc3=0x00000000, excvaddr=0x4010045b, depc=0x00000000
Я так понимаю, что при перепрошивке остаются остатки от старой прошики, как это можно исправить?
Makefile которым я пользуюсь, я выдрал из "esp-hello-world" примера, что может быть причиной описанного выше.

Может у кого-то есть правильный пример?
Буду очень благодарен.
 

Вложения

nikolz

Well-known member
А с какого адреса надо blank.bin писать? Я вчера AT firmware записал, там надо два раза blank.bin писать 0x7e000 & 0x3fe000
Вроде как всё прошилось, но потом не грузился чип.
Выкладываю файл для чистки флеш Пишем с адрес 0000.
 

Вложения

  • Like
Реакции: de1m

Victor

Administrator
Команда форума
А с какого адреса надо blank.bin писать? Я вчера AT firmware записал, там надо два раза blank.bin писать 0x7e000 & 0x3fe000
Вроде как всё прошилось, но потом не грузился чип.
из [inline]README.MD[/inline] SDK 2.0.0
Код:
# NON-BOOT MODE
## download
    eagle.flash.bin              0x00000
    eagle.irom0text.bin          0x10000
    blank.bin
        Flash size 8Mbit:        0x7e000 & 0xfe000
        Flash size 16Mbit:       0x7e000 & 0x1fe000
        Flash size 16Mbit-C1:    0xfe000 & 0x1fe000
        Flash size 32Mbit:       0x7e000 & 0x3fe000
        Flash size 32Mbit-C1:    0xfe000 & 0x3fe000
    esp_init_data_default.bin (optional)   
        Flash size 8Mbit:        0xfc000
        Flash size 16Mbit:       0x1fc000
        Flash size 16Mbit-C1:    0x1fc000
        Flash size 32Mbit:       0x3fc000
        Flash size 32Mbit-C1:    0x3fc000

## compile
    modify eagle.app.v6.ld, as
    irom0_0_seg :                         org = 0x40210000, len = 0x6C000
вам нужно еще [inline]esp_init_data_default.bin[/inline] прошить
 
  • Like
Реакции: de1m

pvvx

Активный участник сообщества
я выложил бланк который чистит 4Mb т е всю флеш.
C:\Espressif\utils\ESP8266>esptool.exe -h
usage: esptool [-h] [--port PORT] [--baud BAUD]
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,
flash_id,read_flash,erase_flash}
...

ESP8266 ROM Bootloader Utility

positional arguments:
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,flash_id,read
_flash,erase_flash}
Run esptool {command} -h for additional help
load_ram Download an image to RAM and execute
dump_mem Dump arbitrary memory to disk
read_mem Read arbitrary memory location
write_mem Read-modify-write to arbitrary memory location
write_flash Write a binary blob to flash
run Run application code in flash
image_info Dump headers from an application image
make_image Create an application image from binary files
elf2image Create an application image from ELF file
read_mac Read MAC address from OTP ROM
flash_id Read SPI flash manufacturer and device ID
read_flash Read SPI flash content
erase_flash Perform Chip Erase on SPI flash

optional arguments:
-h, --help show this help message and exit
--port PORT, -p PORT Serial port device
--baud BAUD, -b BAUD Serial port baud rate
 
  • Like
Реакции: de1m

de1m

New member
Извените, что так поздно отвечаю, вообщем я воспользовался советом и стёр всё ререз "esptool", пока ничего не работает, в том числе моя простая прошика, пишет кучу чисел и всё.
Мне надо что-то типа загрузочного образа? В AT прошивке есть boot.bin
 

Victor

Administrator
Команда форума
Извените, что так поздно отвечаю, вообщем я воспользовался советом и стёр всё ререз "esptool", пока ничего не работает, в том числе моя простая прошика, пишет кучу чисел и всё.
Мне надо что-то типа загрузочного образа? В AT прошивке есть boot.bin
вам нужно еще esp_init_data_default.bin прошить, смотрите мой пост выше
 
  • Like
Реакции: de1m

de1m

New member
Чтобы небыло неясностей:
1. Через "esptool" стереть флэш
2. Прошить esp_init_data_default.bin
3. Прошить своей прошивкой

Правильный порядок или ещё что-то надо?
 

Victor

Administrator
Команда форума
Правильный порядок или ещё что-то надо?
когда прошиваете свою прошивку, можете заодно и esp_init_data_default.bin прошить (большинство прошивальщиков поддерживают прошивку сразу нескольких файлов по разным адресам)
если по одному файлу прошиваете, то порядок значения не имеет - файлы не должны друг друга перекрывать, если вы правильно указали адреса и размер флеш памяти
 

de1m

New member
Вобщем, у меня какой-то косяк в esptool, пишет, что стёр, но как-то потом вообще ничего не работает.
Я прошил тот файл "blank.bin 4MB", потом мою прошику и в конце esp_init_data_default.bin.

Теперь моё сообщение появляется, но всёравно чип работает как AP
Tessssettas
mode : softAP(5e:cf:7f:1f:11:ba)
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
и постоянно (каждые 20 сек.) перезагружается с ошибкой
Fatal exception 9(LoadStoreAlignmentCause):
epc1=0x4024035f, epc2=0x00000000, epc3=0x00000000, excvaddr=0x4010045b, depc=0x00000000
В принципе, что он как AP работает не так страшно, но вот то, что постоянно перезагружается не очень хорошо. Это может быть проблема с памятью быть?
У меня ещё несколько чипов есть (я пять штук брал), могу с другим попробывать
 

de1m

New member
Проблема с постоянной перезагрузкой всё ещё есть и я её к сожелению не могу решить.
Вопрос к знающим, я использую esp-open-sdk есть какая-то разница к оригинальной версии? Там вроде как sdk1.5.2 прикручено, я ешё попробывал sdk 1.4 и 2.0, но всё так же
 

de1m

New member
Проблему удалось решить, не совсем правда понятно, что именно не работало.
Я прочитал, что проблема может быть в esptool (я на линуксе сижу).
С esp-open-sdk шел esptool вот этой версии:
de1m@comp0 /opt/espressif/esp-open-sdk/esptool $ ./esptool.py version
esptool.py v1.2-dev
1.2-dev
Я поменял версию на esptool 1.1 и прошил чип ей, перезагрузок больше не было, потом я вернулся для теста на предыдущую версию - esptool 1.2, но проблем не было и тут тоже. Пока полёт нормальный.

Я подозреваю, что там что-то прошилось, что раньше было с ошибкой. Стирания флеша не помогали.
 

nikolz

Well-known member
как я понял, проблема возникает при записи прошивки новой SDK поверх 0.9.
При этом, если пишем с помощью ESPflasher,
то в качестве источника надо указать INTERNAL://DEFAULT
и адрес 0x3FC000.
 
Сверху Снизу