avatar_ete

ATM8 işlemciye program atma

Başlatan ete, 26 Ekim 2024, 12:35:03

ete

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


mehmet

#1
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.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

ete

#2
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.


mehmet

#3
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.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

onurinci

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

ete

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

oguztkn


onurinci

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

istinaf duvarı

#8
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.



-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.



-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.


ete

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

ete

#10
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.


istinaf duvarı

#11
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

mehmet

#12
Dahili 8MHz osilatör frekansı sigorta ayarlarından 8'e bölünüyordur.
Elinizdeki sigorta değerlerini yazarsanız bakalım.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

ete

Resim olarak verilmiş. İlişiktedir.

Ete

istinaf duvarı

#14
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.

Powered by EzPortal