• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Проблема со свежим SDK

x8973

Member
Всем доброго времени суток.
Мигрировал я на Дебиан и решил сделать себе нормальную среду разработки под ESP8266. Взял самый свежий SDK, версии 3.0.1. Так вот мои старые исходники, работавшие на esp_open_sdk, теперь работать отказываются.
Проект собирается, но esptool теперь определяет размер флешки моего модуля как 1МБ, хотя раньше писал 8. Сама прошивка останавливает выполнение где-то в бутлоадере. Делаю defpart следующим образом:
[inline]
$(XTENSABIN)/esptool.py --port $(PORT) write_flash 0x0FE000 $(BASESDK)/bin/blank.bin 0x0FD000 $(BASESDK)/bin/esp_init_data_default_v05.bin
[/inline]
Саму прошивку заливаю так:
[inline]
$(XTENSABIN)/esptool.py --port $(PORT) write_flash 0 $(BINDIR)/$(TARGET)-0x00000.bin 0x10000 $(BINDIR)/$(TARGET)-0x10000.bin
[/inline]

Результат вывода в терминал на скорости 74880:
Код:
ets Jan  8 2013,rst cause:1, boot mode:(3,7)


load 0x3ffe8000, len 2436, room 16

tail 4
chksum 0x83
load 0x3ffe8990, len 7532, room 4

tail 8
chksum 0xb3
load 0x40100000, len 27880, room 0

tail 8
chksum 0xaf
csum 0xaf

rf cal sector: 251
freq trace enable 1
rf[112]P�jP��n`X��ׯX�������*P�l *�,�t��tp�h�m�k��Pk�%r�m�@n���@�v���B�Pk���|���
Что я не так делаю?
 

x8973

Member
Продолжаю ковыряния. Очистил флешку через erase_flash. Лог загрузки:
Код:
ets Jan  8 2013,rst cause:1, boot mode:(3,7)

ets_main.c
Зашил разделы согласно ESP8266 SDK getting started guide следующим образом:

0x0FB000 blank.bin
0x0FC000 esp_init_data_default_v08.bin
0x0FE000 blank.bin

Лог загрузки не изменился.
Зашил прикладную программу следующим образом:

0x00000 eagle.flash.bin
0x10000 eagle.irom0text.bin

Получил лог загрузки такой же, как до стирания флешки.
 

x8973

Member
Похоже, никакой проблемы не было. Убрал из начала user_main() настройку битрейта УАРТа на 115200 и получил рабочий лог на 74880. Видимо, он и раньше запускался, просто я, видя в терминале кракозябры, не лез смотреть список доступных сетей. Но в любом случае, это полезный опыт.
Остается вопрос: как теперь перенастроить УАРТ на 115200? Раньше я делал это через вызов
[inline]uart_div_modify(0, UART_CLK_FREQ / 115200);[/inline]. Теперь, похоже, этот способ не работает.
 

x8973

Member
Как перенастроить скорость в Дебиане, я и так знаю) Впрочем, мне это не нужно, ибо я специально для работы с ЕСП подобие терминала написал с управлением линиями RTS/DTR и заданием произвольного битрейта, чего minicom не умеет)
 

pvvx

Активный участник сообщества
uart.h:
void uart_init(UartBautRate uart0_br, UartBautRate uart1_br);

ESP8266_NONOS_SDK-master\examples\esp_mqtt_proj\user\user_main.c:
uart_init(BIT_RATE_115200, BIT_RATE_115200);
 

x8973

Member
Понял, спасибо.
Интересно, почему теперь тот способ, которым я пользовался, перестал работать?
 

pvvx

Активный участник сообщества
Ранее в eagle.....ld было:
[inline]PROVIDE (uart_div_modify = 0x400039d8);[/inline]
Теперь не стало - вынули и выкинули, а в user_interface.h оставили.

Espressif - что с них взять?
Bug Bounty у них не работает - сплошной обман...
 

pvvx

Активный участник сообщества
SDK, Arduino и IDF кишат ошибками, алгоритмическими, да в самих чипах. Можно было бы озолотиться, но они сразу закрыли Bug Bounty | Espressif Systems
 

x8973

Member
Вот это разве не 115200 по вашему коду?
Явно нет. Я пытался грузиться со скоростью терминала 115200 - там вообще ничего осмысленного не вываливалось.
Не знаю, я что-то сходства не вижу)
 

pvvx

Активный участник сообщества
Не знаю, я что-то сходства не вижу)
Это описание вызова:
Раньше я делал это через вызов
[inline]uart_div_modify(0, UART_CLK_FREQ / 115200);[/inline]. Теперь, похоже, этот способ не работает.
Причина по чему не работает указана - ошибки в SDK.
Вырезали указание линковщику на адрес функции в ROM, но описание функции оставили.
В Espressif наняты безграмотные программеры, а нанять нормальных менеджмент жидится...
Ждут когда им бесплатно всё сделают и исправят сторонние пользователи.
 

pvvx

Активный участник сообщества
В современном мире уже дано образовался такой метод:
Находите чужую идею. Столбите её громкой объявой с названием. Ставите свой (с) на неё и начинаете пиарить. Кидаете наброски кода с любыми ошибками и бездарное описание – чем больше ошибок – тем больше пиара в сми. Далее, по лицензии GNU все пользователи и желающие использовать идею обязаны написать вам рабочий код и восхвалить пиарщика.
 

pvvx

Активный участник сообщества
Ну а т.к. чипы Espressif уже безнадежно устарели и требуют более активный пиар, то задача Espressif в текущей ситуации – наплодить побольше новых ошибок, чтобы создать больший шум в интернете. Чтобы поиск давал чаще выпадение ESP8266, указывая его липовую популярность.

Покупая и используя ESP чипы вы соглашаетесь с поддержкой данной концепции и начинаете работать на Espressif.

Это и есть все новшества в каждом новом SDK от Espressif.
 
Сверху Снизу