Hi flightbear,
Please show me the XIAO_openocd.cfg you used.
I think your cfg file is fine. I tried various things in my environment, but same error did not reproduce.
The cause of the āNVM programming errorā is described as follows when looking at ā22.8.7. Statusā in the SAMD21G18A datasheet.
āAn invalid command and/or a bad keyword was/were written in the NVM Command register since this bit was last cleared.ā
Iāve also read an article that changing āadapter_nsrst_delayā from 100 to 200 may work correctly. But I donāt know if it works.
Iām sorry Iām not an OpenOCD expert, so I donāt know any more.
Thank you msfujino
there are some problems with Arduino IDE working with XIAO
I will send back the chip to seeedstudio
Their engineers will test the chip and fix it
If I have any news I will remind you.
Hello,
Iāve followed the guide and flashed the official bootloader (from https://github.com/Seeed-Studio/ArduinoCore-samd/blob/master/bootloaders/XIAOM0/bootloader-XIAO_m0-v3.7.0-33-g90ff611-dirty.bin), as well as the v3.13 bootloader from adafruit. The openocd command exits without errors.
In both cases the orange LED flashes after programming the XIAO, so it seems to do something, but the computer doesnāt recognize the board. I also tried to āresetā the board as per instructions from the wiki, but the result is the same (orange LED flashing).
Has anyone else had this problem?
Hi pata,
Does āafter programming the XIAOā mean the bootloader flash? Or a sketch upload?
Does āthe orange LED flashesā mean that the LED slowly brightens and slowly darkens? Or ON / OFF?
Does āthe computer doesnāt recognize the boardā mean that XIAO does not appear in Device Manager?
Hello and thanks for the quick reply
- I havenāt really gotten to upload a sketch. I only tried flashing the bootloader with both āprogram ā¦ verifyā (from this guide) and āflash write_image ā¦ā (from How to unbrick a dead xiao using raspberry pi [ GUIDE ][openocd]).
- The orange LED doesnāt turn completely off, as in a blink sketch. It brightens and darkens but itās not as slow as when entering bootloader mode with the other XIAO I have. Actually itās much quicker (maybe OSC malfunction?).
- The XIAO doesnāt appear in Device Manager.
When you flash the bootloader with ST-LINK, do you get the following message?
** Programming Started **
** Programming Finished **
** Verify Started **
** Verified OK **
Could you show me your screenshot?
Yes, apparently the programming is ok.
EDIT (since max replies reached):
I tried to āunbrickā the XIAO because none of my machines would recognize it anymore (as in not seen by Device Manager or lsusb).
Itās hard to say what sketch was uploaded before because Iāve been trying to unbrick it for a while now. But I believe that sketch shouldnāt be there anymore since I used command āat91samd chip-eraseā a couple of times before (after that the orange LED is off).
Why did you have to flush the bootloader in the first place?
Does the last uploaded sketch have code to make the orange LED bright / dark?
Worked like charm!!!
Thank you so much. I recovered a Xiao (stoped working after a few days transmitting LoRaWan to ThethingsNetwork on battery- brown out??). But most of all it was pure joy when I saw the Xiao port again.
Thank you!
Hi, Pedotech
Iām glad I could help you.
You may also find the following link useful.
I canāt say for sure because our PC environment are different, but it sounds like there is a problem with the USB driver.
I suggest you look into the USB driver āZadigā.
Thank you it worked!
Hi PANOK,
I think the situation is exactly the same as post #32. It sounds like there is a problem with the USB driver. I suggest you look into the USB driver āZadigā.
@msfujino Would you be able to give me a quick hand?
Iām getting the error:
I ended up soldering the cables directly to the pads and using a multimeter I ensured there is connection between the ST-link V2 and the microcontroller. I also swapped SWDIO with SWCLK just in case I got it wrong the first time around but still no luck.
Iām 100% sure the wiring is correct, I checked it a bunch of times and also rewired it from scratch a few times.
I was looking around and found this article (Programming RP2040 with ST-LINK - Electrical Engineering Stack Exchange) that explains how the ST-LINK V2 canāt connect to the Seeed XIAO RP2040. Someone said to do the update however I have no idea what that guide is talking about. I updated it to the latest version (V2.J37.S7) using the āSTM32 ST-linkā software.
Did you have to do some weird update or did it just work?
Am I missing something?
Any Idea on how I can fix it?
Thank you,
Andrea
Hi Andrea_Nizzola,
If you have an unbricked XIAO_SAMD21, the method in the link below is very easy.
āHow to unbrick a dead XIAO using a XIAO(DAPLink) and OpenOCDā
Hi Andrea_Nizzola,
I have made a RescueTool for ST-Link.
Unzip the file to a suitabule location and rewrite xxxxxxxx to yours in two places in āflash.batā.
Double-click āflash.batā to write the bootloader.
XIAO_BootloaderRescueTool_STLink.zip (10.5 KB)