Arkadaşlar,
Elimde ATM8 işlemci ve USBTinyISP atmel programlayıcısı var. Tabiiki birde Hex dosyamız mevcut ve bu hex dosyasını bu işlemciye nasıl yazabilirim bilmiyorum. Çünki daha önce hiç Atmel ile uğraşmadım.
Bir kerelik bu iş lazım oldu bu nedenle öncelikli tercihim birisinin bana bir açıklama vermesi ve şu anda bilmediğim bir arayüz kullanarak bu programlayıcı ile bu işlemciye şöyle program yazabilirsiniz diyebilmesi. Bu arada öğrendiğim kadarı ile Atmel işlemcilere sigorta ayarları programlama esnasında veriliyor imiş. Buna ait birde resim dosyası mevcut oradan hangi sigortalar aktive edilecek görülebiliyor.
Şayet işi bu şekilde halledemez isem bir arkadaşın bu işi benim için yapmasını rica edeceğim.
Dediğim gibi önclikli tercihim işi kendim yapmak ama olmuyor ise bilen birisinin yapması. Bu iş için elbette işlemciyi ve diğer gerekli dosyaları ben vereceğim. Bu iş içinde tercihim Ankara da ikamet eden birisi olursa elden verebilirim. Böylece aşırı yüksek kargo ücretlerinden kurtulmuş oluruz.
Umarım birisi yardımcı olabilir. Şayet kendim yapabilecek isem ihtiyacım olan şeyler şunlar olacak.
- Hangi arayüz kullanacağım ve nereden yükleyeceğim.
- Arayüzü nasıl kullanacağım? özellikle sigorta ayarlarını nereden veya nasıl gireceğim.
Elbette aklıma gelmeyen başka kritik noktalar olabilir onlarında açıklanması iyi olur.
Şimdiden teşekkürler.
Ete
http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.php
Bu programı kullanabilirsiniz.
Benzeri tüm GUI programlar temelde "avrdude" programını kullanır, Arduino bile. Benim blogda açıklamalar mevcut.
https://www.mehmetbilgi.net.tr/avrdude-programi-kullanimi/
Avrdudes de var: https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/
Bu mcu için iki sigorta değeri olacak(LF, HF). İlave olarak kod koruma(FB) olacaksa o da ayrı verilmeli.
Sigorta ayarlarını dikkatli ve bir kaç kere kontrol ile girmelisiniz. İki kritik bit var, biri reset pinini iptal eder, biri de spi programlamayı iptal eder. Mcu bozulmaz ama kolayca programlama kısımından mahrum olursunuz. AVR Doctor gibi bir sistem ile eski haline getirilir.
Aklıma gelenler bunlar. Gerisini bildiğimce açıklayabilirim.
Mehmet ,
Cevap için teşekkür ederim. Şöyle bir baktım da ilk sıradaki linkte yer alan Avr8-Burn-o-mat isimli programla bu işi yapmak daha uygun geldi bana. Ancak acaba yinede Avrdude kurulacakmıdır pc ye onu anlamadım. Çok fazla içli dışlı olmuş bu avrdude ile Main window ile ilgili resme bakınca aslınca çok kolay gibi gözüküyor. Sırası ile yapılacakları sıralarsam;
1. En yukarıda öncelikle işlemci seçimi var (resimde Atmega8 seçili gözüküyor zaten ) sonuçta bizde Atmega8 programlayacağımız için o işlemciyi seçeceğiz.
2. Hemen yanında Fuses butonu var oraya tıklayarak sanırım manuel olarak vereceğimiz sigorta ayarlarını düzenleyeceğiz.
3. Daha sonra alt satıra geçip File butonuna tıklayarak hex dosyasının yerini göstereceğiz.
Yan tarafta bir kutu var ve orada intel.hex yazıyor zaten işlemciyi seçtiğimize göre ayrıca bu kutu ile ilgili bir işlem yapılacakmıdır acaba??.
4. Onun altında eprom ile ilgili bir dosya var ise yükleme adresi gösterilecek sanırım bizim olmayacak böyle bir ihtiyacımız.
5. Sonunda iş kalıyor programlayıcıyı seçmeye. Oda olsa olsa en yukarıda yer alan Settings butonun ile halldelicek gibi duruyor. Bu konuyuda açıklayabilirsen sevinirim.
6. En sonunda her şey hazır ve tamam ise flash kısmındaki WRITE butonuna tıklayarak programı işlemciye yazdıracağız sanırım. Yanlışım varsa düzelt lütfen.
Evet bir iki noktada bilgi ihtiyacı var bu programı biliyor isen sorduklarımı cevaplayabilirsen sevinirim.
Ete
not: Bu iş sandığım kadar kolay olmayacak anlaşılan. Aşağıdaki linkte yer alan video da adam ne var ne yok yükledi PC ye. Alt tarafı bir program atacağız işlemciye. Atmel de bu iş gerçekten çok zahmetli imiş. Gözünü seveyim Pickit2'nin.
Link: https://www.youtube.com/watch?v=jcDS8iaYS_Q
Önce AVR-Burn-O-mat yükledi.
Ardından Java yükledi çünki ana program Java ile yazılmış.
Daha sonra WINAVR yükledi buda gerekli imiş.
Daha sonra USB sürücülerini yükledi.
Aşağı yukarı işin nasıl yapıldığınıda videodan öğrenmiş oldum. Bazı yerleri hızlı geçti pek anlayamadım ama kurulum esnasında duruma göre yönlendirme yapacağız artık.
Winavr seçimlik, avr ile kod geliştirmek için gerekli.
Avrburn o mat veya avrdudess yüklendiğinde zaten avrdude kendiliğinden yüklenir.
USBTinyISP sürücüleri konusunda bilgim yok. Zira Linux üzerinde bunlar sorun olmuyor.
Setup bölümünde liste çıkması lazım. Eğer çıkmaz ise avrdude.conf dosyasının yerini göstermeniz yetecektir.
hocam Resiztans.net'ten aldığımde USBASP için bir mini CD vermişlerdi ,başarılı bir şekilde ATtiny 13,45, ve 85 programladım. sigortalara asla dokunmadım. load Flash , Load EEprom diye dosyayı çağırıyorsunuz sağ taraftaki menü dar, tıklıyorsunuz açılıyor oradan write Flash ve Write EEprom diyorsunuz hepsi bu kadar. CD içinde lazım olan driver dosyası ve programı ilişikte yolluyorum.. mmaalesef forum sistemi kabul etmediği için dosyaTC üzerinden 5.3MB olarak transfer ettim..https://www.dosya.tc/server/fym6z5/Depo.rar.html
onurinci,
Teşekkür ederim. Ancak link çalışmıyor. Tıklıyorsun boş bir sayfa açılıyor ve öylece bekliyor.
İçindeki dosyaların listesine ait ekran görüntüsü verebilirsen neler olduğuna bir bakmak isterim.
Ete
https://www.dosya.tc/server/fym6z5/Depo.rar.html
birde böyle deneyin hocam
hocam selam nasıl olduysa forum ettim kelimesi ile URL adresini birleştirmiş ,
https://www.dosya.tc/server/fym6z5/Depo.rar.html kontrol ettim faal
Alıntı YapAncak acaba yinede Avrdude kurulacakmıdır pc ye onu anlamadım.
Avrdudess'in yanında avrdude de geliyor. Diğer Gui'ler konusunda bilgim yok. Avrdude denilen şey bir exe dosyası ve bir conf dosyası. Bunları indirip gui programının exe'sinin olduğu klasöre kopyalıyorsunuz. Her şey bu kadar.
AVRDUDESS kullanım olarak daha pratik. Burn-o-mat'ın aksine native Windows uygulaması. Java istemez.
AVRDUDE'un 8.0 sürümünde otomatik tanımayı bozmuşlar. Gui programlarındaki otomatik tanıma düğmeleri sorun çıkarıyor. 7.3 daha iyi.
(https://i.ibb.co/jfmbkmB/avrdudess.png)
-Mavi kısımdan kullanacağımız programlayıcıyı seçiyoruz.
-Sağdaki turuncu kısımdan Atmel işlemcimizi seçiyoruz. Veya Detect düğmesine basabiliriz. İşlemci otomatik algılanıp seçilecektir. (Avrdude 8'de burası çalışmıyor. 7.3 öneririm.)
-Yeşil kısımda üç noktaya tıklayarak yükleyecğimiz program dosyasını seçiyoruz. Biz işlemci içerisine program yazacağımız için write/read/verify kısmını write olarak ayarlıyoruz. Bu aşamada sadece flash hafızaya program dosyasını yükleyeceksek Go'ya tıklayabiliriz.
-Açık yeşil kısım EEPROM hafızaya yükleme yapmak için. Yeşil kısımla aynı şekilde kullanılıyor.
-Sağdaki mor kısım fuse ve lock bitlerini ayarlamak için. L ve H (ve varsa E) fuse değerlerini hex formatında (0x...) giriyoruz. Girdiğimiz fuse bitlerinin programlama esnasında yazılması için Set fuses kutusunu işaretliyoruz. Dilersek write düğmesine basarak program yüklemeden sadece fuse bitlerini yazdırabiliriz.
Yine benzer şekilde Lock bit değerini LB kutusuna Lock bit değerini yazıp Write lock bits kutusuna işaret koyuyoruz.
Veya elle girmeden Bit Selector düğmesine tıklayarak fuse bitlerini elle tek tek seçebiliriz.
(https://i.ibb.co/sgD5cVG/bit-selector.png)
-Her şeyi ayarladıktan sonra mavi-gri kısımdaki Program! düğmesine tıklayarak programlama işlemini başlatıyoruz.
-Programlama sırasında bazen saat hızının yüksek olmasından kaynaklı haberleşme hataları olabilir. Bu durumda açık mavi kısımdan saat hızını düşürüp tekrar deneyebiliriz.
Avrdudess 2.17:
x64
https://github.com/avrdudes/avrdude/releases/download/v7.3/avrdude-v7.3-windows-x64.zip
x86 (32 bit):
https://github.com/avrdudes/avrdude/releases/download/v7.3/avrdude-v7.3-windows-x86.zip
Klasöre çıkartıp içerisindeki avrdudess.exe'yi çalıştırmanız yeterli.
Bilgi veren herkese teşekkürler. Sorunu hallettim sayılır.
Kılıf uyumsuzluğu nedeni ile programı hafta içinde atabileceğim.
Ete
Arkadaşlar,
İşlemciyi ve dolayısıyla devreyi deney boardında çalıştırdım. Ancak bir OSC sorunu var gibi gözüküyor. Devrede 7 segment display mevcut ve çok fazla kırpışarak çalışıyor. Devre bütün özellikleri ile çalışıyor. ancak sanki display tarama frekansı çok düşük kalıyor.
Bu işlemcide dahili OSC var ama nasıl ayarlanıyor tek bir frekansmıdır farklı ayarlanabilirmi bilemiyorum. İşlemciyi programlarken OSC frekansı değiştirilebiliyormu acaba bir bilen varmıdır. Var ise lütfen söyleyiversin.
Ete
not: soruyu sordum ama bir yandan da araştırma yaptım. Çoğu yerde işlemci frekansı 16Mhz deniliyor. Ama Data Sheet 8 ve 16 Mhz diyor. Daha doğrusu ATmega8L ise OSC frekansı galiba 8Mhz Benim işlemci ATMEGA L 8U bu şimdi 8Mhz midir 16Mhz midir siz karar verin.
Alıntı yapılan: ete - 01 Kasım 2024, 09:53:16Arkadaşlar,
İşlemciyi ve dolayısıyla devreyi deney boardında çalıştırdım. Ancak bir OSC sorunu var gibi gözüküyor. Devrede 7 segment display mevcut ve çok fazla kırpışarak çalışıyor. Devre bütün özellikleri ile çalışıyor. ancak sanki display tarama frekansı çok düşük kalıyor.
Bu işlemcide dahili OSC var ama nasıl ayarlanıyor tek bir frekansmıdır farklı ayarlanabilirmi bilemiyorum. İşlemciyi programlarken OSC frekansı değiştirilebiliyormu acaba bir bilen varmıdır. Var ise lütfen söyleyiversin.
Ete
Saat hızı L sigortasının son 4 bitinden(hex formatında birler basamağı) ayarlanıyor.
Varsayılan değeri 0001'dir. 1MHZ'e karşılık gelir.
0010:2M
0011:4M
0100:8M
Dahili osilatör 8MHz'dir. 16Mhz için harici clock gerekir.
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf#page=30
Dahili 8MHz osilatör frekansı sigorta ayarlarından 8'e bölünüyordur.
Elinizdeki sigorta değerlerini yazarsanız bakalım.
Resim olarak verilmiş. İlişiktedir.
Ete
Alıntı yapılan: ete - 01 Kasım 2024, 14:56:06Resim olarak verilmiş. İlişiktedir.
Ete
Fuse hesaplama için bu siteyi kullanabilirsiniz. İstedeiğiniz clock modunu seçip Apply dediğinizde yazmanız gereken fuse kodunu üretir.
Ek:Gösterdiğiniz ekranı google lens ile arattığımda çıkan sonuçlara göre ponyprog yazılımına ait olduğu görünüyor. Yazılım USB Tiny ISP ile uyumsuzluk çıkarıyor olabilir mi? Bildiğim kadarıyla bu yazılım eski seri portlu programlayıcılarla çalışan bir yazılım.
Eğer, harici kristal varsa dahi; ATMega8L en fazla 8MHz'de çalışabilir. Sistem 16MHz'de çalışıyorsa mcu değiştirilmeli.
CKSEL bitleri seçimimize bakılırsa işlemci 8Mhz de çalışıyor.
Doğru yani. Sorun başka yerde olsa gerek.
Şemalarda ve sigorta ayarları resminde hep Atmega 8Mhz diye bahsedilmiş.
İşlemci olarak hep Atmega8L şeklinde açıklama verilmiş.
Harici kristal de kullanılmamış. Ya işlemci çakma yada program yeterince hızlı tarama yapmıyor.
Başka da bir sebep kalmadı sanırım.
Ete
lfuse:0xE4
hfuse:0xD9 -> C9 olursa osilatör frekansı 8'e bölünür.
olduğunu düşünüyorum.
https://www.engbedded.com/fusecalc/
Display'in ortak uçlarından birine osiloskop bağlayarak tarama hızına baktınız mı? Belki programda tarama hızı düşük geliyordur.
Belki de programı yazan arkadaş 16MHz harici clock'a göre zamanlamaları ayarlamıştır, siz 8MHz'de çalıştırınca yavaş kalıyordur.
ite bu dertleri yüzünden AVR ve Mega'lardan uzak durdum,15 yıl evvel bir kit aldım.Toshiba T6963 GLCD'ye açılış seromonisi neredeyse bir dakika sürüyordu, forumların hepsine yazdım nafile , hiç cevap gelmedi , sonunda Picproje'den Ambar7 akşam 5 'te gelirim dedi , ümitsizce bekledim, ama beni yanılltı Atmel'in hex eeprom dosyalarına el sürmeden Clock Speed parametresini değiştirip tekrar programladı. ekran saniyede geldi farkında olmadan Clock division 8 değerini aktif etmişim. Proteus Hex dosyasından Fuse Map'i gösterebiliyor.WDT aktifmi falan rasat edebiliyorsun, ama Atmel'lere üvey evlat muamelesi yapıyor.Reziztans .net'ten 90S1200 almıştım dakka bir gol iki çöpe gitti . meğerse program atarken koyduğumuz Checkmark aslında ters çalışıyormuş, çok saçma idi , çocuk oyuncağımı bu.Atmel'ci dostlarıma sordum bana bir tek kelimede farkı söyle diye , dediki PIC mimari gereği hep 4'de böler ve uyuz oluruz diye...
Daha yakın zamana kadar orta ve düşük seviye pic mcular 20MHz(5MIPS) olarak çalışıyordu. Daha yeni yeni 32/64 MHz mcular çıkmaya başladı. Bunlarda zaten yine aynı 1/4 oranda çalışıyor.
Atmel Mega serisi 1/1 olarak çalışıyor. CPU olarak 808x bulunmakta. Zaten yakında MC, Atmel'li değil, Intel'den alınan lisansı satın aldı. ;)
Muhtemelen kendi mcularında da bu sistemi kullanmaya başlayacak.
Sorun çözüldü. Devre üzerindeki ölçümlerde tarama frekansının çok düşük olduğunu gördüm. Sanırım Mehmet'in dediği gibi OSC frekansı bölünerek uygulanıyor idi. Her şeyi baştan kontrol edince sigortaların ayrı olarak kayıt edilmeleri gerektiğini gördüm. Pic den gelen kötü alışkanlık yaz dedinmi her şey yazılıyor bizim tarafta burada her şey farklı. Neyse sistem şimdi sorunsuz çalışıyor.
İlgilenenlere teşekkür ederim.
Ete
Alıntı yapılan: ete - 02 Kasım 2024, 19:58:09Sorun çözüldü. Devre üzerindeki ölçümlerde tarama frekansının çok düşük olduğunu gördüm. Sanırım Mehmet'in dediği gibi OSC frekansı bölünerek uygulanıyor idi. Her şeyi baştan kontrol edince sigortaların ayrı olarak kayıt edilmeleri gerektiğini gördüm. Pic den gelen kötü alışkanlık yaz dedinmi her şey yazılıyor bizim tarafta burada her şey farklı. Neyse sistem şimdi sorunsuz çalışıyor.
İlgilenenlere teşekkür ederim.
Ete
Bu bahsettiğiniz durumları yaşamamak için avrdusess kullanıyorum. Tüm ayarların tek pencerede olması, bu tarz unutkanlıklara karşı iyi oluyor.
Bu arada PICkit™2 ile ISP destekli Atmeller programlanabiliyor. Avrdude içerisinde PICkit™2 programlayıcı olarak destekleniyor. Yalnız Tiny10 gibi TPI kullanan Atmeller programlanamıyor.