MCS'yu MCSP gibi kullanma

Başlatan hiddenman32, 08 Temmuz 2004, 11:57:18

hiddenman32

Bootloader yazılımı ile uğraşırken şunu farkettim. Belki diğer arkadaşlar daha önceden bunu farketmiş olabilirler ama yinede yazıyorum.

MCS kurulduğunda sadece 16f628 için ICD özelliğini açıyor diğerleri için demo modunda çalışıyor ve ICD derlemesi yapmıyor. Eğer örneğin 877 için bootloader kullanmak istiyorsanız ve plus yoksa elinizde bir hex editorü ile exe MCD'nun exe dosyasını açın exe içinde yer alan 16f628.icd satırını örneğin 16f877.icd olarak değiştirin bu sefer 877 için ICD derleme yapıyor. Tamamını kırma işlemi benim için biraz zor oldu ama bu işi başarabilecek arkadaşlar vardır sanırım.

Birde örneğin bu satırı 16F88.icd olarak değiştirdiğimde malesef olmadı.İki ayrı nedeni var bir uzunluk bire bir tutması gerekiyor ikincisi ise icd uzantılı dosyanın içinde de pic in adı yazılı ikisi farklı olunca yine hata veriyor.

MCLoader dosyasını bir arkadaşın verdiği eski versiyon MCSP'nin içinden alabilirsiniz.

Hepinize kolay gelsin.

oyhan

Selam
"Eğer örneğin 877 için bootloader kullanmak istiyorsanız "

yukarıda kullanmış olduğunuz cümledeki bootloader nedir. Ya forumda her yerde görmeye başladım program da yazıyorum benim anladığım program yükleme işlemi gibi bir şey doğrumu yoksa similasyonla ilgili farklı bir şeymi? Lütfen  birisi beni bu konuda aydınlatsın ya. Teşekkür ederim.
Saygılarımla...
BİRLİKTEN KUVVET DOĞAR:

cozturk

hiddenman32 kardeş, sende mcspyokmuydunezahmetettin

hiddenman32

Alıntı yapılan: "cozturk"hiddenman32 kardeş, sende mcspyokmuydunezahmetettin

Üzgünüm yoktu ve halada yok. Bir arkadaş yardımcı olursa elde edeceğim.

Bakarsın bir gün birisinin işine de yarayabilir? Kimbilir?

hiddenman32

Sonsivri sitesi uzun zamandır çalışmıyor.

Ayrıca elimde MCSP eski versiyonu var oda pic16f88'i desteklemiyor o yüzden başka yollar denemek zorunda kaldım. Çünkü yeni versiyon MCSP bu chip'e destek veriyor.

Selamlar....

cozturk


hiddenman32

Bu versiyon var bende pic16f88'i desteklemiyor

Yinede sağol

cozturk

hex editörle ...16F88.icd  olarak değiştiriken belki bir formalite eksikliği olabilir.  sağa veya sola dayalı yazmak, stringler arasındaki ascii karaktere dikkat etmek işi çözer gibi geliyor. (bu konuda baya tecrübelyim de. ) örneğin boşluk yerine klavyeden girmeyip hFF veya başka bişey koymak gerekebilir.

hiddenman32

Denedim. ffh, 00h, 20h, sola dayalı, sağa dalı olmadı. icd uzantılı dosyayının adı değiştirip 3 haneli hale getirdim fakat icd dosyanın içinde de adı kayıtlı olduğu için yine olmadı. icd dosyanın için ilave yapınca checksum bozuluyor olmuyor. Eski versiyon mcsp'a yeni icd dosyası olmuyor. Yani zorlandım. İşin doğrusu kendi bootloaderimi yazarken yaşadığım zorluklar yüzünden bu işe giriştim. Hex dosyasını inceleyip oradan yola çıkmak için ama takıldım.....

z

Alıntı yapılan: "oyhan"Selam
"Eğer örneğin 877 için bootloader kullanmak istiyorsanız "
yukarıda kullanmış olduğunuz cümledeki bootloader nedir. .....

Boot loader,  iletişim kanalarını kullanarak kullanıcının yazmış olduğu programın işlemci üzerinde koşturulabileceği bir alana yüklenip çalıştırılmasına imkan tanıyan küçük bir yazılımdır.

Boot loader, programınızı, kullanılan işlemciye bağlı olarak rama yada  flash'a yükleyebilir. İletişim için seri port yada başka bir port kullanılabilir. (Bootloadera bağlı bir özellik)

Geliştirme aşamasında yazıp bozduğunuz programın basitçe işlemciye yüklenmesini ve denenmesini sağladığı için sistem geliştirme aşamasında çok faydalı.

Bu bahsettiklerim  bootloader ın genel açıklaması ve 877 de nasıl bilmiyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

cozturk

Alıntı yapılan: "hiddenman32"..yapınca checksum bozuluyor olmuyor
Hocam checksum correction yapan bir editör olsa belki olmaz mı. ama sanırımı bunların checksum 'ı farklı  bir tip olup dosyanın kim bilir neresine kaydediliyordur.

cozturk

buldum buldum. sağa veya sola yaslamak sorunu çözmez. bunun yerine şöyle yapabiliriz. örneğin hex dosya şöyle olsun:
â16f628.icd
bunu şöyle edit edersek sorun çözülebilir.
â16F88.icd  
Yani önceki karakteri sağa almalıyız. kendi yerine ise bir boşluk at bakalım . ben bu yöntemi çok denedim oluyor.  Burada da olabilir.

hiddenman32