Mongoose OS спортирован на ESP32

pvvx

Активный участник сообщества
Короче решил без сторонней помощи. Берем исходники и транслируем с моим SDK на RTL871x чипы...
Начал с V7 - впихнул в консоле, ка и написано.
Код:
/*
 * v7_console.c
 *
 *  Created on: 18 марта 2017 г.
 *      Author: PVV
 */

#include "section_config.h"
#include "hal_diag.h"
#include "FreeRTOS.h"

/* Include V7 API definitions */
#include "v7.h"

void fv7(int argc, char *argv[]) {
  const char *js_code = argc > 1 ? argv[1] : "";
  v7_val_t exec_result;

  /* Create V7 instance */
  struct v7 *v7 = v7_create();

  /* Execute a string given in a command line argument */
  v7_exec(v7, js_code, &exec_result);

  /* Destroy V7 instance */
  v7_destroy(v7);
}

MON_RAM_TAB_SECTION COMMAND_TABLE console_commands_v7[] = {
        {"V7", 0, fv7, ": v7 command"}
};
Работает:
Снимок1331.gif
RAM на модуле всё равно девать некуда... не забить и четверти...
 

Юрий Ботов

Moderator
Команда форума
Приветствую! Поддерживает ли "мой гусь" расширенную qspi sram на модулях esp32 wrover?
 

lsm

Разработчик Smart.js
Команда форума
Приветствую, Юрий!

Наш гусь, то бишь мангуст, работает поверх ESP-IDF не скрывая ее API. То есть не заменяет ESP-IDF, а расширяет. Мангуст - это библиотека с доп. функциями, а не RTOS ядро. Поэтому ответ - да, "поддерживает" все что есть в штатном SDK.
 

Юрий Ботов

Moderator
Команда форума
Я имел в виду будет ли он при наличии spi-psram самостоятельно использовать ее для размещения js объектов... или надо что то дотачивать напильником? Там ведь, в IDF даже специальный malloc для этой памяти есть...
 

lsm

Разработчик Smart.js
Команда форума
Я имел в виду будет ли он при наличии spi-psram самостоятельно использовать ее для размещения js объектов... или надо что то дотачивать напильником? Там ведь, в IDF даже специальный malloc для этой памяти есть...
Самостоятельно - не будет использоваться. Дотачивать!
 

sharikov

Active member
Самостоятельно - не будет использоваться. Дотачивать!
непонятно почему не будет использовать.
есть опция:
[fright]Initialize RAM, add it to the capability allocator and add memory to the pool of RAM that can be returned by malloc(). This allows any application to use the external RAM without having to rewrite the code to use heap_caps_malloc.[/fright]
Вы не используете malloc() ?
 
Сверху Снизу