LPC2132; ReservedVector $00000014

OP (Firma: Trützschler) #2572068
Lesenswert?
• ▲
▼
Für den LPC2132 erstelle ich mittels dem GCC meine Applikation; dabei 
habe ich das Problem, dass der "SpecialVector" $00000014 eine Checksumme 
über die restlichen Vektoren enthalten muss.

Mit dem Debugger (Lauterbach) kann ich diese nachträglich erzeugen, aber 
dies ist nur eine Zwischenlösung, denn ich muss automatisiert die 
Checksumme generieren lassen, denn ich benötige ein BinaryFile, um 
dieses in der Serie zu verwenden, denn dort steht kein Debugger zur 
Verfügung.

Gibt  es eine entsprechende Linker-Anweisung dazu?

Gruß Dirk
Gast #2573088
Lesenswert?
• ▲
▼
Leider setzen wir keinen Programmer / Flash-Uploader ein.

Wir haben ein seit Jahren ein für die verschiedenen Systeme selbst 
entwickeltes Programmiersystem welches auf Binärdateien aufsetzt; beim 
LPC21.. nutzt dieses Programmiersystem den ISP-Mode.

Ich kann natürlich ein Tool schreiben, was in der Binärdatei den Vektor 
generiert, aber eigentlich erwarte ich dies vom GCC-Linker bzw. von 
einem andern Entwicklungswerkzeug (z.B. objcopy.exe).
Gast #2574040
Lesenswert?
• ▲
▼
Hallo,

ich bin mir jetzt zwar nicht ganz sicher da ich mit dem lpc2132 noch 
nicht gearbeitet habe, ich verwende überwiegend den lpc2146/lpc2148 aber 
bei geeigneter Programmierung des "startup.s" Files ist eine Berechnung 
der checksum nicht nötig, da immer konstant.
Bei lpc2146/lpc2148 stehen an den 8 Stellen keine Pointer sondern 
Sprungbefehle (Ladebefehle für den PC) und die sind immer gleich wenn 
man die zugehörigen Pointer immer an der gleichen Stelle hinterlegt.
Zum Beispiel so
1
.
2
.
3
.
4
.
5
_start:
6

7
# Exception Vectors
8

9
_vectors:               ldr PC, Reset_Addr
10
                        ldr PC, Undef_Addr
11
                        ldr PC, SWI_Addr
12
                        ldr PC, PAbt_Addr
13
                        ldr PC, DAbt_Addr
14
                        dcd     0xb9205f80      /* Reserved Vector (holds Philips ISP checksum) */
15
                        ldr PC, [PC,#-0xFF0]    /* see page 71 of "Insiders Guide to the Philips ARM7-Based Microcontrollers" by Trevor Martin  */
16
                        ldr PC, FIQ_Addr
17

18
Reset_Addr:     .word   Reset_Handler           /* defined in this module below  */
19
Undef_Addr:     .word   UNDEF_Routine           /* defined in main.c  */
20
SWI_Addr:       .word   SWI_Routine             /* defined in main.c  */
21
PAbt_Addr:      .word   UNDEF_Routine           /* defined in main.c  */
22
DAbt_Addr:      .word   UNDEF_Routine           /* defined in main.c  */
23
ReservAddr:     .word   0                       /* not used  */
24
IRQ_Addr:       .word   0                       /* not used  */
25
FIQ_Addr:       .word   FIQ_Routine             /* defined in main.c  */
26

27
        .align 4                         /* Align to the word boundary */
28
.
29
.
30
.
OP (Firma: Trützschler) #2575182
Lesenswert?
• ▲
▼
Danke für den Tip, der hilft mir echt weiter.

Es gibt natürlich das Problem, wenn sich doch etwas an der 
Speicheraufteilung bzw. Belegung ändert, ändert sich die CheckSumme ggf. 
auch, wird aber nicht automatisch korrigiert.

Werde aber vorerst mal damit leben können.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.