-->
Page 1 of 1

Flashing the ESP8266: term definitions

PostPosted: Sat Jan 13, 2018 12:52 am
by Renier Delport
Good day all

I might be nitpicking, but I'm in search of some correct terminology/definitions when referring to flashing the ESP8266 chip. Hope you can help.

1) Flashing
2) Firmware

This is how I see it. Please correct me if I'm wrong.
1) The process of uploading software to the chip's flash memory. This is irrespective what software is uploaded. Old software is replaced completely by the new.
2) The software. Any permanent software that is currently in the chip's flash memory (e.g. AT command set firmware, LUA interpreter, Arduino/C interpreter).

Things I'm also not sure about is:

When you for example flashed an Arduino or LUA piece of programming, is the 'sketch' together with the interpreter also referred to as the firmware? Can the interpreter be compared to a little "operating system"?

Is the word 'programming' suitable when, for example, referring to developing a custom sketch to be uploaded? I.e. when referring to programming the ESP8266, what exactly does it mean?

Is the word 'software' appropriate when referring to firmware?

Thank you

Re: Flashing the ESP8266: term definitions

PostPosted: Sat Jan 13, 2018 4:26 am
by schufti
I would say that "hardware", "firmware" and "software" are terms from the early days of computing.
firmware: program that is firmly part of the hardware, from the view of the user
software: program that can be loaded by the user (utilizing the firmware on the hardware) for the actual task.

operating system: can be implemented as firmware: e,g, TRS80, C64, Atari ST (yes, even the C64 basic is some kind of "operating system") or software: CP/M machines, IBM-PC (different versions of CP/M or MS-DOS can be loaded via the firmware (BIOS, bootloder) from floppy disk).

With the dawn of PC system architecture, firmware commonly refers to µC systems where it is the only software part, on computers they use bios (allthough it is still firmware).

just as I understand it ;)

Re: Flashing the ESP8266: term definitions

PostPosted: Sat Jan 13, 2018 5:59 am
by btidey
In the case of LUA the firmware is the interpreter and a library of built in functions and you then have scripts which you load and are executed by the interpeter to do what you want.

In the case of Arduino / c++ this is a compiled solution. There is no interpreter. The development program (IDE) takes your sketch and compiles it, includes any library functions and produces a complete standalone piece of firmware in the form of a binary file. This can be uploaded to the device and completely replaces any previous firmware.

In general, interpreters give flexibility in changing the functionality by adjusting the script used, whereas compilers will produce faster code.

Re: Flashing the ESP8266: term definitions

PostPosted: Mon Jan 15, 2018 1:02 am
by Renier Delport
I haven't worked with LUA yet. Each time you upload a new LUA script, is only the script replaced or is the entire LUA interpreter together with the script replaced?