c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Torsten Evers
Datum: Mi, 07.03.2007 11:57:13
In-reply-to:
<45EE993F.6010402@xxxxxxxx>
References:
<BCF016D5ED5AC34FBB655D109519ABCF083EBE@xxxxxxxxxxxxxxxxxxxx> <45EE935C.5090706@xxxxxx> <45EE993F.6010402@xxxxxxxx>
Hallo,
Am Mittwoch, 7. März 2007 11:51:43 schrieb Benjamin Benz:
> > ich habe die ganze sache in dieser version
> > auf die spitze getrieben und meine ursprünglichen fkt einfach benutzt,
> > um unter gcc die eprom-fkt des winavr zu simulieren. der kode ist also
> > für pc und mcu gleich. den "nachteil" haben nur neue routinen, da meine
> > pc routinen natürlich keine automatische speicherzuteilung haben, dafür
> > müsste man den compiler ergänzen oder so...
nein, man müsste imho nur, wenn für das PC target compiled wird, eine
entsprechende emulations-Lib zur Verfügung stellen, die identische
Funktionsaufrufe dann abbildet.
> Was meinen denn die anderen auf dieser Liste dazu?
> Die Optionen sehen IMHO so aus:
> 1. manuelle Speicherzuteilung ==> code läuft auf PC und MCU identisch
> 2. automatische Speicherzuteilung per avr-gcc ==> Code läuft nicht
> sinnvoll auf PC
> 3. evtl. kann man mit ein paar geschickten Makros die Speicherzuteilung
> auf dem PC nachstellen?
>
> Nach den von Ihnen genannten Pros würde ich (wenn jemand weiß wie) für
> Version 3 oder sonst 1 plädieren.
Ich wär für o.g. Alternative. Macht mehr Arbeit, weil man die entsprechende
Lib erst nachbilden muss, wäre dann aber durchgängig und konsistent auf dem
Bot und im Sim benutzbar.
> Nun, um es ganz deutlich zu sagen: Wir halten es nicht für sinnvoll,
> Code in das CVS aufzunehmen, der den Sim dazu bringt hängen zu bleiben,
> weil er am Framework vorbei arbeitet. Wenn man im Sim nicht Kalibrieren
> kann, dann bringt auch die obige Argumentation, man könne dann ja auch
> die EEPROM-Routinen dort nutzen nichts, denn wie soll man sie dann (ohne
> Workarounds wie feste Werte im Code oder manuelles Unterschieben von
> Config-Files) erstellen.
Das kann ich nur unterschreiben. Der Code muss stabil auf beiden Targets
laufen, ohne groß etwas am Code ändern zu müssen oder großartige
Konfigurationsarbeiten vornehmen zu müssen.
Schöne Grüße,
Torsten Evers