GithubHelp home page GithubHelp logo

Comments (9)

andrea-dintino avatar andrea-dintino commented on June 3, 2024

Hi there,
I guess that your question is, if we have made a Cortex-M build of Zenroom?
Yes we did, and we believe that Zenroom runs fine on a Cortex-M4 with 1MB of RAM. Your board seems to have 32KB of RAM, and there is no chance we can fit Zenroom in that, but if you're open to use different hardware, we may try to look into it.

More (limited and outdated) info about Cortex-M builds of Zenroom: https://dev.zenroom.org/#/pages/cortex

from zenroom.

vongomben avatar vongomben commented on June 3, 2024

thanks!
Unfortunately at the moment i cannot change hardware.
tgansk for the nice product thought!

from zenroom.

jaromil avatar jaromil commented on June 3, 2024

Good luck, hope you find it still useful to produce vectors, that's what we used Zenroom for in https://github.com/dyne/pangolin before going for the minimalist hardware implementation we first used it to prototype and then went coding it in pure C using wolfSSL as crypto backend.

Likewise I can imagine in some future after the final LTS release of Zenroom we'll have a 'light' version which interprets basic zencode scenarios without the Lua interpreter, but an ad-hoc one. This will make it possible to have it on smaller controllers.

from zenroom.

vongomben avatar vongomben commented on June 3, 2024

Hi @jaromil and @andrea-dintino .
Reopening this to check whether you seem feasable to port this on a different chip such as ESP32, which is based on Xtensa [1] and has just 512Kb of RAM, but comes with built in possibility to make it expandable, like in this camera or in this dev kit.

Thansk for the feedback in advance.

[1]Xtensa®single-/dual-core32-bitLX6microprocessor(s), upto600MIPS(200MIPSforESP32-S0WD/ESP32-U4WDH, 400 MIPS for ESP32-D2WD)

from zenroom.

adam-burns avatar adam-burns commented on June 3, 2024

From the homepage

Tiny library or executable (1MB), low memory usage (600KB~2MB). No external dependencies.

This platform seems too tight on resources for the current version without creative work or work-arounds.

Is that paged RAM or some similar mechanism?

from zenroom.

andrea-dintino avatar andrea-dintino commented on June 3, 2024

Hi @vongomben, with 512KB of RAM you can do some cryptography in Zenroom. We're not familiar with ESP32 architecture but I've seen that the GCC toolchain supports it, so it should be possible to build Zenroom for this chip. In general, we don't have an out of the box solution, the open points are:

  • What real-time OS would you use, and how much RAM will it need?
  • What cryptography/features do you need?

About that last point, if you know already what you need, and that is already implemented, we can point out how you can make tests with a Linux build of Zenroom and real data, to see how much RAM is needed, which is something you can crack pretty quickly.

With those two questions answered, we may be able to give you more info.

from zenroom.

adam-burns avatar adam-burns commented on June 3, 2024

To answer my own question

Is that paged RAM or some similar mechanism?

It appears that external RAM on the ESP32 is memory mapped, not paged, but still comes with use restrictions and performance hits. Application use of external memory requires heap_caps_malloc() under the ESP-IDF.

Something to take into account along side the RTOS footprint and required functionality.

from zenroom.

vongomben avatar vongomben commented on June 3, 2024

Thanks @adam-burns for answering your own question. I was actually not able to aswer you.
coming to @andrea-dintino:

What real-time OS would you use, and how much RAM will it need?
What cryptography/features do you need?

I'm still studying the case studies and scenarios in which I could use such a solution.
We are developing an industrial remote monitoring solution and looking towards blockchain technologies to grant an end-to-end encryption.

What I need, rather than a realtime OS is an arduino compatible library for ESP32 to let my device zenroom compliant.

ESP32 will become (or possibly already is) the go to hardware platform for so many different products, and this would help little devices to be more transparent.

from zenroom.

andrea-dintino avatar andrea-dintino commented on June 3, 2024

@vongomben I see that we actually have some build support for ESP32, see here:

https://github.com/DECODEproject/Zenroom/blob/master/Makefile

I remember that this was tried at some point last year, but since we didn't have a use case, we didn't go much further than "experimental".

I'm still studying the case studies and scenarios in which I could use such a solution.
We are developing an industrial remote monitoring solution and looking towards blockchain technologies to grant an end-to-end encryption.

What I need, rather than a realtime OS is an arduino compatible library for ESP32 to let my device zenroom compliant.

Can you be more specific about this? What do you mean with "arduino compatible"?

ESP32 will become (or possibly already is) the go to hardware platform for so many different products, and this would help little devices to be more transparent.

Yes, we understand this concept well and indeed we've been looking at embedded with interest. We have connections with Arduino, so we may try and get their help if needed.

At this point, I'd say we could try the following:

  • Figure out exactly where Zenroom should run, in terms of HW and SW (what board and what RTOS around it).
  • Figure out what cryptography you need: maybe it would help if I give you a demo of Zenroom so you can get started.

Please let me know :-)

from zenroom.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.