Hi ich habe in mein funktionierndes Projekt die Start Addresse meiner Applikation geändert vorher: /* Flash */ m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400 m_flash_config (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010 m_text (RX) : ORIGIN = 0x00000410, LENGTH = 0x0007FBF0 Nachher: /* Flash */ m_interrupts (RX) : ORIGIN = 0x00020000, LENGTH = 0x00000400 m_flash_config (RX) : ORIGIN = 0x00020400, LENGTH = 0x00000010 m_text (RX) : ORIGIN = 0x00020410, LENGTH = 0x0005FBF0 Seitdem kann ich njicht mehr debuggen. Sieht jemand auf Anhieb was schief geht? VTOR wird an sich automatisch gesetzt von der NXP startup.c Danke
Der Prozessor sucht an Addresse 0 nach der Vektor Tabelle. Falls da kein Bootloader drin steht, gehen normale NXP LPC µCs in den ISP Mode. Den scheint der S32k nicht zu kennen, dann gibts (Hard) Fault -> Lockup. Abhilfe: Ein (Dummy-) Bootloader der das Programm ab 0x00020000 startet.
Seltsam, bei stm32 cortex m4, also der selbe core wie s32k, konnte ich meine firmware problemlos auf eine andere Addresse legen und debuggen. Sind diese Geschichten nicht gleich bei alle Cortexe?
klaus schrieb: > Sind diese Geschichten nicht gleich bei alle Cortexe? In der Theorie ja, in der Praxis haben zumindest die LPCxxx µCs einiges Zeugs im ROM was vor dem Flash ausgeführt wird. Daher spielen NXP Tools beim Debuggen IMO nicht am PC (program counter register) rum. Die S32k Serie scheint aber anderen Aufbau zu haben - ich sehe da kein internes Masken ROM in der Doku. Bleibt aber die Frage welche Debug Tools eingesetzt werden - und ob die das PC Register setzen.
Dein Programm darfste hinlegen wo Du willst. Aber die Info, wo es liegt muss am Anfang des Speicherbereichs bleiben. Sobald das Programm dann los gelaufen ist, kannst Du sogar die Adresse der Interrupt-Vektor-Tabelle irgendwohin legen.
Ähm - ich sehe gerade, Du versuchst die Flash Config in irgendwelche Speicherzellen abzulegen. Kannste so machen, hat aber dann keine Auswirkungen auf die Flash-Konfiguration.
Blöde Frage: was steht eigentlich in der flash configuration drin?
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.