Forum: Mikrocontroller und Digitale Elektronik ATEMGA's und AT91SAM7 vor umprogrammieren schützen


von Josef (Gast)


Lesenswert?

Hallo zusammen,

ich habe hier mehrere Controller, unter anderem:

ATMEGA162, ATMEGA32, AT90CAN, AT91SAM7X.

Meine Frage ist nun:

Kann man den Code in den Controllern irgendwie schützen, dass die Geräte 
nicht neu Programmiert werden oder zumindest nicht das Programm/EEPROM 
ausgelesen werden können?

Ist so etwas irgendwie möglich oder vorgesehen?

Eventuell kennt ja jemand eine Lösung!

lg

von Sven J. (svenj)


Lesenswert?

Moin,

bei den Mega kann man beim programmieren Flags setzen die ein Auslesen 
verhindern, die sog. "LockBits" Demit wird der Aufwand an die Daten zu 
gelangen zumindestens sehr groß gemacht; möglich soll es noch sein.

Komplett löschen und neu programmieren geht dann aber immer noch!

Der ARM sollte einen ähnlichen Mechnismus haben, finde ich jetzt aber 
gerade nicht.

--
 SJ

von gerhard (Gast)


Lesenswert?

AT91SAM7:
such mal nach "Security Bit" im datenblatt.

gruss
gerhard

von Josef (Gast)


Lesenswert?

Vielen Lieben Dank euch beiden!

Ich werd das mal bei gelegenheit ausprobieren.

@gerhard ... beim SAM7X schreibe ich im Programm auf Tastendruck daten 
in den Flash damit sie Netzausfallsicher sind. Das müsste doch weiterhin 
klappen oder? Es wird doch nur der externe Zugriff verweigert aber wenn 
der Controller das selbst macht geht es?

Beim ATMEGA lese ich nur Daten ausm Flash die ich beim PRogrammieren 
dort abgelegt habe und nutze dort den EEPROM zum speichern von 
Netzausfallsicheren Daten. Da ist das ja alles völlig egal und sollte 
auch gehen.

von gerhard (Gast)


Lesenswert?

>@gerhard ... beim SAM7X schreibe ich im Programm auf Tastendruck daten
>in den Flash damit sie Netzausfallsicher sind. Das müsste doch weiterhin
>klappen oder? Es wird doch nur der externe Zugriff verweigert aber wenn
>der Controller das selbst macht geht es?
ja, sollte so sein. hier ein auszug auszug dem datenblatt:
"The goal of the security bit is to prevent external access to the 
internal bus system. (Does not apply to EFC1 on the AT91SAM7X512.) JTAG, 
Fast Flash Programming and Flash Serial Test Interface features are 
disabled."

zu beachten ist der hinweise auf den x512, offensichtlioch gilt das 
security bit nur für den efc0 (die ersten 256 kbytes).

gruss
gerhard

von Sascha (Gast)


Lesenswert?

Ja, den Kontroller gegen neues Programmieren zu schützen, was oft im 
Sicherheitstechnischen liegt, geht meines wissens nur bei den Renesas 
M16C typen und da muss man noch den richtigen Typ aussuchen. z.B. der 
M30624A.
Die neueren Typen haben eine Backdoor (Erase All !!!)
Gegen auslesen sind sie natürlich auch relativ sicher.

von Andreas (Gast)


Lesenswert?

Zu EFC1 beim AT91SAM7X512:


Unter "19. Embedded Flash Controller (EFC)" steht noch:

"The AT91SAM7X512 is equipped with two EFCs, EFC0 and EFC1. EFC1 does 
not feature the Security bit and GPNVM bits. The Security and GPNVM bits 
embedded only on EFC0 apply to the two blocks in the AT91SAM7X512."

Das Security bit ist also offensichtlich zwar nur über die EFC0-Register 
zugänglich, wirkt aber auf den zweiten Speicherblock EFC1.

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.