Zastosowanie zabezpieczenia kodu przed odczytem w mikrokontrolerach LPC1100 oraz LPC1300

Listing 2. Fragment kodu z przykładu CRP (własny skrypt linkera)

 

Wnioski

Dzięki nauczeniu się jak włączyć zabezpieczenie CRP, projektanci mogą zapobiegać kradzieży własności intelektualnej. W niniejszym artkule opisano szczegółowe różnice występujące między poziomami zabezpieczeń CRP oraz przekazano sugestie, które mogłyby skłonić programistę do wyboru określonego poziomu. Korzystając z IDE LPCXpresso programiści mogą dodać zabezpieczenie CRP do swoich projektów, tworząc specjalny segment pamięci i umieszczając w nim stałą.

Załącznik A

Utworzenie zestawu własnych skryptów linker wymaga kilku etapów. Najpierw należy utworzyć w projekcie nowy folder o nazwie „custom_ld”. W nim będą przechowywane pliki własnych skryptów. Następnie należy przekopiować automatycznie wygenerowane skrypty linkera z rozszerzeniem „Id” z aktywnego folderu docelowego (zazwyczaj „Debug” lub „Release”) do folderu „custom_ld”. Na rysunku 3 pokazano, gdzie w projekcie przechowywane są skrypty generowane automatycznie. Należy zmienić nazwę pliku zgodnie z tabelą 2. Przed modyfikacją treści skryptów należy zapewnić konfigurację zestawu narzędzi jak pokazano na rysunku 4. Należy dodać sekcję „crp” do „Custom.ld”, jak pokazano na listingu 2. Na koniec należy zaktualizować Custom.ld, aby wskazać  skrypty Custom_mem.ld i Custom_lib.ld w nowo utworzonym folderze custom_ld . Przykład tego jest pokazany na listingu 3.

 

Tab. 2. Skrypty linkera o zmienionych nazwach

Nazwa oryginalna Kopia o zmienionej nazwie
NAZWAPROJEKTU_Debug.ld Custom.ld
NAZWAPROJEKTU_Debug_mem.ld Custom_mem.ld
NAZWAPROJEKTU_Debug_lib.ld Custom_lib.ld

 

Rys. 3. Automatycznie generowane skrypty linkera

Rys. 3. Automatycznie generowane skrypty linkera

 

 

Rys. 4. Definiowanie własnego pliku linkera

Rys. 4. Definiowanie własnego pliku linkera

 

 

Listing 3. Modyfikacje w skrypcie linkera „Custom.ld”

(1) Zmiany w stosunku do oryginalnego pliku dotyczą dyrektyw INCLUDE

Artykuł opracowano na podstawie noty aplikacyjnej AN10968 firmy NXP.

O autorze