platformio / platform-atmelmegaavr

Atmel megaAVR: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/atmelmegaavr
Apache License 2.0
29 stars 22 forks source link

avrdude: Can't find programmer id "curiosity_updi" #31

Closed vishnumaiea closed 2 years ago

vishnumaiea commented 3 years ago

PlatformIO Core Version: 5.1.1 Home Version: 3.3.4 IDE: VS Code Version: 1.60.0 (user setup) Commit: e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff Date: 2021-09-01T10:41:52.311Z Electron: 13.1.8 Chrome: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Windows_NT x64 10.0.19043

I was trying to build a sample project for AVR-IoT WG development board. PlatformIO supports the board, and builds the project using Arduino framework. My code (to blink an LED) compiles fine, but I am seeing issues while uploading. Following is the verbose output from Build command.

> Executing task: C:\Users\Vishnu Mohanan\.platformio\penv\Scripts\platformio.exe run --verbose --target upload --environment avr_iot_wg <

Processing avr_iot_wg (platform: atmelmegaavr; board: avr_iot_wg; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------CONFIGURATION: https://docs.platformio.org/page/boards/atmelmegaavr/avr_iot_wg.html
PLATFORM: Atmel megaAVR (1.5.0) > AVR-IoT WG Development Board
HARDWARE: ATMEGA4808 16MHz, 6KB RAM, 48KB Flash
PACKAGES:
 - framework-arduino-megaavr-megacorex 1.0.9
 - tool-avrdude-megaavr 2.60300.210128 (6.3.0)
 - toolchain-atmelavr 2.70300.201015 (7.3.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 11 compatible libraries
Scanning dependencies...     
No dependencies
Building in release mode
MethodWrapper(["checkprogsize"], [".pio\build\avr_iot_wg\firmware.elf"])
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.1% (used 4 bytes from 6144 bytes)
Flash: [          ]   1.6% (used 792 bytes from 49152 bytes)
.pio\build\avr_iot_wg\firmware.elf  :

section                     size      addr

.data                          0   8398848

.text                        792         0

.bss                           4   8398848

.comment                      17         0

.note.gnu.avr.deviceinfo      64         0

.debug_aranges               128         0

.debug_info                 9628         0

.debug_abbrev               8466         0

.debug_line                  921         0

.debug_str                  3789         0

Total                      23809
<lambda>(["upload"], [".pio\build\avr_iot_wg\firmware.hex"])
AVAILABLE: curiosity_updi
CURRENT: upload_protocol = curiosity_updi
BeforeUpload(["upload"], [".pio\build\avr_iot_wg\firmware.hex"])
avrdude -v -p atmega4808 -C "C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf" -c curiosity_updi -P usb -U flash:w:.pio\build\avr_iot_wg\firmware.hex:i

avrdude: Version 6.3-20201216
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf"

avrdude: Can't find programmer id "curiosity_updi"

Valid programmers are:
  2232HIO          = FT2232H based generic programmer [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:413]
  4232h            = FT4232H based generic programmer [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:441]
  89isp            = Atmel at89isp cable            [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1505]
  abcmini          = ABCmini Board, aka Dick Smith HOTCHIP [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1404]
  alf              = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1364]
  arduino          = Arduino                        [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:361]
  arduino-ft232r   = Arduino: FT232R connected to ISP [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:765]
  arduinoisp       = Arduino ISP Programmer         [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:893]
  arduinoisporg    = Arduino ISP Programmer         [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:902]
  atisp            = AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/>  [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1460]
  atmelice         = Atmel-ICE (ARM/AVR) in JTAG mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1163]
  atmelice_dw      = Atmel-ICE (ARM/AVR) in debugWIRE mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1187]
  atmelice_isp     = Atmel-ICE (ARM/AVR) in ISP mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1195]
  atmelice_pdi     = Atmel-ICE (ARM/AVR) in PDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1171]
  atmelice_updi    = Atmel-ICE (ARM/AVR) in UPDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1179]
  avr109           = Atmel AppNote AVR109 Boot Loader [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:918]
  avr910           = Atmel Low Cost Serial Programmer [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:722]
  avr911           = Atmel AppNote AVR911 AVROSP    [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:925]
  avrftdi          = FT2232D based generic programmer [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:387]
  avrisp           = Atmel AVR ISP                  [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:609]
  avrisp2          = Atmel AVR ISP mkII             [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:629]
  avrispmkII       = Atmel AVR ISP mkII             [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:623]
  avrispv2         = Atmel AVR ISP V2               [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:616]
  bascom           = Bascom SAMPLE programming cable [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1358]
  blaster          = Altera ByteBlaster             [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1482]
  bsd              = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/ [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1313]
  buspirate        = The Bus Pirate                 [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:634]
  buspirate_bb     = The Bus Pirate (bitbang interface, supports TPI) [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:641]   
  butterfly        = Atmel Butterfly Development Board [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:911]
  butterfly_mk     = Mikrokopter.de Butterfly       [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:939]
  bwmega           = BitWizard ftdi_atmega builtin programmer [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:752]
  C232HM           = FT232H based module from FTDI and Glyn.com.au [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:510]      
  c2n232i          = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1623]
  dapa             = Direct AVR Parallel Access cable [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1448]
  dasa             = serial port banging, reset=rts sck=dtr mosi=txd miso=cts [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1595]
  dasa3            = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1609]
  diecimila        = alias for arduino-ft232r       [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:776]
  dragon_dw        = Atmel AVR Dragon in debugWire mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1074]
  dragon_hvsp      = Atmel AVR Dragon in HVSP mode  [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1065]
  dragon_isp       = Atmel AVR Dragon in ISP mode   [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1047]
  dragon_jtag      = Atmel AVR Dragon in JTAG mode  [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1038]
  dragon_pdi       = Atmel AVR Dragon in PDI mode   [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1083]
  dragon_pp        = Atmel AVR Dragon in PP mode    [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1056]
  dt006            = Dontronics DT006               [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1348]
  ehajo-isp        = avr-isp-programmer from eHaJo, http://www.eHaJo.de [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:884] 
  ere-isp-avr      = ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf> [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1471]
  flip1            = FLIP USB DFU protocol version 1 (doc7618) [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1297]
  flip2            = FLIP USB DFU protocol version 2 (AVR4023) [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1304]
  frank-stk200     = Frank STK200                   [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1495]
  ft232r           = FT232R Synchronous BitBang     [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:740]
  ft245r           = FT245R Synchronous BitBang     [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:729]
  futurlec         = Futurlec.com programming cable. [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1415]
  jtag1            = Atmel JTAG ICE (mkI)           [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:952]
  jtag1slow        = Atmel JTAG ICE (mkI)           [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:957]
  jtag2            = Atmel JTAG ICE mkII            [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:987]
  jtag2avr32       = Atmel JTAG ICE mkII im AVR32 mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1020]
  jtag2dw          = Atmel JTAG ICE mkII in debugWire mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1002]
  jtag2fast        = Atmel JTAG ICE mkII            [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:981]
  jtag2isp         = Atmel JTAG ICE mkII in ISP mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:993]
  jtag2pdi         = Atmel JTAG ICE mkII PDI mode   [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1029]
  jtag2slow        = Atmel JTAG ICE mkII            [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:976]
  jtag2updi        = JTAGv2 to UPDI bridge          [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1636]
  jtag3            = Atmel AVR JTAGICE3 in JTAG mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1091]
  jtag3dw          = Atmel AVR JTAGICE3 in debugWIRE mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1107]
  jtag3isp         = Atmel AVR JTAGICE3 in ISP mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1115]
  jtag3pdi         = Atmel AVR JTAGICE3 in PDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1099]
  jtagkey          = Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2 [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:448]
  jtagmkI          = Atmel JTAG ICE (mkI)           [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:944]
  jtagmkII         = Atmel JTAG ICE mkII            [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:968]
  jtagmkII_avr32   = Atmel JTAG ICE mkII im AVR32 mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1011]
  linuxspi         = Use Linux SPI device in /dev/spidev* [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1545]
  lm3s811          = Luminary Micro LM3S811 Eval Board (Rev. A) [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:571]
  mib510           = Crossbow MIB510 programming board [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:673]
  mkbutterfly      = Mikrokopter.de Butterfly       [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:933]
  nibobee          = NIBObee                        [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:848]
  o-link           = O-Link, OpenJTAG from www.100ask.net [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:542]
  openmoko         = Openmoko debug board (v3)      [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:553]
  pavr             = Jason Kyle's pAVR Serial Programmer [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1283]
  pickit2          = MicroChip's PICkit2 Programmer [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1290]
  pickit4_isp      = MPLAB(R) PICkit 4 in ISP mode  [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1259]
  pickit4_updi     = MPLAB(R) PICkit 4 in UPDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1243]
  picoweb          = Picoweb Programming Cable, http://www.picoweb.net/ [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1393]  pkobn_updi       = PKOB nano (nEDBG) in UPDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1275]
  pony-stk200      = Pony Prog STK200               [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1341]
  ponyser          = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1573]
  powerdebugger    = Atmel PowerDebugger (ARM/AVR) in JTAG mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1203]        
  powerdebugger_dw = Atmel PowerDebugger (ARM/AVR) in debugWire mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1227]   
  powerdebugger_isp = Atmel PowerDebugger (ARM/AVR) in ISP mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1235]        
  powerdebugger_pdi = Atmel PowerDebugger (ARM/AVR) in PDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1211]        
  powerdebugger_updi = Atmel PowerDebugger (ARM/AVR) in UPDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1219]      
  siprog           = Lancos SI-Prog <http://www.lancos.com/siprogsch.html> [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1586]
  snap_isp         = MPLAB(R) SNAP in ISP mode      [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1267]
  snap_updi        = MPLAB(R) SNAP in UPDI mode     [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1251]
  sp12             = Steve Bolt's Programmer        [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1381]
  stk200           = STK200                         [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1325]
  stk500           = Atmel STK500                   [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:659]
  stk500hvsp       = Atmel STK500 V2 in high-voltage serial programming mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:694]
  stk500pp         = Atmel STK500 V2 in parallel programming mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:687]       
  stk500v1         = Atmel STK500 Version 1.x firmware [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:666]
  stk500v2         = Atmel STK500 Version 2.x firmware [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:680]
  stk600           = Atmel STK600                   [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:701]
  stk600hvsp       = Atmel STK600 in high-voltage serial programming mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:715]
  stk600pp         = Atmel STK600 in parallel programming mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:708]
  ttl232r          = FTDI TTL232R-5V with ICSP adapter [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:812]
  tumpa            = TIAO USB Multi-Protocol Adapter [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:592]
  UM232H           = FT232H based module from FTDI and Glyn.com.au [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:483]      
  uncompatino      = uncompatino with all pairs of pins shorted [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:788]
  usbasp           = USBasp, http://www.fischl.de/usbasp/ [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:823]
  usbasp-clone     = Any usbasp clone with correct VID/PID [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:859]
  usbtiny          = USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:874]
  wiring           = Wiring                         [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:354]
  xil              = Xilinx JTAG cable              [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1434]
  xplainedmini     = Atmel AVR XplainedMini in ISP mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1139]
  xplainedmini_dw  = Atmel AVR XplainedMini in debugWIRE mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1147]
  xplainedmini_updi = Atmel AVR XplainedMini in UPDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1155]
  xplainedpro      = Atmel AVR XplainedPro in JTAG mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1123]
  xplainedpro_updi = Atmel AVR XplainedPro in UPDI mode [C:\Users\Vishnu Mohanan\.platformio\packages\tool-avrdude-megaavr\avrdude.conf:1131]

