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?
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 :)
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.
sağolun
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...
(http://s29.postimg.cc/lwmictw5f/Ads_z.jpg) (http://postimg.cc/image/lwmictw5f/)
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ı?
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...
Cepten baktığım için resmi görememiştim. Lock bit 0xC0 olacak
şekilde ayarlayınız.
Ek:
Programlayıcınız nedir?
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.
http://www.mehmetbilgi.net.tr/?q=node/1 (http://www.mehmetbilgi.net.tr/?q=node/1)
Önceki verdiğim link hatalı imiş, doğrusu aşağıda:
http://www.mehmetbilgi.net.tr/?q=node/5 (http://www.mehmetbilgi.net.tr/?q=node/5)