www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Keil uVision4 LPC2148: Startup.s Läuft nicht durch


Autor: Hans Hamacher (hanshamacher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich arbeite Mit Keil uVison4 auf einem Windows 7 64-bit System.
Mein Debuggadappter ist Der ULink2 von Keil und men Prozessor ein 
LPC2148.

Wenn ich denn debugger starten will, bleibt er in der Startup.s beim 
punkt: LDR PC, FIQ_Adress hängen. hier mal der Quellcode auszug zu 
dieser Stelle:
Vectors         LDR     PC, Reset_Addr         
                LDR     PC, Undef_Addr
                LDR     PC, SWI_Addr
                LDR     PC, PAbt_Addr
                LDR     PC, DAbt_Addr
                NOP                            ; Reserved Vector 
;               LDR     PC, IRQ_Addr
                LDR     PC, [PC, #-0x0FF0]     ; Vector from VicVectAddr
                LDR     PC, FIQ_Addr

Wenn ich die Zeile auskommentiere bleibt er in der Zeile vorher hängen.
Im Disassembly window von uvision4 sieht man, das der compiler wenn er 
dort hängen bleibt zwischischen folgenden 3 Zeilen immer im Kreis Läuft:
0x7FFFD2D6  6808      LDR       R0,[R1,#0x00]
0x7FFFD2D8  0780      LSL       R0,R0,#30
0x7FFFD2DA  D4FC      BMI       0x7FFFD2D6

ob ich in den Debug optionen "run to main" aktive oder nicht macht 
keinen unterschied.

Wo liegt mein Fehler? muss ich auf irgendwelche einstellungen besonders 
Achten??

Gruß

Hans

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans Hamacher schrieb:
> muss ich auf irgendwelche einstellungen besonders
> Achten??
Damit das Debuggen überhaupt funktioniert, musste ich immer Jtag mit 200 
kHz takten.

Hast du das Startupfile von Keil verwendet?
Funktioniert das Debuggen im Simulator?

Autor: Hans Hamacher (hanshamacher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, im Simulator läuft es ohne Probleme. JTag auf 200khz takten hat 
leider nicht geholfen, aber danke für die schnellen Tipps

Autor: Sebastian M. (sebastian_m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

kontrollier mal die pll einstellungen, ich hatte beim lpc2468 das 
problem, dass die pll nur mit bestimmten werten lief (fehler im 
silizium). vlt ist das dort auch ein solches problem?

gruß

Autor: Hans Hamacher (hanshamacher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe MSEL auf 5 und PSEL auf 2 dürfte dooch eigentlich ok sein so, oder?

Autor: Sebastian M. (sebastian_m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das habe ich nciht mehr im kopf, eventuell dort mal dran drehen, im DB 
von 2468 stand etwas davon, dass die PLL nur in einem gewissen bereich 
(ich glaube es war irgendwas zwischen 180 - 220 MHZ) arbeitet. wie 
gesagt, ist nur ne vermutung.

Autor: Frank Bär (f-baer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die PLL-Einstellungen hängen von dem Quarz ab, den du verwendest, die 
blanken Angaben von Multiplikator und Divider sind nichtssagend.
Die PLL hat damit aber nichts zu tun, die ist schon längst locked, wenn 
es an die Interrupt-Vektoren geht.
Interessant wäre der Inhalt von R1 und der Inhalt des Speicherbereichs, 
auf den R1 zeigt.
Abgesehen davon möchte ich doch fast behaupten, dass ein BMI nach einem 
Links-Shift immer im Kreis hüpft. Vielleicht kompilierst du das nochmal 
mit einem anderen Optimierungsgrad.

@Sebastian M.: Die PLL des 2468 läuft optimal bei 288MHz. mit 
CCLK-Divider 4 und USB-Divider 6.

Autor: Frank Bär (f-baer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur: Die PLL wird erst nach den Interrupt-Vektoren initialisiert, 
wenn ich mir meinen startup-code so ansehe. Hat dennoch nichts 
miteinander zu tun.

Autor: Stumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

du kannst dir doch wunderbar mit Keil eine Startup.s erzeugen lassen die 
läuft dann auch wunderbar.


Gruß Stumpf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.