*** [upload] Error 1
================================================================ [FAILED] Took 0.84 seconds ================================================================
The terminal process "C:\Users\Vishnu Mohanan\.platformio\penv\Scripts\platformio.exe 'run', '--verbose', '--target', 'upload', '--environment', 'avr_iot_wg'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

As you can see, avrdude complains about not being able to find the default programmer for the target. The configuration file used by avrdude is the default one shipped with PlatformIO. I have my device connected and detected by PlatformIO as seen below.

image

Thinking this could be an issue with outdated packages, I tried updating/upgrading everything.

PS D:\Code\PlatformIO\AVR-IoT\Blink\AVR-IoT-Blink> pio update
Updating platformio/contrib-piohome           3.3.4 @ ~3.3.4                     [Up-to-date]
Updating platformio/tool-scons                4.40100.2 @ ~4.40100.2             [Incompatible 4.40200.0]
Updating platformio/tool-cppcheck             1.230.0 @ ~1.230.0                 [Incompatible 1.241.210401]

Platform Manager 
================ 
Platform atmelavr
--------
Updating platformio/atmelavr                  3.4.0                              [Up-to-date]
Updating platformio/toolchain-atmelavr        1.70300.191015 @ ~1.70300.0        [Up-to-date]

Platform atmelmegaavr
--------
Updating platformio/atmelmegaavr              1.5.0                              [Up-to-date]
Updating platformio/toolchain-atmelavr        1.70300.191015 @ ~1.70300.0        [Up-to-date]
Updating platformio/framework-arduino-megaavr-megacorex 1.0.9 @ ~1.0.7                     [Up-to-date]

