ja sicher geht das, du kannst im Code und im Linkerscript eine externe Variable an einem bestimten Speicherplatz deklarieren und dann eine externe Datei mit binärdaten einfach einbinden, aber du musst die menschenlesbare html-Datei halt vorher umwandeln damit der Linker die Datei auch versteht. Dafür gibt es aber Werkzeuge im Netz. Ich habe so etwas vor Jahren mal im Praxissemester eingesetzt, da ging es um das Icon für die Taskleiste eines Service den ich programmiert hatte.
Da wurde das bmp mit in den compiler (nicht linker) von Borland Turbo Pascal eingebunden, indem als Pre-Compile Script ein Tool aufgerufen wurde, welches die BMP in einen compilefähiges Stringarray übersetzt hat und dann mit eincompiliert hat.
Leider habe ich keinen Zugriff mehr darauf udn mein Gedächtnis hat leider auch keine DEtails mehr darüber gespeichert, aber im Grunde würde ich dir vorschlagen eine kleine .exe zu bauen, welche per CMD mit Parametern gefüttert wird, welche deine html files einlesen und zu so etwas wie
uint8_t [tröflzig] main_html;
Strings umwandeln und dann als .c Datei speichern, welche du in deinem Code entsprechend als extern Variablen referenzierst und die generierten .c Files im Compiler mit einbindest.
Ich bin etwas verunsichert wie oder warum du einen ESP826 mit AVR Studio4 programmierst, aber falls du eine API für den WEbserver verwendest, bieten diese recht häufig die Option an ein "angepasstes" HTML file einzulesen, welches dann teilweise aus HTML und teilweise aus code besteht oder Platzhalter beinhaltete die du beim Aufruf als Parameter mit passenden Werten befüllen kannst. (Vergleichbar mit PHP)
Falls du nicht auf C festgelegt bist, kann ich dir µPython und die Flask Library ans Herz legen, die .py Scripts und HTML Files kannst du über die UART in den ESP schieben (ggf. über die Verwendung einer SD Card nachdenken) und die HTMLs können genau so wie in PHP mit passenden Schlüsselzeichen unterbrochen und mit weiterem Python Code befüllt werden, sodass man noch nciht einmal die main.py ändern muss wenn man etwas an den HTMLs ändern möchte.
Der Interpreter öffnet dann die HTML und gibt alles bis zu der Escapesequenz aus, führt dann den Python Code aus, welcher als print Funktion den zu ergänzenden HTML Code ausgibt. Danach sendet er den Rest der HTML Datei.
Das Reddit Forum basiert zum Beispiel auf dieser Technologie, da läuft ein Python Webserver welcher (quasi) HTML (Lückentext-)Files mit weiterem Python Scripts aufruft und die Python Scripts füllen dann die fehltstellen entsprechend auf.
Lesezeichen