CM0 ve CM3 flash rom silme, yazma rutinleri

Başlatan z, 21 Şubat 2020, 12:59:29

z

CM3 ve CM0 arasinda flash silme yazma rutinleri ve registerleri/flaglari arasinda fark varmi?

CM0 ve CM3 de code protection acisindan farkliliklar var mi?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#1
STM32F031C6 ile calisiyorum. Durduk yere cip cop olmasin.

Forumda daha onceki tartismalarda CM0 islemcide Level2 koruma yapilirsa bir daha cipe kod atilamaz denmis.

Bu konuda ST dokumani varmi?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

CM0 in flash/code protection vs dokumanini bulamadim.

Linkini bilen var mi?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com


z

Sagolasin ben de tamamen flash konusunu anlatan tek basina bir dokumani var saniyordum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#5
CM3 icin yazdigim kodlari CM0 kodlarina cevirerek aynen kullanabiliyorum gibi gorunuyor.

Sorularimin cevabi asagida.

;***********************************************************************************************
; LEVEL 0 Hic bir koruma yok
;
; RDP Byte=0xAA
; RDP Complement =0x55
;***********************************************************************************************

;***********************************************************************************************
; LEVEL 1 Koruma var, SWD ile Debug yapamazsiniz fakat cipin silinmesine raziysaniz
; korumayi kaldirabilirsiniz. (Cipi ilk satin aldiginiz duruma geri getiriyorsunuz)
;
; RDP Byte=herhangi bir deger    !!! 0xAA yada 0xCC olamaz
; RDP Complement RDP nin inversi !!! 0x55 yada 0x33 olamaz
; RDP Complement yanlis olsa bile Level 1 gecerlidir.
;
; Bu koruma modunda flasha koydugunuz yaziliminizla iceriden Flash memory'i okuyabilir,
; yazabilir, silebilirsiniz.
; Iceriden Option byte uzerinde de tum degisiklikleri yapabilirsiniz.
; Eger Level 0'a donerseniz flash icindeki program silinir.
;
;***********************************************************************************************

;***********************************************************************************************
; LEVEL 2 Koruma var  SWD tamamen devre disi kalir.
;
; RDP Byte=0xCC
; RDP Complement = 0x33
;
; Bu koruma modunda Debug islemi yapilamaz.
; SWD ise yaramaz, Ramdan kod isletilemez. System memoryden boot yapilamaz.
;
; Bu moda gecince artik flasha debug portu uzerinden program yukleyemezsiniz.
; Fakat flasha yerlestirdiginiz programin, flashi silme yazma ozelligi varsa ve dis dunya ile
; haberlesecegi bir duzenek kurduysaniz yaziliminizla cipinize yeni kodlar
; yerlestirebilir. Koruma seviyesi 2 degismeyecek sekilde diger degisiklikleri yapabilirsiniz.
;***********************************************************************************************

Bu durumda eger cipinizi 2 seviyesinde koruyacaksaniz ve ticari bir urun yapiyorsaniz

Kodlarinizda bir daha hic degisiklik gerekmeyecekse level 2 yapin gitsin.

Yok bug falan olur yada musteri taleplerine gore yeniden kod yuklemem gerekir diyorsaniz
ya level 2 yerine level 1 secin, ya da kodlarinizin icinde flashi yazan silen kodlari
daha ilk bastan cipe gomun.


Level 2 nin Level 1 den ne ustunlugu var?

SWD kanalini tamamen kapiyorsunuz. Yani SWD uzerinden option register dahil hic bir sey degistirilemiyor.
Ne yapacasaniz siz flash ile ilgili degisiklikleri kendi programiniza yaptiracaksiniz.
Fakat ne yaparsaniz yapin cipin koruma duzeyini bir daha satin aldiginiz duruma indiremiyorsunuz.

Yani gelistirme kitlerinizde falan bunu aman denemeyin. Sadece sattiginiz urunlerde yapin. Onu da nasil yapacaginizi ustte yazdim zaten.


Bu sonuclara en.DM00031936.pdf dokumanindan ulastim.

Bootloader ile ilgili dokuman

https://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD00167594.pdf/files/CD00167594.pdf/jcr:content/translations/en.CD00167594.pdf




Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Option Byte registerinde

0x1FFFF800 adresinde yeralan nUSER ve USER alanlari ne ise yariyor?

0x1FFFF804 32bit alani ne ise yariyor?

Option registerini birileri kurcaladimi falan testi icin mi dusunulmus?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com