ㅤ
ну типо есть куча, а есть стек. Это вроде разные вещи? Обе находится в 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 делал специально утечку, на какой- то момент он перестает уменьшать свободную память, и контроллер не падает
ㅤ
Блять я не понимаю какой размер стека ты хочешь вывести и зачем?
ㅤ
Возьми два регистра начала и конца стека и вычти их друг из друга
ㅤ
Точнее регистр начала. Конец известен
ㅤ
Я не врубаюсь какую цель ты преследуешь
ㅤ
"Контроллеру" ваще похую что ты делаешь. Ну почти.