Go Down

Topic: MKR ZERO Bootloader & USB Driver problems (Read 346 times) previous topic - next topic

AdrianZa

Hello,

I make my own board using ATSAMD21G18A and I want to use MKR ZERO bootloader, but I have a problem  :smiley-confuse:

When I burn MKR ZERO bootloader from Arduiono IDE (1.6.19), seems to be OK (burn_MKR_ZERO.png), but no COM Port appears in Device Manager even if I click or I double click the RESET button.

When I burn samd21_sam_ba_usbcdc bootloader from Atmel using AS7, Bossa Program Port (COM19) appear in Device Manager.

So, what I`m doing wrong?

Thank you!

Phil-D

Hi

From Atmel studio do a full chip erase, then make sure the NVM protection is disabled by clicking on Fuses, from the list at the top find "USER_WORD_0.NVMCTRL_BOOTPROT" and set this to 0x07 to disable the NVM protection.  Then click Program to update the chip.

Now try and burn the bootloader again and see if you get something working.

Also have you connected a 32KHz crystal, what hardware design have you followed?

Regards

Phil


AdrianZa

Hello Phil-D,

Thanks for your reply.

I set the USER_WORD_0.NVMCTRL_BOOTPROT to 0x07.
I burn again and... the same "nothing"  :(  (burn_2.png)
What is little bit strange, whatever bootloader I burn (from Adafruit or SparkFun), except from Arduino, work like a charm.

Yes, I have connected the 32KHz crystal (ATSAMD21G18.pdf).

Thank you again for your time!

Phil-D

#3
Jul 17, 2018, 09:45 am Last Edit: Jul 17, 2018, 09:48 am by Phil-D
Hi

On your design you have no capacitors on the 32KHz crystal, usually some capacitors are required to get it up and running correctly.  Perhaps the crystal isn't working and the Ardunio bootloader is setting the chip up to use that crystal and so halts, whereas other bootloaders are using the internal oscillators?

I suspect there are some registers you can check from a running program on the working bootloaders to report what timers/crystals/oscillators are in use which might answer that question.  Another dirty trick to tell is on the working bootloaders run the blink LED example and whilst it is running short out the crystal.  If it is using the external crystal the LED will stop blinking as the CPU will stop, if it carries on blinking, chances are those bootloaders are not using the external crystal which would then point to perhaps the crystal is the issue.

Regards

Phil

AdrianZa

Ok, I will put the capacitors and test again.

AdrianZa

I make the changes and... it`s working PERFECT!

Thank you!
You make my day!

Phil-D

Hi

That's great news, glad to hear it is working.

Regards

Phil



Go Up