Guten Abend, nachdem ja schon einige von euch Erfahrungen mit dem STM32F sammeln konnten, hoffe ich auf eine Erklärung. In Kürze: Warum kann ich per CAN nicht senden, wenn die NVIC vector table nicht im Flash sondern im RAM (also bei 0x20000000) beginnt? Folgendes Problem: Ein Beispielcode läuft bei mir einwandfrei, bei ihm wird mit NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); der Vektor entsprechend gesetzt. Ich arbeite mit GCC, Eclipse und dem STM32F103VE. Jetzt möchte ich den Code aber unter eCos einsetzen, wo die NVIC-Tabelle im RAM liegt. Da ich zumindest anfangs ohne Interrupts arbeite, dachte ich das wäre völlig Wurst. Aber: Mit falschem Vektor funktioniert nur noch der Empfang, in eine TX-Mailbox gelegte Message bleibt unberührt liegen und der TX-Pin bewegt sich nicht mehr. Kann mir jemand von euch erklären, wieso der NVIC hier reinspielt und wie ich damit im RAM arbeiten kann? Danke, Bernhard
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.