Gast
#2593824
Hallo, ich habe derzeit ein Problem mit einem LPC2478. Meine Applikation (einige Daten über die UART empfangen, ein paar Tasten auslesen und diverse Werte auf einem TFT ausgeben) habe ich soweit ziemlich stabil in Betrieb. Jetzt habe ich noch einen SD-Karten Bootloader (NXP Application Note AN10835) implementiert. Den Bootloader habe ich fix und fertig so übernommen - habe nur ein paar Anpassungen bzgl. der Ports usw. getätigt. Den Bootloader habe ich erstmal mit der Keil Demo übersetzt, meine eigentliche Applikation habe ich aber mit WinArm erstellt. Der Bootloader funktioniert auch soweit. Ich kann mein Applikationsprogramm mit WinArm übersetzen, die Binätdatei auf die SD-Karte schieben und anschließend den Controller über das Bootloader Terminal flashen. Das Applikationsprogramm wird eigentlich auch korrekt ausgeführt, allerdings mit einem kleinen (oder besser gesagt GROßEN) Haken... Ich habe im internen RAM ein paar große Arrays angelegt, in denen ich div. Werte zwischenspeichere. Nun tritt das Phänomän auf, dass diese Werte teilweise willkürlich überschrieben und verändert werden. Die Größen der Arrays und auch der Zugriff über irgendwelche Pointer etc. habe ich bereits mehrmals überprüft - alles io. Ich steh inzwischen wirklich auf dem Schlauch... Noch ein paar Fakten: --------------------- Der Bootloader ist auf 0x00000000 gelinkt. Die Applikation ist auf 0x10000 gelinkt. Der RAM-Bereich der Appliaktion beginnt ab 0x40000040 Im Startup File der Applikation kopiere ich die Exception Vectors nach 0x40000000 und aktiviere das Memory Mapping. Was ich nun durch rumspeilen festgestellt habe ist folgendes: Wenn ich im Linkerskript des Applikationsprogrammes den RAM-Bereich erst bei 0x40000100 (anstatt bei 0x40000040) beginnen lasse, funktioniert alles einwandfrei. Irgenwo und irgendwie kommt sich etwas in die Quere. Im MAP-File konnte ich allerdings nichts Verdächtiges feststellen. Probleme mit dem Stack schließe ich inzwischen auch aus, da ich diese Bereich zum testen z. Zt. alle auf 0x400 stehen habe... Hat jemand von Euch eine Iddee? Gruß, Christian