Forum: Mikrocontroller und Digitale Elektronik LPC Code read protection


von P. O. (neop13)


Lesenswert?

man man, echt blöd, wenn man an so kleinen sachen schon hängen bleibt.

Hab jetzt auf einer Seite gelesen man solle das hier in sein Linker 
skript einfügen

Aber mein kompiler meckert da irgendwie
1
.text : {
2
3
/* define symbol name _ftext for start of code */
4
5
_ftext = ABSOLUTE(.);
6
7
/* first object is the boot exception vector table */
8
9
obj/startup.o (.text) /* Note: obj is object file directory as definded in "Build - Configurations" */
10
11
/* set location 0x1FC to 0x87654321 to enable Code Protection */
12
13
. = 0x1FC ;
14
LONG(0x87654321)

kan mir nicht jemand genauer sagen wie dat klappen tut :-(
danke

von Michael L. (hasimaus)


Lesenswert?

Hallo Patrick,

was genau ist die Fehlermeldung?

die Zeile "obj/startup.o (.text) ..."
scheint mir insofern suspekt, als hier ein Pfad zu einer Datei angegeben 
ist.
Wenn Du dies 1-zu-1 kopiert hast, funktioniert es nicht. Wenn Deine 
Datei anders heißt geht es nicht, und wenn der Pfad anders aussieht 
klappt es nicht.

Gruß

von Michael L. (hasimaus)


Lesenswert?

Hallo nochmal,

seh' gerade, Du hast den Code tatsächlich 1:1 kopiert. Hast Du auch an 
dies gedacht : "Please ensure you place the directive in the appropriate 
place (i.e. after your start up code (obj/startup.obj))."

Gruß

von P. O. (neop13)


Lesenswert?

Hi
Ja hab ich dran gedacht ;-)
Wobei in meinem verzeichnis 2 *.o dateien sind. main.o und noch iene 
andere.

Zum  Fehler steht da meine Syntax Error. kann es gerade nicht sehen, da 
ich nicht am Arbeitsplatz bin wo alles steht.

Und:
- Fehlt hier nicht noch eine Klammer }

- muss das
. = 0x1FC ;
LONG(0x87654321)

mit in die *.ld (Lunker) datei, oder kann ich das in mein code nehmen?
lg und danke schonmal

von P. O. (neop13)


Lesenswert?

Hallo
das kann doch nicht so schwer sein. hat denn noch keiner seinen Proz 
geschützt?

von P. O. (neop13)


Lesenswert?

hier:
http://www.embeddedrelated.com/groups/lpc2000/show/6942.php

steht, das es genüge dies:
1
const unsigned int CodeReadProtect _at_ 0x000001Fc = 0x87654321;

zu integrieren, aber mein compiler kennt das at irgendwie nicht. (GCC 
compiler).

egal ob ich es im loader oder im code schreibe.

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
Noch kein Account? Hier anmelden.