8051 IAR C/C++

OP #1461146
Lesenswert?

Hallo Leute
Ich hab ein Problem mit dem IAR, nähmlich ich bearbeite ein sehr 
komplexes C++ Programm, und wenn ich Debug Session starte mit den 
folgenden Einstellungen:
Options->General Options->Target->CPU Core : Plain
                                ->Code Model : plain
                                ->Date Model : small
funktioniert alles schön, aber wenn ich Debug Session mit folgenden 
EInstellungen starte, dann findet der Compiler die Main Methode nicht, 
sondern läuft ganze Zeit rum....
Options->General Options->Target->CPU Core : extended1
                                ->Code Model : far
                                ->Date Model : small


Weisst jemand vielleicht woran es liegt, und wie man dieses Problem 
lösen könnte?
Gruß
Emil
OP #1461200
Lesenswert?

In Debug Session sieht man was das Programm eigentlich macht, und die 
Arbeitsweise des Programms interpretiert Compiler....Bei den ersten 
Einstellungen sieht man wo der Einsprungsspunkt des Programms ist, 
nähmlich wo und wie die Main Methode aufgerufen wird, bei den zweiten 
Einstellungen sieht man das nicht....
#1461305
Lesenswert?

Emil Gracic schrieb:
> Options->General Options->Target->CPU Core : extended1
>                                 ->Code Model : far
>                                 ->Date Model : small

Du weißt als, daß Dein unbekannter 8051 vom Typ extended1 ist und Dein 
Board eine far Adressierung hat?

Oder entspricht Dein Post eher: "Ich hab an meinem Auto wahllos ein paar 
Kabel vertauscht und einige Teile abmoniert und nun fährts nicht mehr"?


Peter
OP #1461320
Lesenswert?

wenn Ihr immer nur die arroganten Antworten zum Angebot habt, dann 
solltet Ihr nicht antworten....Beim Debug Session kann man auch 
Simulator nutzen und nicht unbedingt auf Hardware zugreifen, ist aber 
egal....Obwohl Deine Kritik sehr kreativ war, kann ich Dir leider nicht 
zustimmen....
#1461374
Lesenswert?

Emil Gracic schrieb:
> extended1 bedeutet, dass man noch zusätzliche 16 MBytes der externen
> Data Memory und Code Memory zur Verfügung hat

Da irrst Du.
Es teilt dem Compiler nur mit, daß der ausgewählte 8051-Typ das 
unterstützt und er entsprechenden Code erzeugen darf. Bei einigen 8051 
sind das Befehle, die mit 0xA5 anfangen.

Und dann guckt aber der Simulator schön blöd aus der Wäsche, wenn er 
Code ausführen soll, den Dein 8051 garnicht kann.

Deshalb sollte man von den Einstellungen, die der Compiler automatisch 
entsprechend dem ausgewählten 8051 vornimmt, die Finger lassen.

In der Regel weiß das der Compiler nämlich besser als Du.


Peter
Gast #1461390
Lesenswert?

vielen Dank Peter.
Das Problem war, dass die vom Compiler automatisch vorgenommene 
Einstellungen mit CPU Core : plain etc... waren. Mit plain funktioniert 
nicht das ganze Programm, da  nicht genug Speicherplatz zur Verfügung 
steht, also nach paar Methoden bricht mein Debug Session ab...Deswegen 
hab ich versucht mit extended1 das Problem zu lösen. Und im Buch von IAR 
Compiler steht, dass man mit extended1 zusätzliche 16 Mbytes externer 
Data Memory und Code Memory bekommt...Aber auf jeden Fall danke.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren