Atsamd21 programlama ile ilgili sorun...

Başlatan gumush, 05 Ekim 2016, 12:43:15

gumush

Merhaba ,
Atmel Atsamd21G18a kullanarak bir board tasarladim.





Tasarimdaki MCU ve USB kisimlerini referans bir tasarimi alarak yaptim.

Sonrasinda board uzerinde biraktigim reset , gnd , vcc , swdio , swdclk kullanarak bordu programlamaya calistim. Atmel ICE ile tum denemelerime ragmen yapamadim. Simdi J-link edu aldim bootloader'i yazma isini basarili olarak yapabiliyorum.

Ancak bir sorunum var. Bootloader yuklemesi sonrasinda USB'den cihazi gormesi gerekiyor , suruculeri yuklemis olmama ragmen cihazi Unknown Device olarak goruyor.




Burada sorun Hardwareid gibi bir parametreyide icermemesi.

Bootloader olarak Atmel'in SAMD21 icin olan firmware'ini , Adafruit'in Feather M0 ( ayni islemciyi kullandigi board'u ) icin kullandigi firmware'i kullandim.

Yukleme sonrasinda

https://www.youtube.com/watch?v=KnjucqKH6Us

bu sekilde oluyor ve windows'da cihazi bilinmeyen cihaz olarak goruyor.

Bu sekans sanirim cihazin bootloader modunda oldugunu gosteriyor.

Programlama sirasinda Fuse seceneklerini varsayilan olarak biraktim.

NVMCTRL_NVM_LOCK = 0x00
NVMCTRL_PSZ = 0x03
NVMCTRL_NVMP = 0x1000
ADC_LINEARITY_0 = 0x08
ADC_LINEARITY_1 = 0x04
ADC_BIASCAL = 0x03
OSC32K_CAL = 0x3A
USB_TRANSN = 0x05
USB_TRANSP = 0x1D
USB_TRIM = 0x03
DFLL48M_COARSE_CAL = 0x1D
DFLL48M_FINE_CAL = 0x200
ROOM_TEMP_VAL_INT = 0x1D
ROOM_TEMP_VAL_DEC = 0x06
HOT_TEMP_VAL_INT = 0x54
HOT_TEMP_VAL_DEC = 0x09
ROOM_INT1V_VAL = 0x00
HOT_INT1V_VAL = 0xFE
ROOM_ADC_VAL = 0xB1A
HOT_ADC_VAL = 0xD10
NVMCTRL_BOOTPROT = 0x07
NVMCTRL_EEPROM_SIZE = 0x07
BOD33USERLEVEL = 0x07
BOD33_EN = [X]
BOD33_ACTION = 0x01
WDT_ENABLE = [ ]
WDT_ALWAYSON = [ ]
WDT_PER = 0x0B
WDT_WINDOW_0 = [X]
WDT_WINDOW_1 = 0x05
WDT_EWOFFSET = 0x0B
WDT_WEN = [ ]
BOD33_HYST = [ ]
NVMCTRL_REGION_LOCKS = 0xFFFF

OTP1_WORD_0 = 0x10000300 (unknown)
OTP4_WORD_0 = 0x40004007 (unknown)
OTP4_WORD_1 = 0x75F4AE9C (unknown)
OTP4_WORD_2 = 0xFFFFFE00 (unknown)
TEMP_LOG_WORD_0 = 0x95461D (unknown)
TEMP_LOG_WORD_1 = 0xD10B1AFE (unknown)
USER_WORD_0 = 0xD8E0C7FF (valid)
USER_WORD_1 = 0xFFFFFC5D (valid)

Kaynak olarak ;

http://www.atmel.com/images/atmel-42366-sam-ba-bootloader-for-sam-d21_applicationnote_at07175.pdf
http://www.atmel.com/Images/Atmel-42181-SAM-D21_Datasheet.pdf

Destekleriniz simdiden tesekkur ederim.
Hikmet Gumus  izmir

berkay_91

sorunuz Atmelin özel bir konusu ile ilgili, bende Atmelciyim ama bootloader problemlemine bu sitede cevap bulamıyabilirsiniz AVR freaks diye atmelin form sitesi var birde oraya yazın derim

CoşkuN

Alakasız olabilir ama usb kablosunu değiştirip de bir denemekte fayda var, bu tür şeylerde kablo farkedebiliyor.

gumush

#3
Haklisiniz , cok sonradan da olsa aklima gelip farkli bir kablo ile denedim ama sonuc ayni. Gorundugu kadari ile yukleme isleminde sorun yok.

Bu durumda bootloader dogru adrese yukleniyor ise geriye USB baglantisi kaliyor. Oda kolay aslinda sadece d+ ve d- var onda da hata yapmamisimdir diye dusunuyorum ama.

Aklima gelen bootloader'in bir sekilde hatali olmasi yada farkli bir fuse ile yuklenmesi gerektigi.

Tasarimi test etmek icin acaba flash olarak sadece bootloaderi degil birde programi tek hex dosyasi olarak yukleyerek test edebilir miyim diye dusunuyorum.  ( Ornegin 2sn aralikli bir led yanip sonmesi ) gerci bu durumda da yine dogru fuse ile yuklenmesi gerekliligi var.

Bir sekilde cozulur umarim.

mesaj birleştirme:: 06 Ekim 2016, 07:16:52

https://learn.adafruit.com/compiling-m0-atsamd21-bootloader/compile

Burada gosterildigi gibi bootloaderi ayrica derledim ancak burada kendime ait bir usb kodum VID PID 'im olmadigindan ( 5-10k $ veremeyecegimden :) ) o kismi degistirmedim ve sonuc alamadim.

Hikmet Gumus  izmir

engerex

Atmem studio ile bir çok örnek program olmalı. Bunlardan işlemcinize uygun olanı deneyebilir misiniz?

mehmet

Başka bir işletim sistemi ile deneme imkanınız var mı?
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

gumush

Notebook'umda windows10 var onun ile denedim sonuc ayni.
Hikmet Gumus  izmir