ну типо есть куча, а есть стек. Это вроде разные вещи? Обе находится в RAM
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/memory-types.html А так вот читай
Alexsandr
menuconfig смотри. Там задается размер стека для main. Дальше для тасков ты сам задаешь размер стека в xtaskcreate
Это я нашел. Но вот например мне нужно знать адрес начала и конец стека. Есть такая возможность? или это я так понимаю только в дебаг режиме можно посмотреть?
Алексей
Конец стека в регистре сидит.
Denis
кстати инструкции push и pop у extensa отсутствут
Alexsandr
А если не секрет для чего тебе это надо?
просто изучаю память, пытаюсь понять как она работает, хочу сделать stack overflow, посмотреть что происходит с конроллером в этом случае
Как и везде впрочем
Alexsandr
Исключение выбрасывается и он перезагружается
это я догодываюсь) но знать или прочитать это одно, а сделать самому намного прикольнее
Создай таску с малым размером стека и вызови функцию в которой будет скажем char x(8192)
Получишь его)
Блин точно нужна группа извращенец с есп… Вас уже много)
кстати инструкции push и pop у extensa отсутствут
А как там кстати? Я не читал инструкции хтенса
Alexsandr
ну а как иначе) чтобы что то изучить внутри нужно это сломать)
Хотел сказать стек сидит в регистре esp…
Denis
какойто механизм называется MemoryWindow не разбирался пока
Но забыл что это не х86)
Denis
был удивлён отсутсвием сексуальной команды pop
Alexsandr
ну вот в ассемблере, потом через отладчик edb сидишь смотришь на регистры как они освобождаются, заполняются.
А кто нибудь пробовал вообще писать на асме на есп?
Denis
вставки изучал
Евгений
Alexsandr
я слышал что нет документации на это в ESP
А кто то вообще еще на асме пишет?
Ну хорошо. Просто на сях на регистрах кто нибудь писал что нибудь для есп?
Евгений
Я точно нет.
Если под авр/стм и тд и тп все это пишется. А вот есп32 без есп-идф - не видел ниразу
А есп-идф без фриртоса не бывает
Вифи это например закрытые блобы
Denis
закрытые то да но их реверсят потихоньку
Alexsandr
Arduino тоже на фриртос, только об никому не говорите, народ распугаете
Arduino тоже на фриртос, только об никому не говорите, народ распугаете
Да все в курсе что arduino для есп32 на базе esp-idf. Ибо это их проект
Denis
чистый асм
Alexsandr
А через debug JTAG смотреть стек можно?
Alexsandr
я чет забыл, у меня плата с отладчиком есть, но я не помню что через нее можно отобразить
ну а как иначе) чтобы что то изучить внутри нужно это сломать)
С другой стороны это правильно. А то вон питонисты не знают как оперативная память живет в системе
Я бы питонистов принудительно отправлял на чтение базы
Denis
А через debug JTAG смотреть стек можно?
специальных регисров для работы со стэком нет назначаются произвольно походу
Alexsandr
чистый асм
Это ты написал? И как ты это загружаешь?
Denis
это из комлекта ESP-IDF
Denis
собирается всегда когда собирается любая прошивка
Alexsandr
это из комлекта ESP-IDF
а судя это вызывается как идет несанкционированный доступ к памяти
Denis
ага
Это ты написал? И как ты это загружаешь?
Конечно он сам писал. Денис программист espressif. Пишет код для них. А что?
это из комлекта ESP-IDF
Не раскрывайся!
Alexsandr
Я бы питонистов принудительно отправлял на чтение базы
Ну им это не нужно, это нужно кто контроллерами занимается, по сути как древние компьютеры
Ну им это не нужно, это нужно кто контроллерами занимается, по сути как древние компьютеры
Это нужно всем блять. Без исключения. Чтоб потом не рожали проекты по пару мегабайт для мигания светодиодом.
Потому что это дибилы в прямом смысле
Alexsandr
Откуда такая агрессия, ты часто встречаешь людей которые пишут что то для контроллеров на python-е?
Откуда такая агрессия, ты часто встречаешь людей которые пишут что то для контроллеров на python-е?
У меня агрессия к программистам вообще всех языков высокого уровня, потому что они не знают базу
Alex
У меня агрессия к программистам вообще всех языков высокого уровня, потому что они не знают базу
У тебя, когда садишься есть, часто всплывают познания из области биологии, зоологии и органической химии?
Alex
А как же ты используешь продукты, если базы не знаешь? Нафига им в языках высокого уровня база?
Alexsandr
Да вон несколько страниц выше чел пишет на Go
Да пускай на здоровье, просто странно на это агрессировать)
А как же ты используешь продукты, если базы не знаешь? Нафига им в языках высокого уровня база?
Сравнение конечно интересное. Но нет, база нужна чтоб хотя бы понимать каким образом у них образуется память и не задавать тупых вопросов
Indr1x
Да пускай на здоровье, просто странно на это агрессировать)
Так они нет нет и приходят потом с тупыми вопросами. Вон тот чел с го, не смог даже документацию сам посмотреть.
Denis
Да пускай на здоровье, просто странно на это агрессировать)
Да пусть пишут на здоровье, лишь бы мозги не ебали
Я против гомосеков тоже ничего не имею
Alexsandr
мозги ебут тем кто это позволяет) можно просто не обращать внимание
Denis
страница 594 того докумета которвй я вам скинул
Denis
всётаки есть SP
Denis
чтоб понимать как работает
Как и везде
Плюс минус база одинаковая
Denis
https://kotyara12.ru/iot/esp32_memory/
Denis
здесь про стэк чтото встречалось
Alexsandr
стек по ходу так не выводишь в консоль, ни размер ни адреса. Или я где то недочитал. Только свободный Heap можно
Alexsandr
кстати когда я в heap делал специально утечку, на какой- то момент он перестает уменьшать свободную память, и контроллер не падает
Блять я не понимаю какой размер стека ты хочешь вывести и зачем?
Возьми два регистра начала и конца стека и вычти их друг из друга
Точнее регистр начала. Конец известен
Я не врубаюсь какую цель ты преследуешь
"Контроллеру" ваще похую что ты делаешь. Ну почти.