CCS ve TINY BOOTLOADER

Başlatan Erol YILMAZ, 29 Ocak 2006, 03:41:56

Erol YILMAZ

Burada TINY Bootloader in kullanimi hakkinda fikir alis-verisinde bulunacagiz.
Bir cok bootloader ozellikleri itibabari ile birbirine benziyor.
TINY B.L. kend'ne ozgu ozellikleri ile bunlardan bir derece ayriliyor.

1. Otomatik Reset [Yukleme icin boot yuklu PIC e dokunmaniz gerekmiyor]
2. Yuksek Hiz  [deneme kodlarini yaklasik 300 mS de yukledi]
3. Yaziliminin pratik olmasi

Bircogu bootloader da RS232 portundan RX ve TX bus i kullaniliyor.
TINY B.L. da Otomatik Reset icin ayrica  RTS pini de kullanıldığından
pratikligi kesinlikle artiran bir ozellik.
TINY BOOTLOADER  Sitenin adresinde bizim baktigimiz siralarda 1.91 versiyonu vardi.

Devre semasi digerlerinde oldugu gibi


Ayrica otomatik reset icin su devrede eklenmelidir.


Devreyi yaptiniz ama calismiyor !!!
Incelersek MCLR pinine uygun gerilim gelmedigini farkediyoruz.



Onun için buradaki Reset PIC Using RTS Line i  seciyor ve kullanmaya başlıyoruz. Ben bunu 18F452 ile denedim.

CCS te reset adresi ile ilgili h.h. bir değişiklik yapmıyorsunuz sadece ve sadece bootloader için işlemcinin flash alanının son 100 word unu bootloader a ayırıyorsunuz o kadar.

oyhan

Merhaba
Ben kullandım tiny bootloader'ı. Çok güzel bir program. Dediğiniz gibi çokda HIZLI ÇALIŞIYOR. Kullanımıda kolay. Ayrıca diğer bootloader lara göre picde daha az yer kaplıyor. Aslında pek  tartışacak da bir yanı yok hani. İyi çalışmalar.
BİRLİKTEN KUVVET DOĞAR:

mustafacan

merak ettim en kısa zamanda yapacağım
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!

taytis

hocam nedir bu biraz yardımcı olurmsunuz !

oyhan

Merhaba
Pic'in program hafızasının ilk adreslerine küçük bir programcık normal bir pic programlayıcı ile yükleniyor. Hafızada birazcık yer kaplıyor. Bu nedenle duruma göre genellikle program hafızası yüksek olan işlemciler (8k ve üstü gibi ) için kullanımı düşünülmelidir. Daha sonra pc de çalışan bir program vasıtası ile pice 115200Bps gibi hızlarda rs232 arayüzlü bir devre ile ( yukarıda en başta arkadaşımız anlatmış linkleri vermiş.) çok hızlı bir şekilde yazılım yüklenebiliyor. Genellikle bootloaderlar ile yükleme yapılırken işlemcinin resetlenmesi gerekiyorki program hafızasındaki bootloader programı yeniden başlatılsın ve pc ile senkronize olan pice program yüklenebilsin. Tiny bootloader ile resetlemeyi pc rs232 arayüzündeki rts sinyalini kullanarak yapmışlar. İsteğe bağlı kullanabilirsiniz. Devre üzerinde programlama yapmak ve üretimide bootloaderın avantajlarını göz önüne alarak yapmakta fayda var derim. Saygılarımla ...
BİRLİKTEN KUVVET DOĞAR:

taytis


mp3dragon

Alıntı yapılan: "Erol"
CCS te reset adresi ile ilgili h.h. bir değişiklik yapmıyorsunuz sadece ve sadece bootloader için işlemcinin flash alanının son 100 word unu bootloader a ayırıyorsunuz o kadar.

Erol, ben de uygulamalarımda bootloader kullanıyorum. Bootloader Flashın ilk veya son birkaç yüz byte ını kullandığı malum. Ancak son 100 byte nı kullansa bile pic resetlediğinde ilk birkaç byte da sıçrama komutu bulunması ve bunun kendi programımız tarafından silinmemesine dikkat etmemiz gerekmez mi?Yoksa bootloader bir daha çalışmaz.CCs kullanmadığım için bilmiyorum belki de CCs bunu kendi hallediyordur. Ancak o zaman bile derleyiciye bunu bildirmemiz gerekiyor gibi geliyor bana. Yoksa nasıl bootloader programına dallanacak? Ya da başka bir derleyici kullanıyorsak?
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Erol YILMAZ

Iste TINY bu noktada birşeyler yapıyor.
TINY senin bu ilk baştaki GOTO ifadene bakıp programı yuklerken modifiyeli olarak yukluyor.

Niye Goto ?
Çünkü 4. word de kesme programı başlıyor. Ve buradan zıplayarak gecmek zorundasın.
Boot donusu de yine o adresten devam ediyor...
Tabi bu nokta biraz tahmini. Çok açık bir şekilde bir yerde yazdığını görmedim. Yorumlarım yanlış ta olabilir...
CCS de reset vektörünü değiştirdiğimizde TINY ilk 4 word te GOTO yok diye uyarı veriyor...

seferuzan

arkadaslar bu bootloaderlar nedir ne işe yarar.ilk bir kaçyüz baytı kaplıyormus,en başta normal bir programmer ile yukleniyormus falan.ama kimse tam olarak bootloderin ne oldugunu anlatmamıs.nedir bu bootloader.nerede neden kullanılır.intel 8088 de falan ilk baytlar kesme vektör aderslerini belirtmek için kullanılıyor.bu da böyle bir sey mi.anlatır yardımcı olursanız sevinirim.

CaFFeiNe

mesela en basitinden uydu receiverlara yazılım atmak için sadece RS232 üzerinden pc ye bağlayıp programı atıveriyorsun değilmi? receiverı söküp mikroişlemciyi çıkarıp (yada flashı) programlamıyorsun
işte bootloader bu işi yapıyor programlayıcı cihaz olmadan mikroişlemciyi programlamaya yarıyor tabiiki sadece birkez bootloader programını mikroişlemciye yüklemek için programlayıcı (propic, epic, K128 vs.vs) kullanman gerekiyor

mustafacan

boot hexini normal bir pic programmer ile atmamız mümkün değilmi? illaki bir boot loadermi lazım arkadaşlar?
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!

mp3dragon

@mustafacan,

Tabii öncelikle boot hex'sini normal proglamlayıcı ile atman gerekir. Ondan sonra artık programlamayı çipi söküp takmadan devre üzerinde yapabilirsin.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

mustafacan

Arkadaşlar, Tiny Boot loaderin pcb sini isteyen alabilir.
Ares 6.7 sp3 ile çizdim. Malzeme listeside ekindedir.
Tiny Boot Loader Pcb si
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!

Erol YILMAZ

PL2303 lu bu USB-RS232 cevirici TINY bootloader ile calisiyor, haberiniz olsun.



Beyazimsi RS232 kablosu WIN 3.1 zamanindan kalma bir fare ye ait oldugundan idare edin, cok temiz değil... :D

aster

@mustafacan, çizdiğin devreyi yeniden yükliyebilirmisin?

mümkünse buraya yükle
http://picproje.org/upload/