Anton
гм. у меня линукс основным десктопом с 97г
Anton
вот на 486дх66 было действительно больно слушать мп3 через мпг123
Anton
Ученые придумали способ худеть не вставая со стула 😉👍 При нагрузке на камбаловидную мышцу, расположенную на задней стороне голени, сахар в крови снижается гораздо эффективнее, чем при нагрузке на остальные все остальные мышцы тела вместе взятые.
Max
Добрый вечер. esp32-s3 + 16 метров spi psram на борту. platformio. в конфигурации для сборки указал: " ... "extra_flags": [ "-DARDUINO_ESP32S3_DEV", "-DBOARD_HAS_PSRAM", "-DCONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY", "-DARDUINO_USB_MODE=0", "-DARDUINO_USB_CDC_ON_BOOT=0" ], ... " Если цель - работа с массивом в будущем, то достаточно выделить память во внешней флешке используя метод и флаги heap_caps_malloc(size, MALLOC_CAP_8BIT | MALLOC_CAP_SPIRAM) : проект линкуется и собирается без проблем, работа с массивом успешна, тестировал. Сейчас понадобилось во время запуска прошивки на этапе инициализации сохранить несколько картинок для вывода на дисплей, что естественно в виде массива не уместятся во внутренней ram esp-шки, однако инициализация массива (как указано в документации + обсуждалось на форумах espressif) с тегом EXT_RAM_ATTR (пример: "static lv_color_t buf1 [buffSize] EXT_RAM_ATTR") не позволят собраться проекту, ошибка переполнения памяти: region `dram0_0_seg' overflowed by 390560 bytes. По идее все флаги для сборки предусмотрены. Работа с spi psram через heap_caps_malloc успешна. Что можно сделать? Подскажите пожалуйста
Добрый вечер. esp32-s3 + 16 метров spi psram на борту. platformio. в конфигурации для сборки указал: " ... "extra_flags": [ "-DARDUINO_ESP32S3_DEV", "-DBOARD_HAS_PSRAM", "-DCONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY", "-DARDUINO_USB_MODE=0", "-DARDUINO_USB_CDC_ON_BOOT=0" ], ... " Если цель - работа с массивом в будущем, то достаточно выделить память во внешней флешке используя метод и флаги heap_caps_malloc(size, MALLOC_CAP_8BIT | MALLOC_CAP_SPIRAM) : проект линкуется и собирается без проблем, работа с массивом успешна, тестировал. Сейчас понадобилось во время запуска прошивки на этапе инициализации сохранить несколько картинок для вывода на дисплей, что естественно в виде массива не уместятся во внутренней ram esp-шки, однако инициализация массива (как указано в документации + обсуждалось на форумах espressif) с тегом EXT_RAM_ATTR (пример: "static lv_color_t buf1 [buffSize] EXT_RAM_ATTR") не позволят собраться проекту, ошибка переполнения памяти: region `dram0_0_seg' overflowed by 390560 bytes. По идее все флаги для сборки предусмотрены. Работа с spi psram через heap_caps_malloc успешна. Что можно сделать? Подскажите пожалуйста
А в menuconfig включил соответствующий пункт?
Max
это ардуино, не esp-idf, однако вот, да: "-DBOARD_HAS_PSRAM", "-DCONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY",
это ардуино, не esp-idf, однако вот, да: "-DBOARD_HAS_PSRAM", "-DCONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY",
Ну тогда проверь как нибудь что дефайн EXT_RAM_ATTR выставился корректно, а не пустое место
Max
уже проверил
Max
ладно, видимо пора переходить на idf
Max
но если вдруг у кого-либо был подобный опыт с arduino, было бы здорово
Ну дык ардуина просто надстройка над идф же
Max
Ну дык ардуина просто надстройка над идф же
так и есть, однако к menuconfig не подключиться
Max
вдруг всё же флаг не работает
Ты же сказал что проверил дефайн
Вся задача этого флага правильно определить дефайн EXT_RAM_ATTR
Если флаг не ставишь - дефайн EXT_RAM_ATTR - будет пустой
Max
он не пустой
Бля ты в иде что-ли проверил?)
Я думал ты фактически проверил
Max
да, в ide. фактически - без понятия как это делать
Max
если есть возможность рассказать как, то выполню
Откуда ИДЕ знает какие флаги ты передаешь компилятору, чтоб грамотно показать какое положение он занимает
Max
могу быть уверен в том, что я выставил флаг и ide это видит. что он передаёт - конечно не знаю. я десктоп разработчик, с таким в embedded сталкиваюсь впервые, посему и уточняю
Max
знал бы, думаю, что справился и не отвлекал бы никого, однако просидел на форумах и в документации с весь вечер безрезультатно. подскажешь, как можно фактически проверить передачу флага, пожалуйста?
Артем
Я сделял
Артем
могу быть уверен в том, что я выставил флаг и ide это видит. что он передаёт - конечно не знаю. я десктоп разработчик, с таким в embedded сталкиваюсь впервые, посему и уточняю
Напиши что нибудь типа for (int i EXT_RAM_ATTR = 0; i++; i < 1); Если EXT_RAM_ATTR - пустой - то он скомпилирует этот код , если в EXT_RAM_ATTR будет заполнен - то он пошлет тебя нахуй что неверный фор у тебя
Max
вероятно есть иной способ, или это и есть звоночек?
Max
не забыл, на форумах пичсали
Max
sdkconfig.h ДО esp_attr
Хотя он инклюдится внутри вроде
Max
писали наоборот
Max
попробую, не думал
Не, там был в каком-то idf был баг, что мол sdkconfig не иклюдился внутри esp_attr.h
Хрен знает какая esp-idf версия в ардуине
Артем
это ардуино, не esp-idf, однако вот, да: "-DBOARD_HAS_PSRAM", "-DCONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY",
У тебя два пути: 1. Просить помощи на форумах ардуино 2. Перейти на esp-idf
Артем
Пердуина годится что бы лампочками мигать, что-то серьезное на ней не делаешь, поскольку это абстракция над абстракцией.
У тебя два пути: 1. Просить помощи на форумах ардуино 2. Перейти на esp-idf
Да ардуина обязана делать тоже самое что и esp-idf
Потому что это просто тупо надстройка
Артем
Есть отличный официальный фреймворк который позволяет делать очень многое. Зачем использовать кастрата?
Max
однако эта надстройка и не позволяет видимо собрать корректно проект, что бы непосредственно с внешней рам-кой работать
Это надстройка
Ты не ограничен работой с esp-idf api из него
В esp-idf расширении кстати есть кнопка, присрать ардуину
Он скачивает ардуину как компонент, и можешь юзать пожалуйста
Артем
в моих проектах нет зависимостей от каких либо кнопок в IDE)
Артем
а о какой кнопке идет речь?
Max
причём тут ide, это лишь инструмент
🤦‍♂️
Max
это формально, что есть возможность скачать arduino как библиотеку
Когда в esp-idf тыкаешь создать проект, там есть галочка - скачать ардуину и ее в idf юзаешь как компонент.
Я к тому что кто тебе сказал что arduino-esp32 это вдруг "кастрат"?
Там между прочим много что отличается от esp-idf. В частности работа с SPI девайсами там своя, а не idf-ная
Так. через 30 минут Луну-25 запускают. Как думаете - ебанет как старшип?
эмм esp-idf это фреймворк, SDK, какие нахрен кнопки?
Я сказал в расширении. Имелось ввиду расширение для вскода
Надо каждую букву что-ли пояснять?
Max
забей, надо же показать, что знаешь всё в этом мире
Так а вот по поводу псрам. Он же говорит что у тебя секция не влезает. Погоди, а откуда он вообще знает размер внешней псрам флешки чтоб подсчитать ее размер?
Я че-то забыл уже
Max
нене
Max
у меня она не может не влезть
Max
16 метров
Нет, откуда компилятор знает что она 16 метров)
Max
картинок на 1 мб
Прежде чем высрать ошибку)
Может он думает что она 0