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) ?
Hallo, hat auch niemand den Ausleseschutz des SAMD21 benutzt und das Security Bit gesetzt? Wie habt ihr das gemacht?
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
:
Bearbeitet durch User
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
:
Bearbeitet durch User
Nachtrag: OK, es gibt da einen kleinen Unterschied im Verhalten bzgl. NVM Region Lock Bits und dem Security Bit. https://asf.microchip.com/docs/latest/sam0.applications.asf_programmers_manual.atsaml21/html/group__asfdoc__sam0__nvm__group.html#asfdoc_sam0_nvm_module_overview_locking_regions
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.