In einem AVR ATmega328 möchte ich eine CRC-10 Korrektur durchführen. Für die Korrektur benötige ich die Zuordnung der Syndrome zu den wahrscheinlichsten Fehlern, dies geht wohl nur per Tabelle im Flashspeicher. Ich habe eine C-Funktion geschrieben um den Array zu erstellen, aber wie bekomme ich den Compiler dazu diese zu interpretieren und dann nur das Ergebnis in das Programm zu speichern? Der Optimierer löscht doch Code der schon vor der run-time ausgeführt werden kann. for(n von 1 bis 3) array[n-1] = n; ist wie: array = {1,2,3}; Kann man das nutzen? Im Moment sehe ich nur die Möglichkeit die Funktion von einem Kommandozeilenprogramm auf einem PC ausführen zu lassen und dieses eine Textdatei mit den Ergebnissen erstellen zu lassen. [ generieren PROGMEM makro präprozessor preprocessor Lookup-Table ]
Hi, Moritz, habe ich richtig verstanden: Nach dem Brennen des Anwendungsprogramms soll dies anlaufen, die Daten des LUT erzeugen, der Bootloader soll noch mal anspringen und diese Daten in den Flash des Anwenungsprogramms brennen? Das halte ich für so wenig ausgeschlossen, wie eine Application Note von Atmel die Nutzung des Programm-Flash als Datenspeicher beschreibt. Aber was hindert Dich, die Berechnung der Konstanten "out zu sourcen" an PC mit Excel und dann ein #include-Datei mit den Konstanten zu erzeugen, die der Compiler mit Leichtigkeit einbindet? Bisher hatte ich nur so kleine Datenmengen, dass Copy-n-Paste aus Exel in den c-Editor einfacher schien als die Entwicklung eines Programms dafür. Ciao Wolfgang Horn
> habe ich richtig verstanden: Nach dem Brennen des Anwendungsprogramms > soll dies anlaufen, die Daten des LUT erzeugen, der Bootloader soll noch > mal anspringen und diese Daten in den Flash des Anwenungsprogramms > brennen? Nein, nicht der µC soll die Tabelle erzeugen sondern der compilierende PC. > Aber was hindert Dich, die Berechnung der Konstanten "out zu sourcen" an > PC mit Excel und dann ein #include-Datei mit den Konstanten zu erzeugen, > die der Compiler mit Leichtigkeit einbindet? Mich hindert, dass ich nicht weiß wie ich es mit einem Tabellenverarbeitungsprogramm hin bekommen soll, ich aber einen Teil des Algorithmus [Modulo im GF(2)] schon für das Programm geschrieben habe. > Bisher hatte ich nur so kleine Datenmengen, dass Copy-n-Paste aus Exel > in den c-Editor einfacher schien als die Entwicklung eines Programms > dafür. Es ist im Grunde auch nicht viel. Es ist ein CRC-10 mit 1586 Syndromen mal zwei Byte für die Fehlerpositionen.
Moritz G. schrieb: > Mich hindert, dass ich nicht weiß wie ich es mit einem > Tabellenverarbeitungsprogramm hin bekommen soll, ich aber einen Teil des > Algorithmus [Modulo im GF(2)] schon für das Programm geschrieben habe. Wenn du es für ein C-Programm machst und also C beherrschst, schreib doch einfach ein kleines C-Programm auf dem PC und fertig. Wozu der Overkill mit einem Tabellenverarbeitungsprogramm und dem ganzen Umformatierungs-Krampf?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.