Здравствуйте форумчане. Пользуюсь вот такой отладочной платой: 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), и вроде разрешение "стандартное" в прошлом, ну и памяти меньше кушать будет...Костыль конечно выходит, но лучше чем ничего.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения