Nach Wechsel des alten nicht mehr weiter geführten Keil-Compilers CARM zum bei Keil nun aktuellen und von ARM übernommenen RealView-Compiler für ARM7, hier Philips LPC2129, entdeckte ich in der Startup.s (für RealView) folgenden Befehl, zusätzlich zu den alten Startup-Dateien, am Ende, 2 Zeilen vor dem Sprung nach main(): SUB SL, SP, #USR_Stack_Size SL ist sicher ein Register und mir unbekannt, habe aber dazu keine Beschreibung gefunden, keine PDF, weder bei Keil noch bei ARM. Bevor ich die Frage bei Keil poste: Wer kann mir da mal helfen? Gruß Dietmar
Danke A.K. ! Wo (in welchem PDF, ARM, Keil) ist der Begriff SL dokumentiert? R10 hat in meiner Software bisher nichts ausgemacht oder gestört. Üblerweise, ist es mir ganz nebenbei mal zufällig aufgefallen, als ich die alte Keil Startup mit der neueren RealView Startup verglich. R10 wird meines Wissens im Folgenden auch nicht weiter verwendet. Aber, was bedeutet das letztendlich jetzt für mich? Gruß Dietmar
Andererseits, bevor dieser Befehl ausgeführt wird: SUB SL, SP, #USR_Stack_Size müßte R10 doch schon mal mit einem definierten Wert beschrieben worden sein, sonst macht das keinen Sinn? Gruß Dietmar
müßte R10 doch schon mal mit einem definierten Wert beschrieben worden sein.... Sorry, war jetzt ein Irrtum von mir, da von bekanntem SP der USR_Stack_Size subtrahiert und in SL gespeichert wird, unabhängig wie der Wert in SL vorher war. Gruß Dietmar
Es gibt eine ganze Menge an calling-conventions, die auch die Bennenung der Register festlegen. Einen Überblick gibt z.B. http://www.heyrick.co.uk/assembler/apcsintro.html Der (aktuelle?) APCS wird hier beschrieben, http://www.arm.com/miscPDFs/8031.pdf, jedoch geht das PDF nicht auf die Benennung der Register ein. Viel wichtiger als die Bennenung der Register ist aber die Vereinbarung, wer sich um das Sichern welcher Register kümmern muss, und welche Behandlung des Stacks erwartet wird, also auch von r10. Das sollte in dem PDF beschrieben werden. Gruss, Dominic
Um was man sich doch noch alles kümmern muß, haben Compilerhersteller und neuere Schriften über Softwareentwicklung doch mal in Aussicht gestellt, daß man sich immer mehr nur noch auf den reinen C-Sourcecode konzentrieren kann... Pustekuchen. Wunschdenken. Das war früher eher einfacher, nicht umgekehrt. Und das alles wegen ein paar Erweiterungen in der Startup-Datei. @Dominic: Begriffe wie APCS muß man für ARM Assembler natürlich kennen, keine Frage. R10 wird tatsächlich im weiteren Verlauf der Software nie mehr verwendet, da im USER Mode. Möglicherweise dient es einer anderen Anwendung mit der selben Startup.s. Danke Dietmar
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.