Hallo Profis,
ich hab grad was mit dem IAR für ARM rumgespielt (Simulator,
Testversion) und hab dabei ist mir aufgefallen, wenn ich was Compile
habe ich als Ausgabe z.B.
38 bytes of CODE memory (+ 20 bytes shared)
16 bytes of DATA memory
Das ist soweit klar, 38 Byte Prog, 16 Byte RAM ...
wenn ich jetzt ein "make" mache, dann habe ich unter der ausgabe vom
linker (xlink.exe) auf einmal
412 bytes of CODE memory
8448 bytes of DATA memory
12 bytes of CONST memory
Wenn ich unter den Projektoptionen als Library "None" wähle, ist die
Ausgabe auch weg. Was ist das für eine Library und warum braucht die
direkt 8KB RAM ? Oder hat die Ausgabe damit nichts zu tun. Wenn ich die
Library auf "None" mache funktioniert im übrigen der Simulator nicht
mehr ..
Ich wollte eigentlich eien LPC2103 nutzen für eine kleines Projekt. Aber
der hat ja "nur" 8KB RAM.
Hoffe ihr könnt mir helfen ...
Ja .. ?? Wo sehe ich wo ich das Programm starte bzw. wo legt man das
fest ?
Wie gesagt, derzeit nur im Simulator, hab noch nix sonst damit gemacht
weil ich erstmal die IDE abchecken wollte.
Version ist 4.41
als JTAG Adapter wollte ich eigentlich einen Wiggler in Verbindung mit
H-JTAG nutzen (oder funzt das nicht?). Der J-Link kostet ja richtig was
(im Vergleich zum parallel Wiggler) ;)
Ich arbeite allerdings noch nicht mit irgendeiner Hardware, sondern hab
nur ein paar Zeilen Code geschrieben und wollte die im Simulator testen.
Das funktioniert auch soweit. Nur gibt mir der Linker immer 8KB belegtes
RAM aus.
Diese Version hab ich auch.
Bei mir ist der J-LINK allerdings fest ausgewählt.
Als Ziel MCU hab ich die TMS470 ARM7TDMI Serie von Texas Instruments.
Mein Adapter gibt mir oben die Auswahl FLASH / RAM
Scheint so, als würde Dein Compiler,Linker das Programm im RAM
ausführen lassen. Ist aber von hier aus schwer zu beeinflussen.
Könntest mal nen Schreenshot von der Hauptseite als Bild anhängen
Schau mal links oben unter Workspace, da steht DEBUG.
Kannst DU dort noch was anderes auswählen (im DropDown Menü) ?
Das Programm wir für den DEBUG Modus rübergesendet.
Hat nix mit ner Library zu tun.
Ja da kann ich Release wählen. Ändert allerdings nichts an der Ausgabe
vom Linker.
Aber scheinbar hat es doch mit irgendeiner Library zu tun, denn wenn ich
auf project->options und "General Options" auf Library Configurationen
gehe, dann steht da "Library:Normal", ändere ich das von "Normal" auf
"None" ist die Ausgabe vom Linker ok, aber der Simulator macht nix mehr
..
Das ist der Quelltext den ich teste. Kannst du denn denn mal bei dir
einfach in ein neues Projekt reinmachen und compilen / linken. Evtl.
liegt es ja am Simulator oder irgendeiner Einstellung.
So kann man das nicht ganz sehen.
8448 sind die 8KB RAM + 256Bytes
Bei mir läuft grad ne reine Assemblergeschichte, deswegen hab ich da
ganz andere Einstellung.
Pack doch kurz alle Files aus dem Workspace in ne ZIP oder RAR Datei und
häng sie an. Dann ha ich die gleichen Einstellungen wie DU.
Übrigens, Stell mal als Typ 2101 ein, der hat 2KB
Dann müsste der Linker 2304 ausspucken
Da fehlt was.
Im Kompletten Workspace muß Datei mit Endung .eww sein
Hast Du die Kickstart Version?? Weil ich mit der Vollversion arbeite.
Weiß nicht ob es da Unterschiede gibt. Kickstart hat ja eine
Codelimitierung.
Schau noch mal nach, oder speichere den Workspace zusätzlich in nem
anderen Ordner.
Da spuckt meiner Fehler aus.
Fatal Error Copy Protection Check
Bin mir nicht sicher, ob sich die 2 Versionen vertragen,
ich probier mal was anders,
wenn du heut keine Antwort mehr bekommst, schau morgen noch mal rein.
ich muß 9 Uhr weg
Gruß
Dirk
Nur so als kleiner Tipp... Schau dir mal die Beispiele für den LPC2103
an. Die findest in deinem IAR Installationsordner.
Dort sollte alles korrekt für das Ausführen im RAM oder FLASH definiert
sein. Es gibt *.mac Datein, die du einbinden musst, die für die richtige
Konfiguration sorgen.
Ich habe mich anfangs auch mit dem IAR gequält, hab dann aber ein
Beispielprogramm hergenommen und den Code durch meinen ersetzt. Und wie
ein Wunder, es hat tadellos funktioniert, sowohl im FLASH als auch im
RAM.
Hey super, jetzt hab ich oben auch die wahl zwischen RAM und FLASH (auch
wenn das im Simulator eigentlich egal ist) und bei der Sample
Application auch nur einen geringen RAM Verbrauch ..
Vielen Dank!
ich hatte mir gestern noch die Demo vom Keil angeschaut. Was ich da
recht cool finde ist der Performance Analyser, der einem grafisch zeigt
welche Funktion wie lange und wie oft aufgerufen worde. Gibt es sowas
auch bei IAR ?