Usbasp ile Atmel Programlama

Başlatan volkanunal, 08 Nisan 2018, 16:37:21

volkanunal

Merhabalar , usbasp ile avr ailesinden herhangi bir denetliyiciye program yükleme işlemini vs rahatlıkla yapabiliyorum. Sormak istediğim şu , flash hafıza da istediğim bir adrese programı yazma yaparken konsol üzerinden bunu gerçekleştirebiliyor muyum? Yoksa Gui uygulamasını mı kurmam gerekiyor , bootloader konusunu öğrenebilmek için basit bootloaderlar yazmaya çalışıyorum bunu hafızaya gömerken bootloader section kısmının adresine yazmak istiyorum direkt konsol üzerinden.
Primum nil nocere

Kabil ATICI

Üzerinde boot modu bulanan atmel işlemciler bildiğim kadarı ile
boot modu aktifleştirilmiş ise (boot işlem bitleri)
reset işleminden belli bir süre için aktif kalır ve sonra program yürütme modu için 0 adresine geçer.
Ve yürütme esnasında herhangi herhangi bir zaman diliminde boot moduna geçiş yapmaz.
Yani program yürütme esnasında flash üzerine yazma işlemi gerçekleştirmez. Çünkü bu işlemci başlarken veya elektrik kesilirken işlemcinin üzerindeki programın silinmesine sebep olabilir.

Bunu asm komutları ile çalışırken gördüm. Çünkü asm olarak kendi flash alanına yazma komutları sadece boot modu esnasında aktif olmaktadır.

Herhangi bir anda  programlama ISP (programlayıcı yardımı ile) üzerinden yapılması mümkündür ki, bu işlem esnasında ilk anda zaten işlemci resetlenmektedir.
ambar7

volkanunal

Hocam bootloaderı anlatmışsınız ama benim sorduğum soru farklı , usbasp ile işlemcinin flash hafızasında ki ilgili bir adrese nasıl kodumu yazarım , zaten autoreset yapıyor kendisi :)
Primum nil nocere

Kabil ATICI

Bunu söyleyebilmek için bilgisayar ve programlayıcının (usbasp) hangi komutlar ile haberleştiğini bilmek gerekir.

Bunun ile ilgili bir bilgi veya paylaşım var mı bilmiyorum. Bu sorunun çoğunlukla hazır arayüz uygulamaları ile çözüme gidiyorduk.

İşinize yarar mı bilmemem, Arduino üzerindeki "Arduino As ISP" olarak geçen bir Arduino'yu ISP (burada sizin programlayıcınız gibi ) bootloader programlayıcı olarak çalışmayı sağlayan bir yazılımdır. Bir noktaya kadar yardımcı olur, tek sorunu buradaki uygulama sadece Arduino programlama ile sınırlıdır. Arduino programı örnekler bölümünde ArduinoISP'dir.

usbasp nasıl çalışır tam olarak bir şey diyemem.
http://elektronikvelemciler.blogspot.com.tr/2009/06/rs232-avr-isp-programlayc.html

bu ARV ISP olarak bir zamanlar paylaşılmış olan orjinde usbasp gibi çalışan bir yapıdır. Doğrudan atmel studio ile programlama yapabilen bir devre. program dili asm olmaktadır. Sanırım artık atme studio seri port programlayıcıları desteklemiyor. (hatta bilgisayarlarda bile yok) USB uygulamaların geçtiler. Bu nedenle yeni çipler üzerine USB portu gömülü olarak geliyor.

Burada da eğer kodu incelersen işlemler belirli komutlar üzerinde yürütülüyor.

Emin olmamakla birlikte usbasp STK500 üzerine kurulu olabilir. Bu yapının komut sistemi incelenirse belki bir yere ulaşılabilir.
ambar7

volkanunal

Hocam sorun yazılımının hazırlanması ile ilgili değil , anlamlandıramadağım nokta şu örnek bir video bırakıyorum aşağıya burada ki adamın arayüzde program attığında bootloader yaptığını göstermeye çalışıyor , fakat o komut ile ben zaten yazılım yükleme işlemi yapıyor. Bu noktada bootloader section'a yazması gerektiğini nasıl söylemem gerek diye sormaya çalışıyorum ben :) usbasp komutlarını kullanabiliyorum zaten :) Yani arduino kartı ile alakalı bir durum değil , zaten onun usb bootloaderı var , ben öğrenmek amaçlı kendi bootloaderımı oluşturup harici programlayıcı ile gömmek istiyorum başka atmel çiplerine.
https://www.youtube.com/watch?v=UKY54nEebj8
Primum nil nocere