You are reading a single comment by @Kolban and its replies. Click here to read the full conversation.
  • I made my first pass at seeing what aplikatika has built. Looking at his git project, I see he is building on a Mac where I have windows. Ok ... not an issue. I built an Eclipse environment with the C Development Tools and the ESP (Xtensa) tool chain. The good news is that every last source file compiled cleanly!! YEAH!! ... However, when it came to linking the parts together, we failed with a "xtensa-lx106-elf/bin/ld.exe: build/myApp.out section '.irom0.text' will not fit in region `irom0_0_seg'" error. The ESP8266 has about 40k RAM and 512K of Flash. Two thoughts immediately strike me:

    1. How big is the compiled Espruino program? Will it fit in 512K of Flash?
    2. In ESP8266 programming, when one compiles a C source file, for each function one can specify which "section" it will be loaded from. Loading it from RAM causes the code to be loaded into RAM and run there ... while loading it from Flash causes the CPU to read the code slower from Flash. However, since Flash is much larger than RAM, we normally flag the code as running from Flash and take the performance hit. We normally flag this on a function by function basis. Since the Espruino code doesn't have these ESP8266 per-function attributes, I think everything is being flagged as to be loaded from RAM and that of course won't fit.

    Since aplikatika has solved this with his Mac makefile but that isn't working in my Windows makefile ... I am thinking there is something in that area.


Avatar for Kolban @Kolban started