2016-11-29 13 views
0

Arduino는 다음을 성공적으로 수행합니다. 그러나 명령 줄에서 시도해 보면 실패합니다. 왜 그런가요?Arduino OpenOCD 명령은 IDE에서는 작동하지만 CMD 프롬프트에서는 작동하지 않습니다. 내가 뭘 놓치고 있니? (NRF)

C:\Users\???\AppData\Local\Arduino15\packages\sandeepmistry\tools\openocd\0.10.0-dev.nrf5/bin/openocd.exe -d2 
-f interface/jlink.cfg 
-c transport select swd; 
-f target/nrf52.cfg 
-c program {{C:\???\EddystoneURL.ino.hex}} verify reset; shutdown; 

결과 :

Open On-Chip Debugger 0.10.0-dev-00254-g696fc0a (2016-04-10-10:13) 
Licensed under GNU GPL v2 
For bug reports, read 
    http://openocd.org/doc/doxygen/bugs.html 
debug_level: 2 
swd 
adapter speed: 10000 kHz 
cortex_m reset_config sysresetreq 
jaylink: Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED. 
Info : No device selected, using first device. 
Info : J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 21 2016 17:58:20 
Info : Hardware version: 1.00 
Info : VTarget = 3.300 V 
Info : Reduced speed from 10000 kHz to 1000 kHz (maximum). 
Info : Reduced speed from 10000 kHz to 1000 kHz (maximum). 
Info : clock speed 10000 kHz 
Info : SWD IDCODE 0x2ba01477 
Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints 
nrf52.cpu: target state: halted 
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x000008e4 msp: 0x20000400 
** Programming Started ** 
auto erase enabled 
Info : nRF51822-QFN48(build code: B00) 512kB Flash 
Warn : using fast async flash loader. This is currently supported 
Warn : only with ST-Link and CMSIS-DAP. If you have issues, add 
Warn : "set WORKAREASIZE 0" before sourcing nrf51.cfg to disable it 
wrote 28672 bytes from file C:\???\EddystoneURL.ino.hex in 0.835260s (33.522 KiB/s) 
** Programming Finished ** 
** Verify Started ** 
verified 26768 bytes in 0.144835s (180.486 KiB/s) 
** Verified OK ** 
** Resetting Target ** 
shutdown command invoked 

내가 명령 줄에서 위를 할 때 나는 다음과 같은 얻을 : 나는 그것을 만들기 위해 진수 파일의 전체 경로의를 교체 한

C:\WINDOWS\system32>C:\Users\???\AppData\Local\Arduino15\packages\sandeepmistry\tools\openocd\0.10.0-dev.nrf5/bin/openocd.exe -d2 -f interface/jlink.cfg -c transport select swd; -f target/nrf52.cfg -c program {{C:\???\EddystoneURL.ino.hex}} verify reset; shutdown; 
Open On-Chip Debugger 0.10.0-dev-00254-g696fc0a (2016-04-10-10:13) 
Licensed under GNU GPL v2 
For bug reports, read 
     http://openocd.org/doc/doxygen/bugs.html 
debug_level: 2 
interface_transports transport ... 
transport 
    transport init 
    transport list 
    transport select [transport_name] 
transport : command requires more arguments 
in procedure 'transport' 

을 읽기 쉽습니다.

저는 미리 만든 바이너리를 업로드하기 위해 도구 체인으로 Arduino를 사용하려고합니다. IDE에서 나는 그것을 할 수 있지만 Arduino Built 코드 만 사용할 수 있습니다.

무엇이 누락 되었습니까?

+1

Linux를 사용하십시오. Windows 터미널이 제대로 작동하지 않습니다. –

+0

interface/jlink.cfg ad target/nrf52.cfg가 상대 경로 인 경우 다른 폴더에서 openocd.exe를 시작한 것일 수 있으며 이러한 파일을 찾을 수 없습니다. – Pawel

답변

0

나는 그것을 알아 냈다 !!!

명령 매개 변수를 따옴표로 묶어야합니다. 그렇지 않으면 Windows는 공백으로 인해 다음 매개 변수라고 생각합니다.

공백이있는 느낌의 폴더/파일 이름은 동일한 문제가 있습니다.

C:\Users\???\AppData\Local\Arduino15\packages\sandeepmistry\tools\openocd\0.10.0-dev.nrf5/bin/openocd.exe -d2 
-f interface/jlink.cfg 
-c "transport select swd;" 
-f target/nrf52.cfg 
-c "program {{C:\???\EddystoneURL.ino.hex}} verify reset; shutdown;"