Code Read protection / uvison3 Download setup

Gast #794154
Lesenswert?

Hallo,
ich arbeite zurzeit mit dem LPC2132 und benutzte die Keil 
Entwicklungsumgebung uvision3
Ich möchte nun gerne die Code Read Protection einsetzten.
Ich weiß, dass im Flash an Adresse 0x1FC der Wert 0x87654321 gespeichert 
werden muss.
An dieser Stelle befindet sich allerdings ein Teil meines Programmcodes.

Ich habe nun versucht die Startadresse im Flash download setup von 
uvision3 von 0x00000000 auf 0x00001000 zu ändern. Nachdem ich nun die 
Software auf den Mikrocontroller laden wollte kam folgende 
Fehlermeldung:

No algorithm found for 00000000H - 0000FFFH
Partial programming done (areas with no algorithms skipped) ...

Mein Programm funktionierte ebenfalls nicht.

Hängt das Problem damit zusammen, dass ich die Evaluation version von 
uvision3 benutzte, die ja eingeschränkte Funktionen besitzt?

Ich hoffe jemand kann mir hierbei helfen.

Gruß

Andreas
Gast #1664982
Lesenswert?

Hallo

>Ich habe nun versucht die Startadresse im Flash download setup von
>uvision3 von 0x00000000 auf 0x00001000 zu ändern

das kann nicht gehen weil dann die Start- Vectoren nicht mehr an der 
richtigen stelle liegen.

Leider meckert der Linker nicht das er die Sachen nicht plazieren kann.
Die Vektoren liegen denn leider dann ohne Kommentar an anderer Stelle 
und es funktioniert nicht.

Die nächste Falle ist das er jetzt versucht die C Lib zwischen die 
Vektoren und der CRP zu plazieren. Irgentwie funktioniert das
bei mir auch nicht so das dann einge Befehle aus der C LIB abstürzen.

deshab habe ich auch das asm Startup file ändern müssen.

ich habe hier mal ein bischen Source für euch.
ASM

....
;FIQ_Handler     B       FIQ_Handler

; Fill up To CPR 
------------------------------------------------------------------
                FILL    0x1B0,0xDEADDEAD,4 ; defines Fill bytes bis CRC
hier mit der Hand auszählen bei mir 1b0
; Reset_Handler 
------------------------------------------------------------------

                AREA    |.text|, CODE, READONLY

                EXPORT  Reset_Handler
Reset_Handler .......


C:


#define CRP_No 0xA5A5A5A5
#define CRP1 0x12345678
#define CRP2 0x87654321
#define CRP3 0x43218765

#ifdef DEBUG
 __at (0x000001Fc) const unsigned int CodeReadProtect = CRP_No;
#endif

#ifndef DEBUG
 __at (0x000001Fc) const unsigned int CodeReadProtect = CRP1;
#endif

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren