SAM_D5x/E5x Security Bit

OP #7387352
Lesenswert?

Hallo,

gibt es in der Studio 7 Entwicklungsumgebung eine Möglichkeit, gleich das Security Bit mit dem Programmiervorgang zu setzen? Kann man das irgend wie mit Tools-Device Programming->FUSES? Oder ist es die einzige Möglichkeit in den Programmcode diesen Setzbefehl einzubauen? Gibt es die Funktion zum Setzen schon fertig (hri_NVMCTRL) ?

#7390805
Lesenswert?

Hi Alex, Du bist hier im STM-Land ,)

Tatsächlich habe ich auch keine Erfahrung mit dem SAMDx (wir nutzen verschiedene SAM4x-Baureihen). 1.) ich kann mir gut vorstellen, dass das setzen der Bits von Studio 7 NICHT funktioniert (Studio 7 nutzen wir aber nicht), da der Vorgang doch einigermassen komplex ist (jedenfalls komplexer als beim z.B. AVR). Hier (https://forum.arduino.cc/t/samd21-set-security-bit/910208) zwigt aber jemmand, wie das via JLink wohl doch klappt.

2.) https://microchip.my.site.com/s/article/SAMD20-SAMD21-Programming-the-fuses-from-application-code kennst Du? Da ist der Vorgang ja haarklein aufgebröselt und Du kannst in Deine Funktion aufnehmen was Du brauchst... Viele Grüße Stephan

#7390815
Lesenswert?

Hi Alex,

also mit "Tools -> Device Programming" sollte es doch möglich sein.

Hab das jetzt nur mal überflogen, aber entweder einzelne Regionen mit: "Fuses -> USER_WORD_2.NVMCTRL_REGION_LOCKS"

oder mit "Security" den ganzen Chip (sieht für mich nach dem gleichen aus, habs aber nicht weiter verfolgt).

Falls du das Flashen und setzen der Lock Bits in einem Rutsch machen möchtest: Du kannst dir eine Batch schreiben, die "atprogram.exe" nutzt. Dann kannst alls hintereinander abhandeln

  • chip löschen
  • fw übertragen
  • chip sperren

edit: https://onlinedocs.microchip.com/pr/GUID-BEAFF546-6F18-4E6D-AA49-7F9E840C6289-en-US-4/index.html?GUID-B3F08EF6-37FA-4BB6-BF11-8F9CCC73BD16

OP #7390831
Lesenswert?

Hey, danke für deine schnelle Antwort und Hilfsbereitschaft. Ja, es geht mir um den Firmwareschutz und nicht um Lock Bits. Nach erneuter Suche, habe ich auf einmal gefunden, was ich gesucht habe. Irgend wie hatte ich vor Ostern "Tomaten auf den Augen". Für die "Nachwelt": Zusätzlich zu Adam P.'s Hinweis, die einfachste Möglichkeit ist...

Mit Tools->Device Programming->Security kann man dieses Bit setzen.

Sowohl beim SAMD21 als auch bei den SAMD/E5x. Noch eine Möglichkeit ist mit Software, hier nur der Kern: NVMCTRL.CTRLA= CMDEX | <SSB-Command>(0x45)

Dein Hinweis mit der Batch-Datei könnte bei der Serienfertigung interessant werden. Problem gelöst, Danke nochmal.

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