Hallo Ich habe folgendes Problem mit M16c62 (M30626FHPFP) Der Monitor läuft bei kleinen Programmen problemlos! Aber wenn ich ein großes Programm rauflade bleibt der Monitor leer! Was kann das sein? Danke
Hallo Alex, vielleicht liegt es daran, dass sich Monitor und Anwendungsprogramm im Speicher (wahrscheinlich im RAM) überlappen. Der M16C-Monitor belegt gar nicht so wenig RAM, da er für die serielle Schnittstelle einen recht üppigen Buffer bereichthält. Die genauen Adressen sind vom Proz und von der Monitor-Version abhängig, aber mit ca. 700Byte, die Dir verlorengehen, solltest Du schon rechnen. Wenn der verwendete Monitor genau zum Proz passt, belegt er die höchsten 3 256-Byte-Pages des RAMs. Du schreibst, Du nutzt den 626er, hast also wohl bis zu 31kByte RAM, wenn ich mich recht erinnere, jedenfalls im erweiterten Modus (PM13 gesetzt). Weiss das auch Dein Monitor - oder ist es der für den Standard-Mode mit 15k? Für NC30-User: Das Problem ist, dass der Linker, der Deine Anwendung zusammenbaut, ja von diesen Bereichen, die der Monitor benutzt, nichts weiss - den den scheinbar vorhandenen und freien Speicher munter der Anwendung gibt. Das Problem hat mich auch eine Weile verfolgt. Ich habe mir da so geholfen, dass ich im sect30.inc der Applikation einen Block definiert habe, der das Monitor-RAM belegt: ;--------------------------------------------------------------- ; RAM-section of Monitor, to detect overlapping ;--------------------------------------------------------------- .section MONITORRAM,DATA .org 03d00h .blkb 00300h Jetzt jammert der Linker, wenn die Applikation zuviel RAM benötigt und in den Monitor-Bereich hineinwandert. Etwas ähnliches habe ich für den ROM-Bereich des Monitors eingefügt. Außerdem verwende ich das Programm Map Viewer, um bei 'seltsamen Erscheinungen' - denn so äußern sich RAM-Überlappungen gern - einen Überblick über die Speicheraufteilung zu gewinnen. Gruß Jens
Hallo Jens, wo finde ich das Programm Map Viewerr ? Gruß Frank
"Du schreibst, Du nutzt den 626er, hast also wohl bis zu 31kByte RAM, wenn ich mich recht erinnere, jedenfalls im erweiterten Modus (PM13 gesetzt). Weiss das auch Dein Monitor - oder ist es der für den Standard-Mode mit 15k?" Wie kann ich das dem Monitor sagen?? Danke
Hallo Frank, der MapViewer wurde mit dem NC30 installiert - glaube ich. Ich habe die Dateien, die vom Namen dazu passen, mal in ein ZIP-File getan und angehängt. Hoffe, es klappt so. Die Hilfe funktioniert bei mir nicht, ist aber auch nicht notwendig, mit ein wenig Spielen findet man heraus, wie es geht. Tipp: Rechte Maustaste... Hallo Alex, der Monitor muss entsprechend assembliert sein, 'sagen' kann man es ihm nicht. In diesem Thread http://www.mikrocontroller.net/forum/read-1-172458.html#172458 liegt der Monitor als Source vor. Da gibt es einen Parameter, der die Speichergroesse festlegt. Wenn Du gar nicht zurechtkommst, versuche ich Dir einen zu bauen. Aber dazu muss ich natürlich die diversen Parameter kennen, mit denen Du Dein System betreibst. Gruß Jens
Hallo Alex, sieht (leider) gut aus, jedenfalls, wenn Du PM13 gesetzt hast und über den erweiterten Speicher verfügen kannst. Aber das kannst Du ja im KD30 ausprobieren. Und egal, ob Dein Monitor für 15k oder für 31k parametriert ist, beide Bereiche sind freigehalten. Das einzige, das auffällt, ist der relativ kleine Stack - 768 Byte sind nicht die Welt. Den könntest Du sicherlich noch etwas vergrößern - Platz ist ja reichlich da. Es scheint ja ein Webserver zu sein, den Du bauen möchtest. Ist das Programm kontinuierlich gewachsen und hat dann irgendwann nicht mehr funktioniert (was auf Speicherprobleme hindeuten könnte) oder hast Du es als Block kompiliert und es tut einfach nicht, was es soll? Das kann natürlich an 10000 Dingen liegen - ist Dir sicherlich auch klar. Nebenbei: Ist das TCP/IP-Modul öffentlich? Wenn ja, wäre ich an den Quellen interessiert. Ich habe uIP für den M16C portiert, läuft auch prima (http://dl4aas.dyndns.org:8080), kann aber nicht mit mehr als einem unbestätigten TCP-Paket pro Verbindung arbeiten. Und das begrenzt die Datenrate doch sehr. Gruß Jens
Hallo Jens Ich habe Fremdcode bekommen! Sieht aber sehr gut aus! Wir können ja beide mal den gesamten Code tauschen! Wie wäre das? MFG Alex
Alex, das können wir machen. Wenn ich zu Hause bin, packe ich mal alles zusammen und sende es Dir. Du bist doch DER Alex mit der alex10...-Adresse, oder? Gruß Jens
Hallo Jens Code tauschen?? Ich komme einfach nicht weiter!!! Kannst du dir das mal ansehen?? Danke MFG Alex
Es will einfach nicht gehen!!! obwohl die memorymap super aussieht! Wer kann helfen??
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.