CCS 18F4550 HID bootloader arıyorum?

Başlatan remzi, 07 Nisan 2015, 13:13:07

tacettin

hocam bir de aşağıdaki gibi dener misin?
#build(reset=0x1000, interrupt=0x1008) 
#ORG 0x0000,0x0FFF {}

thenorthstar

Alıntı yapılan: tacettin - 13 Nisan 2015, 11:59:33
hocam bir de aşağıdaki gibi dener misin?
#build(reset=0x1000, interrupt=0x1008) 
#ORG 0x0000,0x0FFF {}

Denedim ama olmadı hocam.  :(
Hocam lnker dosyasındaki ayarlar aşağıdaki gibi.

/** V E C T O R  R E M A P P I N G *******************************************/
#pragma code high_vector=0x08
void interrupt_at_high_vector(void)
{
    _asm goto 0x1108 _endasm
}
#pragma code low_vector=0x18
void interrupt_at_low_vector(void)
{
    _asm goto 0x1118 _endasm
}
#pragma code



// File: BootModified.18f4550.lkr
LIBPATH .

FILES c018i.o
FILES clib.lib
FILES p18f4550.lib


//Modified linker script to be used with the USB HID Bootloader firmware.
CODEPAGE   NAME=vectors    START=0x0               END=0x1F           PROTECTED
CODEPAGE   NAME=BootPage   START=0x20          	   END=0x10FF
CODEPAGE   NAME=page       START=0x1100            END=0x7FFF		  PROTECTED
CODEPAGE   NAME=idlocs     START=0x200000          END=0x200007       PROTECTED
CODEPAGE   NAME=config     START=0x300000          END=0x30000D       PROTECTED
CODEPAGE   NAME=devid      START=0x3FFFFE          END=0x3FFFFF       PROTECTED
CODEPAGE   NAME=eedata     START=0xF00000          END=0xF000FF       PROTECTED

ACCESSBANK NAME=accessram  START=0x0            END=0x5F
DATABANK   NAME=gpr0       START=0x60           END=0xFF
DATABANK   NAME=gpr1       START=0x100          END=0x1FF
DATABANK   NAME=gpr2       START=0x200          END=0x2FF
DATABANK   NAME=gpr3       START=0x300          END=0x3FF
DATABANK   NAME=usb4       START=0x400          END=0x4FF          PROTECTED
DATABANK   NAME=usb5       START=0x500          END=0x5FF          PROTECTED
DATABANK   NAME=usb6       START=0x600          END=0x6FF          PROTECTED
DATABANK   NAME=usb7       START=0x700          END=0x7FF          PROTECTED
ACCESSBANK NAME=accesssfr  START=0xF60          END=0xFFF          PROTECTED

SECTION    NAME=CONFIG     ROM=config

STACK SIZE=0x70 RAM=gpr3

SECTION	   NAME=USB_VARS   RAM=usb4

DaRt

Hocam geçen hafta microchipin usb hid bootloaderi ile usb arayüzünün çalışmadığını ardından ccs nin cdc bootloaderının kullanıp usb hid arayüzünü çalıştırdığımı yazmış hatta örnek kod göndermiştim. Bakıyorum ki hala debeleniyorsun microchipin usb hid bootloaderi ile. Ben de bir hafta uğraştım. Usb device monitoring programı ile usbden gelen dataları bile inceledim ama olmuyor kesinlikle. Ben pes ettim microchipin usb bootloadrından vazgeçtim. Sen neden bu kadar diretiyorsun hid bootloaderda hid arayüzünü çalışmaya. Ccsnin cdc  booloaderını kullansana.

thenorthstar

Alıntı yapılan: DaRt - 13 Nisan 2015, 13:36:18
Hocam geçen hafta microchipin usb hid bootloaderi ile usb arayüzünün çalışmadığını ardından ccs nin cdc bootloaderının kullanıp usb hid arayüzünü çalıştırdığımı yazmış hatta örnek kod göndermiştim. Bakıyorum ki hala debeleniyorsun microchipin usb hid bootloaderi ile. Ben de bir hafta uğraştım. Usb device monitoring programı ile usbden gelen dataları bile inceledim ama olmuyor kesinlikle. Ben pes ettim microchipin usb bootloadrından vazgeçtim. Sen neden bu kadar diretiyorsun hid bootloaderda hid arayüzünü çalışmaya. Ccsnin cdc  booloaderını kullansana.
Teşekkür ederim Hocam,
Sanırım bende vaz geçeceğim Microchip HID den . Sizin verdiğiniz örnekte sadece secure crt ile mi program yükleyebilir yoruz?

remzi

Alıntı yapılan: DaRt - 13 Nisan 2015, 13:36:18
Hocam geçen hafta microchipin usb hid bootloaderi ile usb arayüzünün çalışmadığını ardından ccs nin cdc bootloaderının kullanıp usb hid arayüzünü çalıştırdığımı yazmış hatta örnek kod göndermiştim. Bakıyorum ki hala debeleniyorsun microchipin usb hid bootloaderi ile. Ben de bir hafta uğraştım. Usb device monitoring programı ile usbden gelen dataları bile inceledim ama olmuyor kesinlikle. Ben pes ettim microchipin usb bootloadrından vazgeçtim. Sen neden bu kadar diretiyorsun hid bootloaderda hid arayüzünü çalışmaya. Ccsnin cdc  booloaderını kullansana.

Nasıl yapıldığını, hangi hex'i kulllanacağımızı birde örnek kod gönderebilirmisin? Boot butonu B4

DaRt

#35
Alıntı yapılan: thenorthstar - 13 Nisan 2015, 14:05:23
Teşekkür ederim Hocam,
Sanırım bende vaz geçeceğim Microchip HID den . Sizin verdiğiniz örnekte sadece secure crt ile mi program yükleyebilir yoruz?
dosya gönderebilen herhangi bir seri terminal programı olur diye tahmin ediyorum ancak denemedim. bir kaç tane deneyip yazarım.

Düzelti:   adet binary file gönderebilen seri terminal programı ile denedim ikisi de sorunsuz gönderdi hexleri.

http://www.hw-group.com/products/hercules/index_en.html

bu program ücretsiz basit kullanışlı bir program bunu kullanacağım bundan sonra. picin bağlı olduğu comportu seç  38400 bps olarak ayarla portu aç ekrana sağ tıklayıp send file ile göndereceğin hexi seç bu kadarç

selimkoc

https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/

Problemsiz ve kullanımı kolay mikroe'nin USB HID Bootloaderı  ve deney kiti. Tavsiye ederim.

thenorthstar

#37
Alıntı yapılan: DaRt - 13 Nisan 2015, 15:32:28
dosya gönderebilen herhangi bir seri terminal programı olur diye tahmin ediyorum ancak denemedim. bir kaç tane deneyip yazarım.

Düzelti:   adet binary file gönderebilen seri terminal programı ile denedim ikisi de sorunsuz gönderdi hexleri.

http://www.hw-group.com/products/hercules/index_en.html

bu program ücretsiz basit kullanışlı bir program bunu kullanacağım bundan sonra. picin bağlı olduğu comportu seç  38400 bps olarak ayarla portu aç ekrana sağ tıklayıp send file ile göndereceğin hexi seç bu kadarç

@DaRt Hocam, bunda peki Bootloader moduna nasıl alıyoruz, butonlamı yoksa enerji verildikten birkaç sn içerisinde mi bootloder moda geçiyor.

Alıntı yapılan: selimkoc - 13 Nisan 2015, 15:50:42
https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/

Problemsiz ve kullanımı kolay mikroe'nin USB HID Bootloaderı  ve deney kiti. Tavsiye ederim.

@selimkoc Hocam, 18F4550 için  MicroC bootloader projesi ve Bootloader ile yüklemek için CCS de yazılmış bir örnek uygulama verebilir misiniz?
bildiğim kadarı ile Micro C bootloader da butona basmak gerekmiyor karta enerji verdikten sonra 5 sn içerisinde connect butonuna basmak yeterli oluyor.


DaRt

A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.

thenorthstar

Alıntı yapılan: DaRt - 13 Nisan 2015, 16:30:00
A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.

Teşekkür ederim Hocam ,
Deneyip sonuçu paylaşacağım.

remzi

Alıntı yapılan: DaRt - 13 Nisan 2015, 16:30:00
A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.
Elinde CCS 4.068 olan var mı?
İnterntteki linkler çok eski. Hepsinin süresi geçmiş.

thenorthstar

#41
Alıntı yapılan: remzi - 13 Nisan 2015, 17:25:09
Elinde CCS 4.068 olan var mı?
İnterntteki linkler çok eski. Hepsinin süresi geçmiş.

Buyur Hocam.

https://mega.co.nz/#!5QlQhJpD!wz2JOYuZhlRa415B4KrHpB-C88bn_vKbZwtnSKhUy5I

mesaj birleştirme:: 14 Nisan 2015, 08:22:38

Alıntı yapılan: DaRt - 07 Nisan 2015, 15:09:15
Geçen hafta ben de aynı konuda debelendim durdum. 320 sitesindekini sorunsuz çalıştırdım ancak bootloader yükledikten sonra bootloader modunda usb bağlantı çalışıyor ancak bootloader ile asıl programı yğüklediğimde asıl programdaki usb arayüzü çalışmıyordu. Aynı koddan bootloader ifadelerini çıkarıp seri programlayıcı ile pice attığımda yazdığım usb arayüzü sorunsuz çalışıyordu. Ayrıca verilen örnek programda bootloader için ayrılması gerekn bölüm yok dolayısı ile en basit program bile çalışmıyordu. ben de zorunlu olarak terk ettim bu bootloaderı. Daha sonra ccs içerisindeki örnek bootloader kodlarını derledim. yükledim usb bağlantısı dahil sorunsuz çalıştı. 320 volt sitesindeki örnekler baz alınarak yaptığım kendi çalışmalarımı ekledim. ister kodu tekrar derleyin ister içerisindeki hazır hexi kullanın sorunsuz çalışıyor. birde örnek program ekledim bootloader ile sorunsuz çalışıyor. takıldığınız konuda yardımcı olmaya çalışırım.

https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq

https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq


Not: Bootloadera program yüklemek için secure crt 7,3 diye bir program kullanıyorum. 30 günlük deneme sürümü var. zaman dolunca başka bir program arayacağım.
Alıntı yapılan: DaRt - 13 Nisan 2015, 16:30:00
A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.


@DaRt Hocam, daha önce verdiğiniz bootloader ve cdc için olan örneği indirdim. botloader da sadece A4 ü B4 yaptım ve butonu pull up yaptım. USB ye takarken Butona basılı tuttum fakat yeni donanım olarak hiç birşey görmedi.

DaRt

Vallaha Hocam bende sorunsuz çalışıyor. Donanımsal bir sorun yoksa sende de çalışması gerkeli. Ya pic, ya programlayıcı bir yerlerde sorun var illaki. Pic programlayıcım iş yerinde yarın sabah B4 e göre tekrar derleyip denerim ama değişen bir şey olacağını sanmıyorum açıkçası.

thenorthstar

Alıntı yapılan: DaRt - 14 Nisan 2015, 21:03:05
Vallaha Hocam bende sorunsuz çalışıyor. Donanımsal bir sorun yoksa sende de çalışması gerkeli. Ya pic, ya programlayıcı bir yerlerde sorun var illaki. Pic programlayıcım iş yerinde yarın sabah B4 e göre tekrar derleyip denerim ama değişen bir şey olacağını sanmıyorum açıkçası.

Merhaba Hocam,
Değiştirdiğim yer burası Hocam.
Bootloader moda geçince yeni donanın bulundu diyip drivernı yüklemesi gerekiyor değil mi hocam.
USB to Com olarak gözükmesi gerekmiyor mu.
PC programı varsa onuda gönderebilir misin?
void main(void) 
{
   //we use PIN_A4 as an event to determine if we should start the USB CDC
   //bootloader.  if it is not low (button is not pressed) then goto the 
   //application, else if is low (button is pressed) then do the bootloader.
   if(!input(PIN_B4))  // Burayı A4 yerine B4 yaptım.
   {
      g_InBootloader = TRUE;
      usb_cdc_init();
      usb_init();
      while(!usb_enumerated());
      load_program();
   }

   g_InBootloader = FALSE;
  #ASM
   goto APPLICATION_START
  #ENDASM
}


Yaptığım devrede bu hocam.


DaRt

Ben bugün  B4e göre derleyip denedim sorunsuz çalıştır. Senin bilgisayarla ilgili sıkıntın var sanırım.