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
Erledigt normalerweise der Programmer / Flash-Uploder.
Gast
#2573088
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).
Die Checksum-Funktion des Vektors ist eine Spezialität der LPC2000 Reihe. Die Binutils hingegen sind herstellerunabhängig.
Gast
#2574040
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 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
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
Bitte melde dich an, um einen Beitrag zu schreiben.