Multicore?

Posted on
  • Hello
    Is it possible to attach both corest to Espruino software? ESP32 has 2 cores. Core 0 with Task1 and Core 1 with Task2.
    Perhaps is possible to attach another Core via C++

    E.compiledC("xTaskCreatePinnedToCore(
                        Task2code,   /* Task function. */
                        "Task2",     /* name of task. */
                        10000,       /* Stack size of task */
                        NULL,        /* parameter of the task */
                        1,           /* priority of the task */
                        &Task2,      /* Task handle to keep track of created task */
                        1);");
    

    Thanks!

  • ESP-IDF itself creates different tasks for wifi, bluetooth etc.
    Espruino port for ESP32 uses 2 tasks, one for Espruino itself and 2nd for uart console, see targets/esp32/main.c
    There has been a first question/idea from @Wilberforce to move some of those tasks to 2nd core.
    Don't know if somebody has experience with that.

    Splitting Espruino itself into several tasks would be (IMHO/AFAIK) a complex rebuild.
    Running 2 Espruino tasks, one on each core, hmm, memory is too small for that.
    One could think about supporting SPI, I2C seperately, but again, this would be a complex rebuild.

    Some months ago, I asked in ESP32 forum for experience using both cores.
    At the end, feedback was more or less a theoretical description, how powerful it would be for example for graphics. No feedback about experiences in own projects.
    Looks like 2 cores are not (yet?) used in real applications.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Multicore?

Posted by Avatar for markopraakli @markopraakli

Actions