USB HID Bootloader'li PIC18F4550 Deney Kartı

Başlatan selimkoc, 13 Eylül 2014, 00:21:32

remzi


M_B

01 Mayıs 2015, 01:40:21 #61 Son düzenlenme: 01 Mayıs 2015, 01:46:03 M_B
Alıntı yapılan: remzi - 30 Nisan 2015, 20:59:11
http://www.mikroe.com/forum/viewtopic.php?f=89&t=60534

linkteki hex'i 18F4550'ye yükledim.
USB porta takınca bilgisayar görüyor. ses'de çıkıyor.
Ama bootloader programı bağlantı yapamıyor.
5 sn sonra usn'den kablo süklmüş bigi ses geliyor.
Sebebi nedir acaba?

Hocam PIC18F4550 - 8MHz crystal olarak ayarlanmış gozukuyor.
siz mikroC de krıstali 20Mhz yaparak derleyip denermisiniz.
Bende bu kartı kullanıyorum. Nasıl yaptıgımı unuttum. Bakın olmazsa p.tesi iş yerindeki makinemden ilgili dosyayı bulup yollarım.




mesaj birleştirme:: 01 Mayıs 2015, 01:46:03

Alıntı yapılan: serdararikan - 11 Ekim 2014, 19:14:05
20MHz için hex dosyası linktedir.yapmanız gereken sadece usb bağlantısı ve reset devresi.
http://www.yukletr.com/download.php?file=3c3558c2170a4fab93b2b2bffd17998e

Ayriyeten de C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\Examples\Other\USB HID Bootloader\Projects\PIC18F
Link Saglammış denedim.

İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

remzi

o 8 Mhz'lik kodu 20Mhz yapıp denedim. Entegreyi yükleyip PC'ye bağlayınca driver'ı otomatik bulup yukledi. ondan sonra bootloader programını açıyorum bağlatı yok diyor. MCLR'ye buton ile reset yaptım. basınca usb bağlandı sesi geliyor. 5 sn sonra söküldü sesi geliyor.
Linkini verdiğiniz hex'de aynı şekilde çalışıyor.
Acaba HID driver'ımı yanlış yükledi PC.
Driver'ı nasıl değiştirebiliriz?

M_B

Hocam yüklemeyi aşağıdaki şekilde mi yapıyorsunuz ?

USB HID Bootloader ile programlama 4 adımda gerçekleşmektedir.

1. USB Bootloader yazılımı yüklenmiş PIC USB Portuna bağlandığında 5 sn süre ile USB simgesi kırmızı olur.

2. Bu 5 sn süre içinde "Connect" butonuna basıyoruz.

3. Yüklenecek .hex dosyayı seçiyoruz.

4. PIC'e yüklemek istediğimiz programı yüklüyoruz.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

thenorthstar

S.a Selim hocam, ccs de yazdığımız bir kodu Microbootloader ile yüklemeye çalıştığımda aşağıdaki hatayı veriyor. Yazdığı örnekte br sıkıntı var mı kontrol edebilir misiniz?
CCS de yazdığımız bir programı MikroBootloader ile yükleyebilirmiyiz? Nasıl bir parametre yazmamız gerekiyor.



CCS de deneme yaptığım kod:
Kod Seç

#include <18F4550.h>
#device ADC=10
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT   // 20 MHZ
#use delay(clock=48000000)

#define USB_HID_DEVICE     TRUE             
#define USB_EP1_TX_ENABLE  USB_ENABLE_INTERRUPT 
#define USB_EP1_RX_ENABLE  USB_ENABLE_INTERRUPT    
#define USB_EP1_TX_SIZE    64                 
#define USB_EP1_RX_SIZE    64                 

#include <lcd.c>
#include <pic18_usb.h>     
#include "USB_Konfigurasyon.h"               
#include <usb.c>   
//////////////
#use fast_io(b)
#use fast_io(d)
/////////////
#define UcNokta1       1 
//Yazılım (Firmware) Sürüm no
#define surum_no1      0x00            
#define surum_no2      0x01 
#define usb_durum      paket[0]
#define hata           paket[1]
#define port_durum     paket[2]
#define kontrol        paket[3]
/////////////
unsigned int8 paket[64];
////////////

