lock bits

Başlatan berkay_91, 05 Haziran 2015, 20:41:09

berkay_91

herhangi bir atmega için başkalarının hex kodlarına ulaşımını engellemek için lock bitlerini 1 yapsam yani lock value 0xff olucak şekilde ayarlasam, daha sonra programı değiştirmek istersem bir daha o işlemciye hex kodu yükleyebilir miyim?

MrDarK

Evet, fakat öncesinde full chip erase yapıyorsun değiştirmeden önce. Ondan sonra tekrar lock yapabilirsin.

Arduino ile attığım kodu bu şekilde kitlemiştim. Fakat içinde bootloader var ve bootloaderdan yazma yapabiliyordum. Aynı şekilde bootloader'dan okuma çekebilirler mi acaba :)
Picproje Eğitim Gönüllüleri ~ MrDarK

mehmet

Lock bitlerini 0x3F den 0x00 a düşürüyorum.
Herşey kitleniyor. Daha sonra mcu silinirse
(Erase işlemi) yeniden kullanmaya hazır
oluyor. Ancak eski program tamamen silinmiş
oluyor. Bu işlemin kaç kere yapılabileceği
kataloğunda mevcuttur. 
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"


berkay_91

#4
Progisp kullanıyorum Atmega 8A da hex kodlarını kilitlemek için LS1 ve LS2 yi 0 yaptım ama sadece writing new program ve changing fuse setting i kilitledi, dediğiniz gibi erase yapıp yine fuse bitleriylede oynayabiliyorum yeni programda atabiliyorum. esas amacım read buffer ı kapatmaktı ki olmuyor bu iki biti low a çektikten sonra buffer okuyabiliyorum yani hala hex kodlarına ulaşımı kapayamadım...


mehmet

Hex kodlarına baktınız mı? İçeriği nasıl?
Hatta okuduğunuz kod ile yeniden
programlamlama yapınız.  Mu çalışacak mı?
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

berkay_91

save buffer a tıklayıp .hex uzantılı olarak kaydettikten sonra kaydımı Atmega328 e gönderdim ve program vazır vazır çalıştı, ancak bi şey oldu şu an ne yeni program atabiliyorum ne eski programı silebiliyorum nede fuse bitlerini değiştirebiliyorum...

mehmet

#7
Cepten baktığım için resmi görememiştim. Lock bit 0xC0 olacak
şekilde ayarlayınız.

Ek:
Programlayıcınız nedir?
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

sbugra

Alıntı yapılan: berkay_91 - 21 Temmuz 2015, 18:33:33
save buffer a tıklayıp .hex uzantılı olarak kaydettikten sonra kaydımı Atmega328 e gönderdim ve program vazır vazır çalıştı, ancak bi şey oldu şu an ne yeni program atabiliyorum ne eski programı silebiliyorum nede fuse bitlerini değiştirebiliyorum...
Muhtemelen hatalı fuse bit girdiniz ve SPI disable olduğu için SPI üzerinde program atamıyorsunuz. HVPP(High Voltage Parallel Programing) ile fuse bitleri sıfırlayabilir ve UC'yi yeniden kullanabilirsiniz. Yada yine hatalı fuse bit yüzünden osilatör ayarlarınız bozuldu ve mikro denetleyici boot olamıyor.

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

mehmet

Önceki verdiğim link hatalı imiş, doğrusu aşağıda:
http://www.mehmetbilgi.net.tr/?q=node/5
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"