SAM-BA operation failed
При загрузке любого кода, даже примеров(MPU9250_DMP_Quaternion или просто Blink) на плату Sparkfun 9DoF IMU Razor M0 выдаёт ошибку при загрузке скетча:
SAM-BA operation failed
Произошла ошибка при загрузке скетча
Arduino: 1.8.5 (Windows 7), Плата:"SparkFun 9DoF Razor IMU M0"
Скетч использует 37920 байт (14%) памяти устройства. Всего доступно 262144 байт.
Перезагрузка платы открытием/закрытием порта COM18 на 1200bps
PORTS {COM18, } / {COM18, } => {}
PORTS {COM18, } / {} => {}
PORTS {} / {} => {}
PORTS {} / {COM19, } => {COM19, }
Found upload port: COM19
C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.7.0/bossac.exe -i -d --port=COM19 -U true -i -e -w -v C:\Users\User\AppData\Local\Temp\arduino_build_250998/MPU9250_DMP_Quaternion_Personal_test.ino.bin -R
Set binary mode
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
version()=v2.0 [Arduino:XYZ] Nov 16 2016 08:56:02
chipId=0x10010005
Connected at 921600 baud
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
Atmel SMART device 0x10010005 found
write(addr=0x20004000,size=0x34)
writeWord(addr=0x20004030,value=0x10)
writeWord(addr=0x20004020,value=0x20008000)
Device : ATSAMD21G18A
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
Chip ID : 10010005
version()=v2.0 [Arduino:XYZ] Nov 16 2016 08:56:02
Version : v2.0 [Arduino:XYZ] Nov 16 2016 08:56:02
Address : 8192
Pages : 3968
Page Size : 64 bytes
Total Size : 248KB
Planes : 1
Lock Regions : 16
Locked : readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
none
readWord(addr=0x41004018)=0
Security : false
Boot Flash : true
readWord(addr=0x40000834)=0x7000a
BOD : true
readWord(addr=0x40000834)=0x7000a
BOR : true
Arduino : FAST_CHIP_ERASE
Arduino : FAST_MULTI_PAGE_WRITE
Arduino : CAN_CHECKSUM_MEMORY_BUFFER
Erase flash
chipErase(addr=0x2000)
done in 0.843 seconds
Write 38244 bytes to flash (598 pages)
write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x2000, size=0x1000)
[=== ] 10% (64/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x3000, size=0x1000)
[====== ] 21% (128/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x4000, size=0x1000)
[========= ] 32% (192/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x5000, size=0x1000)
[============ ] 42% (256/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x6000, size=0x1000)
[================ ] 53% (320/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x7000, size=0x1000)
[=================== ] 64% (384/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x8000, size=0x1000)
[====================== ] 74% (448/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x9000, size=0x1000)
[========================= ] 85% (512/598 pages)write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0xa000, size=0x1000)
[============================ ] 96% (576/598 pages)write(addr=0x20005000,size=0x580)
writeBuffer(scr_addr=0x20005000, dst_addr=0xb000, size=0x580)
SAM-BA operation failed
Произошла ошибка при загрузке скетча
[==============================] 100% (598/598 pages)
done in 0.302 seconds
Verify 38244 bytes of flash with checksum.
checksumBuffer(start_addr=0x2000, size=0x1000) = 7784
checksumBuffer(start_addr=0x3000, size=0x1000) = be4c
checksumBuffer(start_addr=0x4000, size=0x1000) = 4d0d
checksumBuffer(start_addr=0x5000, size=0x1000) = 79c2
checksumBuffer(start_addr=0x6000, size=0x1000) = 6d1
checksumBuffer(start_addr=0x7000, size=0x1000) = f1f2
checksumBuffer(start_addr=0x8000, size=0x1000) = a84e
checksumBuffer(start_addr=0x9000, size=0x1000) = 58d1
checksumBuffer(start_addr=0xa000, size=0x1000) = f6cb
checksumBuffer(start_addr=0xb000, size=0x564) = 7d50
Verify successful
done in 0.060 seconds
CPU reset.
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
writeWord(addr=0xe000ed0c,value=0x5fa0004)
Изначально была ошибка с bossac, решил эту проблему добавив аргумент -b в файле C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.6.20\platform.txt
в строчке tools.bossac.upload.pattern="{path}/{cmd}" {upload.verbose} --port={serial.port.file} -U {upload.native_usb} -i -e -w -v -b "{build.path}/{build.project_name}.bin" -R
Так же пытался решить проблему даунгрейдом IDE Arduino, но не помогло. Читал на форумах, что некоторым помогало загружать через USB 2.0, а не 3.0, сейчас не могу проверить, на ноутбуке только USB 3.0.