Здравствуйте форумчане. Пользуюсь вот такой отладочной платой: ESP32-WROOM-32 dev kit 1 По даташиту указано что в ней 520 килобайт оперативной памяти. Но как я не ковыряю ее, пишет что доступно только 320 килобайт. Думал может плата у меня глючная, проверил остальные 4 платы. Тоже самое. Глянул на Ютубе видосы с ее тестами, в момент компиляции также значится что всего доступно 327680 байт.
Использую данную плату через Arduino IDE последней версии.
Есть конечно подозрения в том что "хитрые" китайцы перед заливкой скетча в плату закидывают в оперативку/флеш "ядро" ардуины, и оно там сидит и интерпретирует каждую команду Ардуино и ретранслирует ее в команды esp32.....по другому пропажу 200 килобайт оперативной памяти объяснить не могу. Версия из разряда "больной" фантазии конечно, но может кто сталкивался с подобным или знает в чем дело.
Использую данную плату через Arduino IDE последней версии.
Есть конечно подозрения в том что "хитрые" китайцы перед заливкой скетча в плату закидывают в оперативку/флеш "ядро" ардуины
Не хитрые китайцы, а вы сами. И не только ядро ардуино, но и сетевой стек, стек WiFi и т.д. Вы же не под голый МК пишете, а уже с фрэймворком, конечно же он сразу отжирает что-то себе. "В ней есть" и "доступно" - разные вещи. Сколько осталось памяти вам пишет.
Спасибо за ответ. Просто я понимал что доступно 520 килобайт для пользовательских приложений, как то что я их могу использовать). Я использую данную плату как VT100 графический VGA-терминал 800х600. И памяти не хватает. Не знаете есть ли возможность как то разблокировать эти недостающие 200 килобайт оперативной памяти, учитывая что я WiFi и прочее использовать не планирую.
Недавно глянул ролик где через родное IDE данной платы закинули в нее скетч с миганием светодиода(на презентации платы) и отправки данных в сериал порт, так там судя по цифрам также откушало эти 200 килобайт. Это меня если честно пугает, учитывая мои познания в данной области).
Не, 520Кб всего в контроллере, а не свободных. Там как минимум 3 разных региона памяти. И один из, на 192Кб занят по разные нужды видимо. Варианта 2, оба не простые: 1. Писать на SDK, без ардуино. Там всё-равно что-о еще под кеш уходит обязательно. 2. Поставить внешнюю SPI SRAM. До 4 Мб доставить можно. Потребуется влезть в опции сборки ESP SDK, чтобы МК "увидел" внешнюю RAM.
1). На такое ума не хватит в ближайшее время точно. Я долгое время как начинающий С++ программист). Пишу в основном игры браузерные и попутно друзьям сайты клепаю). 2). Такой вариант пробовал. Но в моем случае он не подходит, так как конфликт с ФЛЕШем родным идет и нет доступа по DMA полноценного, у меня в памяти то как раз и висит буфер экрана 800х600 в 8 цветов или 1 байт на 2 пикселя. Думал если как то разблокировать получится "недостающую" память, то можно будет и еще что-то закидывать(из графики) в оперативную память и делать уже что-то типа мини игр детских и прочего.
А так планировал заменить двумя ESP32 платами текущую свою сборку из 2хDUE мини ПК, которая используется для обучения азам программирования на BASIC детишек.
(800*600)/2 ~ 235 Кб. Там всё-равно нет цельного такого региона памяти, кроме как во внешней RAM. Без внешней никак не выделить столько "одним куском" всё-равно. Вот из datasheet официальногоЖ
Один вариант - всё-таки внешняя память. Там конфликта быть не должно никакого, но использовать её вроде как динамическую только, выделяя с помощью heap_caps_malloc(MALLOC_CAP_SPIRAM).
Спасибо большое еще раз! Я вот не подумав заказал 13 комплектов по 2 штуки уже того модуля о котором спросил+ 5 на руках). Все торопился побыстрее сделать все). Как говорится поспешишь...насмешишь). Скорее всего придется уменьшить разрешение до 640х480 (или 400х300), и вроде разрешение "стандартное" в прошлом, ну и памяти меньше кушать будет...Костыль конечно выходит, но лучше чем ничего.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения