Ich versuche schon die ganze Zeit, ein C Programm auf meinen 89C4051 zum laufen zu bringen. Habe schon in Reads51 auf internen Speicher umgestellt und da gibt es noch eine Option "C Stack " und den habe ich einfach mal so auf 0x0001 gesetzt. Kann mir einer helfen?? Es geht einfach nicht.
Hallo,
ich kenne den Reads51 nicht. Aber wenn Du den C-Stack auf 0x0001 gesetzt hast, sollte sich an der Stelle auch tatsächlich freies RAM befinden. Zudem solltest Du in der Beschreibung nachschauen, ob man die untere oder obere Stackgrenze angeben muß oder beide. Schau Dir auch mal die Ausgabe des Compilers an, da steht genau, wo sich alle Variblen, (Assembler-)Befehle etc. befinden und vergleich das dann mit den tatsächlich nutzbaren Adressen. Wo sich RAM und ROM (bzw. Flash) etc. in DIESEM Prozessor befinden, ist normalerweise Inhalt einer Headerdatei. Deren Name muß irgendwo beim Compileraufruf, in der Projektdatei oder im Quelltext angegeben werden. Sonst geht gar nichts.
An Deiner Stelle würde ich erstmal mit einer ganz einfachen Sache anfange, einen Port auf high schalten oder sowas. Ohne Verwendung von Variablen, Stack, Subroutines, Funktionen etc. Erst, wenn das Läuft, die nächste Version probieren. Du weißt doch sonst nicht mal, ob das Programm überhaupt im Prozessor (in seinem Flash) angekommen ist.
Btw., wurden keine Beispielprogramme mitgeliefert, die bei Dir laufen sollten?
Axel
Hallo
Reads51 braucht externen Speicher sonst geht das nicht, wurde mir erzählt.
Vielen Dank