Atmega328P Koruma Kilit Bitleri, Lock Bits

Sadece prototip oluşturmak için kullandıktan sonra açık kaynaklı bir platform olsa da kodlarınızı korumak isteyebilirsiniz. Bunun için biraz araştırma yaptım. Nedense kimse bu konuyu hobi olarak ilgilenenlere anlatmamış. Gömülü sistem tasarım isimli blogun yazarı Sigorta ve Osilatör seçenekleri  konusunda sigorta ayarlarını çok güzel anlatmış ama Koruma için yapılması gerekenlere değinmemiş.
Datasheet sayfa 347 de bilgilere ulaşabilirsiniz. Ben kısaca olayı anlatacağım.
öncelikle bir usbasp resimde gördüğünüz gibi ucuzlarından bir programlayıcı almanız gerekli.


https://www.fischl.de/usbasp/ Bu adresten gerekeli bilgi, program ve sürücüleri alabilirsiniz. Windows 10 ile sorun yaşayacaksınız. Sürücülerin imza denetimini kaldırmanız gerekiyor. Bununla ilgili biraz araştırma yaparak bilgi alabilirsiniz.



WinAvr ve Khazama gibi bir kaç program denedim Khazama atmega328p lock bits desteklemiyor ve komut istemiyle işlem yapmak sıkıcı geliyorsa Progisp 1.7 işinizi görecektir. Arduino ya da Atmega mikro denetleyicinizin ilgili pinlerine bağlantınızı yaptıktan sonra programı çalıştırın.




Ben programın tüm detaylarını anlatmayacağım bağlantıları yapın programı çalıştırın. Resimde gördüğünüz kırmızı kutu içindeki düğmelerden birine basın.





Karşınıza yeni bir pencere çıkacak buradan lock  bits seçeneklerini değiştirip istediğiniz ayarı yapın.



Resimde gördüğünüz Atmega328p kullanan Arduino kartların ayarlı halidir. BLB11-12 bootloader koruma bitleri. BLB01-02 uygulama bölümünün koruma bitleridir. programlarsanız ("0 "yaparsanız) karta- mikro denetleyiciye program yükleyemezsiniz. Ben kabaca söylüyorum detaylar Datasheette mevcut.
Resimdeki gibi LB1 ve LB2 yi "0" yaparsanız programın okunma şansı kalmaz. Okunur fakat boş bir hex dosyası gelir.
 Elbette yöntemleri vardır. Yazılan programın aynısını hatta daha iyisini yazmak mümkün, burada amaç alıp kopyalamayı önlemek.