Przynajmniej zasoby masz nieograniczone
Zamiast kupować kolejny programator mogłeś zainstalować core, który go obsługuje, zerknąć na konfigurację i skopiować do drugiego core w odpowiedni plik konfiguracyjny, to są zwykłe piliki tekstowe, choć oczywiście nie robiłem tego z pickitem. No i w internetach piszą, że musi być w trybie AVR, protokoły PicKit4 ponoć są tajne, ale to pewnie przestawia X dla AVR, wtedy ma się zachowywać jak Atmel ICE.
Choć do uC Atmela Atmel ICE na pewno będzie lepszy.
Może opisz co robisz? Wyjmuję z pudełka, podłączam kable interfejsu MOSI....
Widzę w farnell taką płytkę z uC jak w ZERO, SPI jest to jest tylko do podłączania zewnętrznych urządzeń SPI jednak, do programowania jest nieuzbrojona listwa do wlutowania kołków z 2 pinowym interfejsem SWD.
Arduino ZERO ma dodatkowy uC który robi za programator debugger, dlatego wgranie bootloadera z tą płytką raczej nie zadziała. Ale jak się wybiera ZERO z native USB port to on gada z uC z pominięciem tego dodatkowego uC, na pewno w DUE to działa, więc ma wgrany bootloader.
Może spraw sobie lepiej taką na czas prototypowania za 5 dych z Farnell, przynajmniej większość niepewności odpada.
https://pl.farnell.com/seeed-studio/1020...t=atsamd21
Takie płytki są chyba dotowane, bo ich cena jest niewiele wyższa niż samych uC.
Jaki masz dokładnie ten procek, może dorzucę go do jakiegoś zamówienia w najbliższym czasie i spróbuję odtworzyć twój problem.
Możesz też zapytać na Elektrodzie, może tam są osoby używające tego uC.
Wpisałem też w Gogole jak wgrać bootloader i tu piszą, że można użyć od Arduino Zero, ale tylko wtedy, gdy jest ten sam uC z 256kB flash i 32kB RAM, a uC SAMD21 jest cała masa w różnych wariantach i nie napisałeś co masz:
https://forum.arduino.cc/t/how-to-upload.../906434/11
Generalnie to nie ma za bardzo co walczyć o ten bootloader jeśli sprzęt robisz dla siebie i masz programator, bootloader działa przez USB i opisane przeze mnie opcje dla Atmega328p tu i tak nie zadziałają.
Chyba że programowanie w ogóle nie działa z Arduino, a tu chcesz napisać program.
A u mnie bez uC błędy wyglądają tak:
Kod:
Open On-Chip Debugger 0.10.0+dev-gf0767a31 (2018-06-11-13:36)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
0
Error while burning bootloader.
Info : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.
none separate
adapter speed: 400 kHz
cortex_m reset_config sysresetreq
Info : CMSIS-DAP: SWD Supported
Info : CMSIS-DAP: JTAG Supported
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : CMSIS-DAP: FW Version = 1.0
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 400 kHz
in procedure 'init'
in procedure 'ocd_bouncer'
Open On-Chip Debugger 0.10.0+dev-gf0767a31 (2018-06-11-13:36)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
0
Error while burning bootloader.
Info : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.
none separate
adapter speed: 400 kHz
cortex_m reset_config sysresetreq
Info : CMSIS-DAP: SWD Supported
Info : CMSIS-DAP: JTAG Supported
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : CMSIS-DAP: FW Version = 1.0
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 400 kHz
in procedure 'init'
in procedure 'ocd_bouncer'
Oczywiście nic nie mam podpięte do programatora.
Edit, doczytałem jeszcze, że ten procek z płytki Farnella, a właściwie cała płytka jest klonem ZERO PRO, czyli właśnie płytki bez wbudowanego ekstra programatora/debuggera. Jak masz SAMD21E17 to nie powinno być problemu z konfiguracją i wgraniem bootloadera, można wtedy korzystać z portu USB do UART bez konieczności stosowania przejściówek.