void main(void)
{     
   
set_tris_b(0xff);
   
output_b(0x00);
   
set_tris_d(0x00);
   
output_d(0x00);
   
usb_init();                      
   
usb_task();                      
   
usb_wait_for_enumeration();         //Cihaz, hazır olana kadar bekle
   
   
if(usb_enumerated())    
      
output_high(pin_d0);
   for (;;)
   {
      while(
usb_enumerated())
      {
  
         if (
usb_kbhit(1))             //Eğer pc'den yeni bir paket geldiyse
         
{         
            
usb_get_packet(UcNokta1paket64); //paketi oku           
            
switch(kontrol)              // Paketin ilk elemanındaki komutu oku ve ilgili göreve git
               
{
                  case 
'o'
                    
output_high(pin_d1);
                    
port_durum=8;
                    
usb_durum=9;
                    
hata=input_b();
                    
usb_put_packet(UcNokta1paket64USB_DTS_TOGGLE);//64  
                    
output_low(pin_d1);
                  break;
                           
                  case 
'k':
                  
output_high(pin_d2);
                    
port_durum=3;
                    
usb_durum=3;
                    
hata=3;
                  
usb_put_packet(UcNokta1paket64USB_DTS_TOGGLE);//64
                    
output_low(pin_d2);
                  break;  
                    case 
'u':
                  
output_high(pin_d1);

                  break; 
                  case 
'y':
                  
output_low(pin_d1);

                  break; 
               }
         }
      }
   }
}

selimkoc

Derlenmiş olarak gönderirseniz deneyebilirim. CCS derleyicim yok.

thenorthstar

S.a Hocam aşağıdaki link de proteus, C# ve ccs dosyaları mevcut hex kodu içerisinde hex kodunu sizin karta göre düzenledim USB takılınca E0 yanıyor, c# programından led yak söndür diyince e1 yanıp sönüyor. Olmas ise ccs kurup deneye bilir misiniz Hocam.


Hex i bootloader olmadan direk pic içerisine atarsam çalışıyor fakat bootloader dosyasını yüklüyorum Mikrobootloader ile pic görüyor programa hex dosyasını gösterinde diğer mesajımdaki hatayı veriyor.

Dosyalar:
https://mega.co.nz/#!gNF21aZT!lWPrZThRIud1pCzfhhONAkegAQJMpHQ2k96Ys4q7bI4

thenorthstar

Teşekkür ederim Arkadaşlar, anlaşılan kimse yardımcı olmayacak bu MikroBootlader ile ccs de yazılan programı  yüklemeye.

remzi

05 Mayıs 2015, 01:43:32 #68 Son düzenlenme: 05 Mayıs 2015, 01:53:17 remzi
Merhabalar...
Az önce sizin programı bende denedim aynı hatayı bendede verdi...

mesaj birleştirme:: 05 Mayıs 2015, 01:53:17

Selim hocam merhabalar...
Bootloader'a CCS'de yazılmış programın hex dosyasını yüklerken arkadaşında resmini gönderdiği hatayı veriyor.
Acaba programı yazarken bir başlangıç adresi felanmı vermemiz gerekiyor.
Elinizde CCS ile yazılmış örnek bir led yakıp söndürme programı var mı?

remzi


adem11a

Hex yüklerken "Error" sorun yaşayan arkadaşlar, BootLoader resimlerden de anlaşıldığı gibi V2.1 ve V2.2 olarak farklı versiyonları var. Bence V2.2 ile tekrar deneyin...

serdararikan

Elimde 18F4550 için hazırladığımız bootloader li deneme kartı için PCB var 40-50 tane civarında.ihtiyacı olana gönderebilirim.

LukeSkywalker

Alıntı yapılan: serdararikan - 02 Temmuz 2015, 16:41:06
Elimde 18F4550 için hazırladığımız bootloader li deneme kartı için PCB var 40-50 tane civarında.ihtiyacı olana gönderebilirim.


Buradaki kartın aynısı mı?

serdararikan

02 Temmuz 2015, 16:52:13 #73 Son düzenlenme: 02 Temmuz 2015, 16:53:35 serdararikan
aynısı değil.resmini gönderebilirim.benim yaptığımda butonlar yok.7805 regülator var.adaptör girişi var.bi jumper iler PC veya adaptörden beslemeyi seçebiliyorsunuz

sarikayali

Hocam iyi günler bu plaketlerden elinizde mevcuttu bingöl de çalışıyorum bana lazım nasıl iletişime geçebiliriz.