Library Manager
===============
Library Storage: C:\Users\Vishnu Mohanan\.platformio\lib
PS D:\Code\PlatformIO\AVR-IoT\Blink\AVR-IoT-Blink> pio upgrade
You're up-to-date!
PlatformIO 5.1.1 is currently the newest version available.

Is it not possible to upload binary to the board via USB port? My fallback option was to drag and drop the HEX file to the mass storage device appearing as CURIOSITY.

Please look into the issue and consider updating the support or suggesting a solution.

MCUdude commented 3 years ago

@valeros the following programmer options appear to be lacking in avrdude.conf:

programmer
  id    = "curiosity_updi";
  desc  = "Curiosity in UPDI mode";
  type  = "jtagice3_updi";
  connection_type = usb;
  usbpid = 0x2175;
;

programmer
  id    = "pkobn_updi";
  desc  = "PKOB nano (nEDBG) in UPDI mode";
  type  = "jtagice3_updi";
  connection_type = usb;
  usbpid = 0x2175;
 ;
MCUdude commented 2 years ago

@valeros can you add these missing programmers to avrdude.conf?

brunob45 commented 2 years ago

As of tool-avrdude-megaavr 2.60300.210128 (6.3.0), pkobn_updi is present in both windows and linux versions. In windows, I'm able to upload a sketch to my Curiosity Nano AVR128DA48 board with the package "as-is", but in linux, avrdude seems to be missing the dependency "libhidapi", and must be recompiled. When I compile avrdude from source on ubuntu with the package libhidapi-dev installed, the upload works fine.