Size: a a a

ESP8266 & ESP32 [RU]

2021 September 07

В

Васька in ESP8266 & ESP32 [RU]
и все. ушло в ребуты
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
1000 - мало
источник

В

Васька in ESP8266 & ESP32 [RU]
на вот такое?
void ThreadA(void *pvParameters)
{
 while (1)
 {
   if (iii != endl)
   {
     iii += (iii > endl ? -1 : 1);
     ledcWrite(IChanel, iii);
     delay(10);
   }
   else
     delay(100);
 }
}
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
размер стека увеличь
источник

В

Васька in ESP8266 & ESP32 [RU]
убрал прерывание - у все заработало
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
ошибка какая?
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
у меня ребуталось пока стек до 3.5к не увеличил у таск
источник

В

Васька in ESP8266 & ESP32 [RU]
да нет у меня jtag или через что там отладку включить можн :(
источник

В

Васька in ESP8266 & ESP32 [RU]
я в вообще сейчас по воздуху обновляю
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
ну а в консоли что?
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
в com-порт по умолчанию сыпет ошибки. Без этого можно долго гадать
источник

В

Васька in ESP8266 & ESP32 [RU]
ок, сейчас попробую 3500 стек, если не оно, буду пробовать консоль подключать
источник

В

Васька in ESP8266 & ESP32 [RU]
сработало. но какого??? там же нефига особо нет
источник

В

Васька in ESP8266 & ESP32 [RU]
с такими стеками, памяти не напасешься :(
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
Это в sdkconfig включается печать стека при креше. Он печатается в юарт, при этом его надо ловить консолью от еспресиф, тогда он расшифруется и будет видно стек каждой таски и ещё кучу отладочной инфы
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
хз, я поделился секретным знанием, которое сам приобрёл опытным путём, а не в чатике :) сорцы фриртоса от эспрессиф мне лень смотреть что там они сделали
источник

В

Васька in ESP8266 & ESP32 [RU]
да, в любом случае, спасибо!
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
:)
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
In a slight variation from the standard FreeRTOS convention, StackType_t on esp-idf is uint8_t, so the stack size is specified in bytes not words. So passing 1024 for usStackDepth yields a 1KB stack not a 4KB stack. I'll make sure we document this somewhere.

As far as I know (I'm sure Jeroen can explain this properly if I'm wrong), the main reason that even simple tasks need some stack space is that exception handlers (ie interrupt handlers) use the running task's stack, both for saving context and for executing the ISR. It may be possible to rework this in the future so that all exception handlers share a stack region, however as exceptions can be configured in various ways (multiple levels, preemption, etc.) this may be quite complex to get right.
источник

AP

Anton Petrusevich in ESP8266 & ESP32 [RU]
лёгкий гуглинг даёт некотрое подобие ответа
источник