Hallo, ich bin gerade dabei mir einen eigenen boot strap loader zu schreiben. (Also den Programmteil im BSL Flashbereich der zu einem Reset ausgeführt wird und dann entweder Code in den Programm Flashbereich flashen kann oder eben das eigentliche Programm ausführt zu welchem die Adresse im Interruptvektor weist.) Das Problem was ich habe ist, dass TI's IDE CCS automatisch die Sections der Interruptvektoren beschreibt. Und zwar im Reset-IntVec die Adresse zu _c_int00 (was die c init des BSL ist welche ich selbst schon anspringe wenn der PC zum Reset mit 0 startet und nicht die des eigentlichen Programms). In die anderen Intvektoren wird die Adresse zur Trap-Funktion _TI_ISR_TRAP geschrieben. Meine Frage ist nun wie ich CCS davon abhalte diese Intvektoren zu initialisieren und wo an welcher Stelle dies überhaupt passiert? Im Linkerscript gebe ich die sections nur bekannt. Lasse ich das, bekomme ich die Warning, dass die section .reset nicht bekannt ist und der Reset-Intvektor wird mit 0 beschrieben was ebenfalls nicht sein soll. Überprüft was in den Intvektoren steht habe ich mittels anhand des hex-files. Was ich will ist, dass hier lediglich die section des BSL-Flachbereichs vorhanden ist. Grüße dings
Hallo dings, was stört dich daran, dass in den anderen Int-Vectoren die Adresse zur Trap-Funktion _TI_ISR_TRAP steht? Das ist so richtig und eine Vorsichtsmaßnahme, falls man versehentlich einen Interrupt aktiviert, zu dem es keine Interruptroutine gibt. Dann wird _TI_ISR_TRAP angesprungen und legt den Prozessor schlafen. Das sollte Deinen BSL nicht stören, denn wenn Du keine anderen Interrrupts aktivert hast, werden diese Adressen auch nicht angesprungen. Wenn Du im Programm andere Interrupts aktivierst, stehen dort die Adressen der entsprechenden Interruptroutinen, das soll so sein und ist so auch richtig. Gruß wv
Die Interruptvektoren werden beschrieben wenn, nach dem der BSL geflasht wurde, das eigentliche Programm geflasht wird. ...wirklich stören tut es also nicht, da diese dann sowieso überschrieben werden. Ich könnte dann jedoch nicht den BSL flashen wenn schon ein Programm drauf ist. Ich würde jedoch trotzdem gerne wissen wie man (oder ob man) das Konfigurieren kann keine Vektoren automatisch zu beschreiben. (Also der Resetvektor wird jedenfalls, wie ich mittlerweile herausgefunden habe, in der Datei ccs1210/ccs/tools/compiler/ti-cgt-msp430_21.6.1.LTS/lib/src/boot.c initialisiert. Wollte ich das selbst tun, geht das dann nicht.)
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.