Mijn vraag:
Ik heb recentelijk enkele ESP8266's en een ESP32 gekocht. Hiermee heb ik wat binnenklimaat-gerelateerde projectjes op het oog, waarover ik hier niet verder zal uitweiden.
Ik probeer te begrijpen hoe het werkt met programmeren, firmware en (flash)geheugen. Ik ben bang dat ik de definities wat door elkaar haal en de essentie niet helemaal doorheb.
Misschien dat iemand mij een en ander kan uitleggen zonder al te diep op de materie in te gaan.
Normaliter maak ik mijn kleine applicaties in VB.NET (EXE of DLL) voor gebruik onder Windows. Tot zover mijn kennisniveau...
Relevante software en hardware die ik gebruik / ga gebruiken:
NodeMCU ESP8266 ESP-12F
Arduino Uno
USB-SERIAL programmer
Arduino IDE
Microsoft Visual Studio / Microsoft Visual Code
Wat ik al gevonden of geprobeerd heb:
Als ik het goed heb dan creëer je je programma in een IDE (ofwel Integrated Development Environment). Dit gooi je door een Compiler en vervolgens kopieer, of flash je dit via een Programmer naar een stukje ROM op de chip.
Maar wat gebeurd hier nu eigenlijk? Is dit stukje programma in aanvulling op een, op de chip aanwezige software? Of komt dit in de plaats van? En bij het flashen van nieuwe firmware, wordt de software dan in zijn geheel overschreven, of is het zelf gecreëerde stukje software in feite ook firmware?
Ik vraag dit omdat ik gelezen heb dat het raadzaam is om qua programmeren een event-driven stijl te gebruiken, waarbij het gebruik van delays uit den boze is omdat de WatchDog dan ingrijpt door een time-out te geven. Ook wordt gesuggereerd dat "jouw" software niet het enige is dat op de chip draait, omdat er immers ook nog o.a. WiFi-functionaliteit op zit.
Eerder was ik in de veronderstelling dat de software allesomvattend moest zijn en dat mede middels toevoegen van bibliotheken de functionaliteit van de gehele chip en randapparatuur kon worden benut. Schijnbaar een misvatting.
Wie kan mij op het juiste spoor zetten?
Ik heb recentelijk enkele ESP8266's en een ESP32 gekocht. Hiermee heb ik wat binnenklimaat-gerelateerde projectjes op het oog, waarover ik hier niet verder zal uitweiden.
Ik probeer te begrijpen hoe het werkt met programmeren, firmware en (flash)geheugen. Ik ben bang dat ik de definities wat door elkaar haal en de essentie niet helemaal doorheb.
Misschien dat iemand mij een en ander kan uitleggen zonder al te diep op de materie in te gaan.
Normaliter maak ik mijn kleine applicaties in VB.NET (EXE of DLL) voor gebruik onder Windows. Tot zover mijn kennisniveau...
Relevante software en hardware die ik gebruik / ga gebruiken:
NodeMCU ESP8266 ESP-12F
Arduino Uno
USB-SERIAL programmer
Arduino IDE
Microsoft Visual Studio / Microsoft Visual Code
Wat ik al gevonden of geprobeerd heb:
Als ik het goed heb dan creëer je je programma in een IDE (ofwel Integrated Development Environment). Dit gooi je door een Compiler en vervolgens kopieer, of flash je dit via een Programmer naar een stukje ROM op de chip.
Maar wat gebeurd hier nu eigenlijk? Is dit stukje programma in aanvulling op een, op de chip aanwezige software? Of komt dit in de plaats van? En bij het flashen van nieuwe firmware, wordt de software dan in zijn geheel overschreven, of is het zelf gecreëerde stukje software in feite ook firmware?
Ik vraag dit omdat ik gelezen heb dat het raadzaam is om qua programmeren een event-driven stijl te gebruiken, waarbij het gebruik van delays uit den boze is omdat de WatchDog dan ingrijpt door een time-out te geven. Ook wordt gesuggereerd dat "jouw" software niet het enige is dat op de chip draait, omdat er immers ook nog o.a. WiFi-functionaliteit op zit.
Eerder was ik in de veronderstelling dat de software allesomvattend moest zijn en dat mede middels toevoegen van bibliotheken de functionaliteit van de gehele chip en randapparatuur kon worden benut. Schijnbaar een misvatting.
Wie kan mij op het juiste spoor zetten?