Archiv verlassen und diese Seite im Standarddesign anzeigen : Speicherplatzbedarf
Import-Script
23.03.2004, 20:48
Hallo! <BR> <BR>Da das Forum für Programmierung nicht funktioniert, poste ich mal hier. <BR> <BR> <BR>Wie man anderen Teilen des Forums entnehmen kann, bin ich am Bau eines Ladegerätes. <BR>Jetzt hätt ich da nur eine theoretische Frage, die in diesem Fall nicht von großer Wichtigkeit ist, nur interessehalber. <BR> <BR>Es soll mittels 8051 1LCD <BR>4Tasten <BR>2DACs (IIC Bus) <BR>1ADC (SPI Bus) <BR>1 eeprom (IIC Bus) <BR>mittels Tastengeführter Menüführung angesteuert werden. <BR> <BR>Wenn ich das ganze in C programmiere komm ich da locker auf 4 - 6 k Speicherplatz, und das ohne Text für das Menü. <BR> <BR>Ist das ein realistischer Wert, oder hab ich da totalen Mist programmiert? <BR> <BR>Wie groß, besser gesagt wie klein glaubt Ihr kann man sowas bei halbwegs sauberer Programmierung hinkriegen? <BR>Ursprünglich wollte ich ja 89c4051 verwenden, aber der hat eben nicht genug Speicher, zumindest bei meiner Programmierung. <BR> <BR>mfg <BR>hannes
Import-Script
23.03.2004, 20:52
Redest du vom C-Code oder vom ASM-Code?
Import-Script
23.03.2004, 20:56
Hallo, <BR>zu dem Speicherplatz kann ich so direkt nichts sagen. <BR>Aber vieleicht kannst du den ADC und den DAC durch einen PCF8591 ersetzen. Der wird an den IIC Bus angeschlossen, hat 4 analoge eingänge und einen Ausgang. <BR>Dann sparst du dir zumindest die SPI ansteuerung. <BR>Mfg, <BR>Kurt
Import-Script
23.03.2004, 21:57
hi, <BR> <BR>ist dein HEX-file 4-6k ? <BR>effektiver speicherbedarf ist deutlich geringer! <BR>etwas optimieren...dann passt es in den 89C4051 <BR> <BR>ed
Import-Script
23.03.2004, 22:14
Hi, <BR> <BR>probier auch mal mit den Einstellungen rum. Man kann ein C-Prog drastisch auf kosten der Laufzeit verkleinern, in dem jeder Befehl nur 1x im SPiecher steht und als unterprog aufgerufen wird. Dafür kann es neben langsamer Laufzeit auch zu excessiver Stcknutzung kommen, also weniger RAM. <BR> <BR>Auch sollte man prüfen, ob mathematische Verknüpfungen nicht auch als Binärmathematik dargestellt werden kann. (z.B. Shift und UND7ODER Verknüpfungen) <BR>Auch bei den variabeln schaue, ob Du die Wortbreite auf 8-Bit verkleionern kannst - 16 Bitoperationen fressen viel Ram und vor allem ROM. <BR> <BR>Wenn Du uns das Prog mal zeigst, könen wir mal sehen, was sich einsparen lässt. <BR> <BR>Gruß <BR>Elmar
Import-Script
23.03.2004, 22:26
Man kann viel einsparen, wen man kein float und nicht printf / scanf verwendet. <BR> <BR>Ich nehme je nach benötigter Genauigkeit int oder long und denke mir dann einfach die Kommastelle. <BR> <BR> <BR>Peter <BR>
Import-Script
24.03.2004, 14:14
Hallo <BR> <BR>Danke mal für die Antworten. <BR>Wie gesagt, jetzt stehen mir eh 32k zur Verfügung, also kein Problem. <BR>Nur wollte ich eben wissen ob das so ungefähr hinkommt. <BR>Natürlich nutze ich faul wie ich bin printf und alles andere was c so zu bieten hat. <BR>Die Filegröße ist die tatsächliche die ich in den uC schreibe, also nicht das HEX file. <BR> <BR>Das Programm ist noch nicht fertig, das kann noch dauern, aber wenn es mal soweit ist stelle ich es gerne mal online um kritisiert zu werden, man soll ja auch was lernen. <BR> <BR>mfg <BR>hannes
Hallo!
Endlich bin ich jetzt so weit, und hab schon mal einen Teil meines Programms geschrieben.
Natürlich treten da schon wieder Optimierungsfragen auf.
Im Anhang ist das main.c inkludiert.
Es stellt sich folgende Frage: Wie programmiert man am schönsten eine Menüführung?
Es stehen 4 Tasten zur Verfügung, welche schon ausprogrammiert sind, also diese Funktion funktioniert schon.
Nur wie hüpft man elegant von einem Menüpunkt zum anderen?
Ich weiß, ich verwende hier den printf Befehl und auch float für Akkuspannung und so,obwohl man das ja auch mit 8Bit lösen könnte, aber ich bin eben programmierfaul!
mfg
hannes
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.